BLOG-N-PLAY.COM
Is White Listing going Mainstream?
TOP THREE LINKS YOU MUST CLICK ON


How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
'The Java backlash,' writes Bruce Eckel, 'has been building up steam, and we're starting to see some fundamental shifts because of it.' Java has been around for 10 years yet applets are not the primary way that we interact with the web. Applets are not ubiquitous, and everyone got excited about AJAX instead.
Reader Feedback: Page 1 of 3

I take issue with this hyperbole: "The noble promise of CSS has not panned out. After years, it’s still implemented inconsistently across browsers. As long as you’re using HTML and CSS, you’ll always wonder if what you’ve created is going to produce an unpleasant effect on different browsers."

CSS _has_ panned out. It has only _minor_ inconsistencies across current browsers if written correctly. A well-informed CSS author does _not_ have to worry, because s/he knows the few inconsistencies and is prepared for them. Saying that "Browsers other than IE or Firefox can often get it even worse" suggests that there is a large user base for browsers other than IE or Firefox, and then neglects the fact that Safari gets CSS right too!

If you are trying to sell widgets to masses, you need something that can run in any browser. In this situation scripting languages are attractive and Java is not.

But this is not what we do, and I don't care about applets, or browsers. There are many reasons to write software that can take advantage of the Internet, and they do not all require your system to be able to talk to some kid in Bangladesh.

Many applications are written to support large, complex business operations. They need to be secure, and must be supported for many years. From our perspective, browsers are unnecessary overhead, and full of their own performance, compatibility, and security problems. Forget the browser and learn to write a Java socket server and you will immediately lose a ton of weight, gain complete control over your environment, and be able to build maintainable, industrial strength applications with Java, that are faster and more responsive than any of the these other technologies.

I cringe when I look at javascript / Ajax to do what we are already doing in Java. I don't want to be the poor fool that has to maintain that type of system across different platforms, over a significant period of time. Flash is nice for what it does, but even if it had the range and depth of Java, which it doesn't, it is too expensive.

If you plan to develop a system that will last, you need a platform with a substantial foundation and long term vision. Java is the only thing out there that fills the bill for us.

I fully agree to Bruce's comments about the deficiencies of Ajax - especially for large enterprise applications. But there are also some strong arguments in favor of a pure Java based RIA solution that Bruce missed to mention. One is the maturity of Swing's widget set, another is that focusing on one technology allows for much more cheaper development and maintenance than working with a mix of technologies. Have a look at http://www.indicthreads.com/interviews/501/swing_ui_mature_ajax_infancy.... for a more detailed discussion of this topic.

Today, I read in computerworld that Sun is promoting "SAMP" - Solaris, Apache, MySQL, and Perl/Python/PHP as their answer to the LAMP open source stack.
http://cwflyris.computerworld.com/t/1284293/1065289/51940/2/

My first reaction - where's the J (for Java) in that discussion? Why in the world is PHP being promoted over Java for web applications?

I hope that the solution will come from a new generation of Browser technology, something that will be able to properly deal with staeful applications delivered over the web.
I think that AJAX is just a temporary workaround, unless
1. it will be standardized (it is ridicolous to see in excess of 300 toolkits for AJAX)
2. It will be able to live its life outside of the browser.

On the other hand, if this does not happen, I think that the browser will be dismissed by business in favour of Microsoft WPF or Adobe Apollo.

O, here we go again!
It's seems to be en vogue to question the viability of Java these days. The mine-is-better-than-yours
wagon is moving in full swing and all who has had a bad experience with Java is ready to jump on board. Today it's Flex, before, it was Ajax, then before that Ruby, before that C#/.Net, and the list goes on.

Eckel made some valid points that are absolutely true. However, others needs to be placed in proper context. Java was never meant to be domain-specific platform. Java was never meant to be the killer language for the web. The Java Applet, IMO, was more of a marketing move to get the Java platform noticed early during the days of the web browser's explosion.

