Skip to main content

Advantage of JAVA on the Desktop

15 replies [Last post]
janunezc
Offline
Joined: 2003-06-11

So this site looks terrific. I am still wondering why it is required 2 accounts one for forums and other for java.net but anyway it will become more perfect over time...

I am new to java. I have developed several projects in MS.Net and VB6, MS Access and so on... and they are pretty much good.

I like Java because its community approach and because of its platform independency.

May be some body visiting this forum can tell me what advantages may I find in Java to develop and deploy projects in it.

I know I can offer lower cost solutions to my customers using Linux and Java, and use those same applications in Windows costumers. That is pretty good, but to learn Java I need to invest some time and money, and I would like to have some good reasons from experienced people in regards the ROI of such investment.

Thanks.

JN

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
charles.armstrong
Offline
Joined: 2006-02-17

Localization is a major advantage of Swing. The reason for this is that with Layout managers the length of words changing presents no problem. With Fixed placement on Windows Forms you have to redesign the screen for every natural language you want to use. There are more than 3000 of these in the world...

dmikesell
Offline
Joined: 2004-10-12

Try 6809 (according to Ethnologue, Volume 1: Languages of the World, Fourteenth Edition, 2000)... and we're developing a Java-based publishing and library management package to handle all of them (ambitious, aren't we? :) )

Java doesn't solve all of the problems involved with world-wide localization, but it's given us a mighty fine starting point.

tomkerigan
Offline
Joined: 2003-06-11

Further to the above question, I was wondering if Sun has published any whitepapers/guidelines/articles/etc that compare Java on the desktop to .NET and give convincing (read: factual) arguments that support the fact that Java is better suited for desktop application development than .NET. I know that I can come up with a list of reasons why I would target Java for rich-client development over the .NET technologies, but a lot of it is not backed up with any substantial facts.

Any help that can be provided would be most appreciated.

janunezc
Offline
Joined: 2003-06-11

I want to enforce the post from tomkerigan in two terms:

Such white papers would be a good start point.

But from another point of view, I think it is not a matter of competency between .Net and Java platforms, since there are always techniques to integrate them...

It is a matter of what applicability or advantage can we take from Java on the Desktop Applications Environment... and what level of effort it would require.

I think Java IS engineered for Security, IS engineered for portability, and IS engineered for several more advantages, including a wide range of scalability.

One advantage I foresee on .Net over Java is that .Net is plenty of good documentation and integration to other wide spreaded technologies such as Windows XP and office XP.

In terms of the documentation, you can find a lot of samples of immediate applicability in terms of developing applications that take advantage of things like OLAP, like MS Web Components, pivot tables, pivot charts and so on... and those components have plenty value added in the Desktop environment...

SO a good start would be what advantage can Java take from such components?

For example, I can think of an accounting system, built in MS Access XP, that connects to SQL/ORACLE/Whatever ODBC/OLEDB provider that also has pivot table/pivot chart functionality that is very useful for the accounting customers, but that I have no idea on how to implement in Linux or Unix using Java or any other similar technology, at least not as quick as with .Net or MS Access XP.

So finding documentation to TAKE ADVANTAGE from good existing technologies such as those MS ones is KEY for a good implementation of solutions with JAVA...

JN

Anonymous

> Such white papers would be a good start point.

Agree.

> I think Java IS engineered for Security, IS
> engineered for portability, and IS engineered for
> several more advantages, including a wide range of
> scalability.
>
> One advantage I foresee on .Net over Java is that
> .Net is plenty of good documentation and integration
> to other wide spreaded technologies such as Windows
> XP and office XP.

Is this really an advantage of .Net? I don't think so. Sure, it IS well documented, it IS fine integrated in XP and it work well with other Microsoft technologies, but remeber that you are BOUND to Microsoft! You cannot go without Microsoft and you are forced to do anything that Gates wants you to do.

> In terms of the documentation, you can find a lot of
> samples of immediate applicability in terms of
> developing applications that take advantage of things
> like OLAP, like MS Web Components, pivot tables,
> pivot charts and so on... and those components have
> plenty value added in the Desktop environment...

These technologies are easy to implement and htey work well with each other. But if I take a look at the last years and think of security issues in Microsoft components I am really careful. I just don't want to build something with lets say Vidual Basic click, click click, a bit MS IIS, some Access or MS SQL, have a fast implemntation, deliver that stuff and 5 days later my customer get hit by the latest internet worm. I'm sure he is going to kill me.