One of the the problems with Java is its lofty goal of being everything to everybody on any
OS platform (with some efforts). While that goal is still being redefined, one has to admit that having the ability to run an app on Windows, Linux, Mac, Unix, and wherever Java
is ported (with minimal effort) has been accomplished (yes it has, don't roll your eyes).

Although Java has the ability to be ported from one hosted environment to another, it has not been that easy:
- The debacle with Applet plug-in which was exacerbated with Microsoft having different version of the VM and the plugin
- Launching An App: Until version 1.4 launching a desktop app was a chore which required shell scripting, or use special launcher apps.
- Infidelity of Host OS Look & Feel: Yes this was big with me. The Java application always looked odd and out of place on the desktop. However, Swing in 1.6 solved that nicely by having the underlying OS draw the widgets
- No Hooks to Underlying Host OS: There were no easy way to hook into the desktop environment itself unless you resorted to JNI. Again, in 1.6, the engineers started to offer programmatic hooks to the targeted desktop to include things such as system tray icons and popup menus, etc.

I like Flex and was very impressed by its abilities (plan to use it for some of my offerings). It is great for very specific content-rich multi-media applications. I want
to see more data-/form-driven business solutions solved with Flex (not just audio/video players, or animated panels). Not saying that a complex business problem can't be implemented in Flex, but I have not seen an order entry, or backoffice, or sales automation tools implemented in Flex.
Demoware is great until you try to solve a real world problem with it and then it shows its limitations (that's how we all found about Java's limitations, by trying to solve real world problems).

Another thing that no one has pointed out (or I have not seen), is that while most of Eckel's views are valid... and Sun and the rest of the Java community should take them seriously ... his views are not unbiased. They are part of Adobe's massive marketing campaign to get Flex in front of more developers. His article about Java's limitation is part of a well-calculated and paid ad campaign from Adobe...

Anyway, I hope this discussion will lead to better Java features and not just senseless pointless discussions. Yes Java is dethrone-able (all languages, platforms, frameworks are). But I think Java still has a lot more to offer... Java and Flex will co-exit with no problems... and level-headed managers will select the proper technology base on merit and what solves their problems not based on hype and FUD.

The dilemma that is posed by Flex vx. AJAX vs. Java (applets) is as old as the computer industry itself. I'll briefly comment on what I think are the two primary themes of the posts I've read:

1. Flex is propriatary (propriatary vs. standard)
2. Flex costs money.

1. Flex provides a solution to a problem now. If it provides a good one (something that the market will determine), why not use it? This is a business, not a religion. Should we go back in time and invalidate all of the useful applications (and the business they enabled) created with Powerbuilder, Visual Basic, Natural, Easytrieve, Forte, Filemaker Pro, and the plethera of other vendor specific tools and languages? I think not. Would it have been nicer if every one of those tools used the same standard language? Probably, but the bottom line is, they didn't, and that does not diminish the value they brought. All tools have a lifecycle, and companies would still bear a cost to upgrade. That still holds true even if the underlying language is a "standard".

2. Who said a company can't make money selling a product? Flex costs money. So what? It cost Adobe money to develop it. Perhaps all those who use open-source and free (or very low cost) tools would then perform their services for free also? Nuff said.

I reiterate my position: If Flex provides a good solution to the current problem and makes people successful, that is a good thing.

Thanks to Bruce for starting an important dialog and getting people to think about it.

Regards.

Bruce's points are interesting and well taken. Flash is a compelling UI platform to consider. I would comment on the "bait-and-hook" title of the article that seems to have been designed to lure any readers who may have otherwise skipped yet another article on Flex / Flash. Also, any paragraph that opens with "The only obvious solution is ..." MUST meet a formal objection according to the laws of skepticism. After a careful analysis of the choices, I certainly can't agree that is is the "only obvious solution". I'm convinced Bruce believes in Flash and Flex as the RIA platform of our times, but this writing seems much more like an infomercial than an objective article.

Two points to make...

1. Flash is ubiquitous on full-blown computers, but it isn't widely available on more esoteric devices, like my Palm PDA and my Motorola cellphone. Why isn't it, one has to wonder, and will it ever be? A relentless trend, gaining steam daily, is away from the desktop and further and further into a brave new world of ubiquitous computing far removed from the traditional desktop (or even laptop) computing environment.

2. Flash, to my knowledge, has always been and still remains an accessibility nightmare. Again, another trend/truth: we all benefit from a focus on accesibility. Almost anyone stuck in a traffic jam has thgouht, "Gee, wouldn't it be great if I could access my email (or newsfeed, or calendar, or whatever) via voice while I'm sitting here in my car?" You don't have to be blind to have a need for accessible software, you just need to be in a specific context. I understand Adobe, and Macromedia before them, have said they are committed to making Flash accessible -- but what's the reality? Is Flash really more accessible now, both in terms of inherent capability, but even more important, in the mindset of the developers who employ it? My gut feeling is -- at least for the latter concern -- the answer is no, Flash developers don't rank accessibility high on their list of concerns. Too bad for us all.

Note that there is no disclaimer, like the Artima blog where this originally was pulled, that Bruce Tate got a fat contract teaching Adobe Flex stuff. Huge conflict of interest

Very thorough work. I expected a badly biased article but, in my brief scroll through, you seemed to be open and pointed out the issues that are there and how to get around them without pushing one thing over another (although Flash Platform applications win 85% of the time anyway; IMO).

In response to "FLGuy commented on the 12 Feb 2007:", the SDK is free so you could totally create full blown Flex applications without needing to spend 1 dime...well...penny either. ;-)