> SO a good start would be what advantage can Java take
> from such components?
>
> For example, I can think of an accounting system,
> built in MS Access XP, that connects to
> SQL/ORACLE/Whatever ODBC/OLEDB provider that also has
> pivot table/pivot chart functionality that is very
> useful for the accounting customers, but that I have
> no idea on how to implement in Linux or Unix using
> Java or any other similar technology, at least not as
> quick as with .Net or MS Access XP.

OK, let's take that case. Your customer has an environment with MS SQL Server, Windows workstations and some Linux / whatever boxes. He needs an accounting system for all workstations.
Solution one with .Net: The Windows environment should be easy, lets take Visual Basic for the workstation application and ODBC as connector. But what are you doing with the Linux machines? Maybe you could use Mono ( a free .Net implementation from the Liux community, organized by Ximian) which is currently at version 0.5 somewhat (shich doesn't mean that it is bad). You could try to reuse your code, but there is problem one: The GUI is at least currently not compatible. So you need to redevelop and rewrite it. And everytime the GUi is changing, you have to hcnage 2 versions: The Linxu Mono stuff and the Windows origional .Net stuff.
Solution 2: Lets try it with Java. Instead of ODBC we are using a JDBC driver. What you need is maybe JDBC for MS SQL Windows version and MS SQL Linux version (if it is a pure Java implementation you need just one file). You don't need to modify it, just copy it to a warm place. Now do your GUI stuff in Swing or maybe SWT (from Eclipse project). This implementation might take a bit longer, but just because Java GUI is not that easy to drag and drop like Visual Basic. When you are done you have a version that runs on Windows AND on Linux. The only difference between both implemtations is the classpath where you put your JDBC drivers files in.

> So finding documentation to TAKE ADVANTAGE from good
> existing technologies such as those MS ones is KEY
> for a good implementation of solutions with JAVA...

There are a lot of good places to search for (he, like here!), or take http://www.javaworld.com for example. A lot of nice articles can be found there.

For example, as I started Java GUI development - and before I just did know that AWT is something for Applets - I googled around, tried some examples and it was pretty easy to get started.

mswanson
Offline
Joined: 2006-02-17

One of the greatest advantages I see is security. Think about a virus-free and spyware-free world (wrt desktop applications). Here are the reasons why I believe Java developers should write secure unsigned Java Web Start applications:

http://www.scheduleworld.com/itsYourLife.html

Comments welcome.

janunezc
Offline
Joined: 2003-06-11

The explanation of the Sandbox to achieve virus/spyware free world is very illustrative (SW)

I just installed the SW application, but unable to run I do not know why. It just asks for licence agreement and then shows a window with no content.

mswanson
Offline
Joined: 2006-02-17

> The explanation of the Sandbox to achieve
> virus/spyware free world is very illustrative (SW)

Thank you.

> I just installed the SW application, but unable to
> run I do not know why. It just asks for licence
> agreement and then shows a window with no content.

Hmm. One other person had a similar situation and it turned out he had multiple versions of the JRE/JWS installed under Windows. The solution was to remove all of them (especially older JWS versions) and reinstall. (JRE 1.4.2-beta works really well btw).

Cheers.

Anonymous

> I know I can offer lower cost solutions to my
> customers using Linux and Java, and use those same
> applications in Windows costumers. That is pretty
> good, but to learn Java I need to invest some time
> and money, and I would like to have some good reasons
> from experienced people in regards the ROI of such
> investment.
>

For myself the platform independence is the most important point. Java is quite fast to learn, you cannot do that hard errors as in C++, there are a lot of resources on the web, great books, if you design right you can reuse your code very good.

You say you did .Net before, so maybe you had a look at C#, it's not that different to Java. But: It depends on what yre you doing for your client? Do you develop stand alone applications? Server side appliccations?

I'm glad that I started with Java some years ago. Here in Germany we have a lot of requests form people who are using Lotus Notes and want to combine it with IBM Websphere. There are a lot of requests in the past month and ont he other hand no - absolutely no one - has asked for a .Net implmentation so far or even questioned what .Net is and if it is a better solution for a specific environment.

janunezc
Offline
Joined: 2003-06-11

Hi Mamoulian (Patrick)

I have a question for you. Since I am in Cental Americas, the environment here is very filled Up with Microsoft platform things.

Is it the same at Germany, For example, what % you develop for Unix/Linux and what % for Microsoft... And of course what % for Web and what % for Desktop apps?

As I stated previously, I have been thinking in more cost-effective solutions to my customers based on Linux/Java and, if the design is correct, the same apps would be easy to port to those customers that use Windows.

By the way, I have some relatives in Germany, in Colonia... How far are you located from Colonia? I expect to travel to Germany some day to visit them, May be I can also visit your enterprise just to have a wider enterprise culture overview or event to do some business... who knows?

JN

Anonymous

> Hi Mamoulian (Patrick)
>
> I have a question for you. Since I am in Cental
> Americas, the environment here is very filled Up with
> Microsoft platform things.

The desktop environment is for sure at leat 95% Microsoft. But recently I had customers with lets say 200 Windows desktops and 20 Mac or Linux machines. Because I was using Java and my application was running on all their machines my solution was preferred.

> Is it the same at Germany, For example, what % you
> develop for Unix/Linux and what % for Microsoft...
> And of course what % for Web and what % for Desktop
> apps?

From what I am doing, about 70% is server development. And in the server section I usualy find Linux, SUN Solaris and IBM whatever servers. Microsoft boxes are used for things like Exchange and Lotus Notes (in smaller Notes environments), file servers etc. I don't know much companies who are using Windows servers for heavy load tasks.

> As I stated previously, I have been thinking in more
> cost-effective solutions to my customers based on
> Linux/Java and, if the design is correct, the same
> apps would be easy to port to those customers that
> use Windows.

The last desktop application I developed on a Windows box at my company. As it was in beta stage, I started it te first time on Linux and it worked fine! There were just a few things to do like some component adjustments that didn't look very good on Linux, but the "hard" things like network communication etc were running.

Maybe I get you wrong, but do you mean you want to develop under Linux to be more cost-effective? For development, I would choose the system were you feel at home, which in my case is a Mac. Why is it cost-effective if you develop with linux instead of Windows or whatever? I'd say that the time to port your application to other platforms counts, not what you are developing with.

> By the way, I have some relatives in Germany, in
> Colonia... How far are you located from Colonia? I
> expect to travel to Germany some day to visit them,
> May be I can also visit your enterprise just to have
> a wider enterprise culture overview or event to do
> some business... who knows?

Oh, cologne is about 450 km away from hamburg, but I spent some years in Duesseldorf, which is quite near to Cologne. You are welcome if you come over, I know some great pubs here ;)

jeff
Offline
Joined: 2003-06-10

Hi Juan! Welcome...

I'll try and answer a couple of your questions, but I'd like to let others outside Sun comment on the "experience" part of your question. I'll admit - I'm a bit biased ;)

[b]So this site looks terrific. I am still wondering why it is required 2 accounts one for forums and other for java.net [/b]

Yep, this is something we are still working out.

Currently our Jive forums are run here on one server, while the open source management part of our community is hosted by collabnet on another server (java.net). Anwyays, we're looking into fixing the dual login "problem" asap.

[b]Also please clarify me what the difference is between Java Developer Connection Forum and this Java.Net community forum[/b]

The JDC is a wonderful resource, and we fully support people checking it out. However, I do realize that there can easily be some confusion in that there are technical forums both there and here.

I suppose the biggest difference between the two is one of intent; we want javadesktop.org's focus to be one of community built around the java desktop, i.e. rich java clients.

Maybe the best explaination is through this example: one of the common questions we get inside Sun is "are we the only ones using Swing?" (for example). Of course, we talk to *tons* of customers day in and day out who use Swing. It's just that they don't know of each other.

What we're hoping to do with javadesktop.org is to bring the desktop java developer community together; to help like-minded developers find and help each other. We envision this happening in a myriad of ways, the primary two being:

Via open source projects hosted on java.net that are catagorized together in one spot so that interested developers can easily find, use, and participate in said projects.

Second, by creating a set of forums that focuses primarily on java desktop issues, we hope that this will be a gathering place of both java desktop newbies and experts alike. And yes, that includes the desktop java teams here inside Sun - our engineering teams will be actively reading and participating on these forums.

Well, enough of my rambling (for now) :)

jeff

janunezc
Offline
Joined: 2003-06-11

OK, Thanks for the information... just pls. do not call me Juan...;-)

I still think the difference between JDC forums and Java.Net forums is minimal. I really forsee the difference in the open source build up behind .net part.

Some how, I forsee that JDC may be evoluting to java.net since at the end the last one may become more complete and innovative.

Just a branch prediction...;-)

Anyway I like this a lot and hope it grows up as well as my knowledge of Java platform. I really hope somebody else will reply this topic to complement the advantages part...

Message was edited by: janunezc

jeff
Offline
Joined: 2003-06-10

[b] OK, Thanks for the information... just pls. do not call me Juan...[/b]

Eek! My sincerest apologies -- the dyslexic in me switched around the letters in "janu". :)

janunezc
Offline
Joined: 2003-06-11

Also please clarify me what the difference is between Java Developer Connection Forum and this Java.Net community forum

Thanks in advance!