Interesting article, though quite the misleading headline. Something more like "Why you should drop AJAX and Applets and move to Flash." Of course, at a site like ajaxworldmagazine.com, not a friendly headline, even if more accurate.

While the basic content of the article is sound, most of the referenced links are juvenile at best. "I can't install Java on my BSD machine so it must suck" doesn't really go a long way to convince me that Java as an RIA is in its final death throes.

Great article with poignant commentary - really made me think.

Regarding the installation of Java, however, my experience for the last few installs has been a smooth, question-free download and install which then worked seamlessly.

very good analysis

Thanks for a very well thought out and interesting article. You raise a lot of good points about the issues with other 'cross platform' solutions.

Unfortunately, (imho) there are still at least two (possibly 3) major reasons to avoid using Flex:

1) Single vendor source for tools.

Clearly, this is a major problem. (As we have all learned, sooner or later this will be a problem - from a cost perspective if nothing else, and also when a vendor breaks something, doesn't add the necessary new functionality or upgrades in a timely manner, sells or discontinues the product ... etc. Not a good situation to tie ourselves to.)

2) As far I as can tell, the cost of an IDE/modern development environment is still prohibitive for evaluation, learning, and developing of small, inexpensive apps.

3) Users increasingly equate flash with ad - hence the many flash blocking tools for FireFox and other browsers. And just telling users that this app requires that you enable Flash is a problem.

It's (a little) like ActiveX - no matter the justification for a particular app, many people will not enable it (with some good reason).

Until these problems are solved, I will very likely avoid adopting Flash or Flex.

I would be interested in follow up articles addressing alternative/second sources (open source or third party) support for development of Flash apps - and apps using other cross platform languages/technologies.

Thanks again for a very interesting and thought provoking article.


Feedback Pages:


SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS

SYS-CON FEATURED WHITEPAPERS

I spoke on a panel at Mashup Camp this week on why Ajax Standards matter. I was quoted by Doug Hensc...
JavaScript is pretty much everywhere you look these days, reaching far beyond your desktop browser. ...
Adobe and ARM are gonna put Flash Player 10 and AIR, the stuff of web video and rich Internet apps, ...
Keynote Systems has expanded its on-demand mobile test and measurement network to include Beijing, C...
We are using software applications more than ever before. As the demand for new capabilities and fun...
ILOG has announced ILOG JViews 8.5, the latest version of ILOG’s Java-based visualization suite, w...
GigaSpaces Technologies has announced that Nati Shalom, founder and CTO, will be presenting at The C...
The BlackBerry Technical Seminar is back this fall with breakthrough new sessions you won’t want t...
"More than a half dozen conferences and events targeting Virtualization and Cloud Computing canceled...
AIR adds to Flex has a pretty straightforward API for working with local files and directories. Ther...
SYS-CON Events announced today that more than 40 Cloud technology providers, as well as Virtualizati...
Although the term "Web 2.0" does not have a rigorous definition, it is commonly used in at least two...
SYS-CON Events announced today that the leading global Cloud Computing technology provider Mosso to ...
Well it appears that non-compete agreements may carry a bit more weight in New York than they do in ...
SYS-CON Events announced today that Cloud Computing Conference & Expo (www.cloudcomputingexpo.com) w...
How do cloud platforms assure that your application will perform well and meet the high expectations...
Achieving an effective disaster recovery solution has always been difficult and expensive. Often com...
VMware, the bruised and bloodied virtualization leader, will announce today that it’s going into t...
Particularly in a means of moving PowerBuilder applications to the web. What I’m looking for doesn...
The line between what is considered a cloud and what is paramount to hosting is a blurry line at the...
ADS BY GOOGLE