InfoQ

News

James Gosling on Adobe Flash / Flex / AIR

Posted by Jon Rose on Jan 04, 2008 03:11 AM

Community
Architecture,
Java
Topics
Rich Internet Apps,
Silverlight,
Rich Client / Desktop
Tags
Apollo,
Adobe Integrated Runtime,
JavaFX Script,
Adobe
Kathleen Richards of Redmond Developer News published an interview with Sun Microsystems’ James Gosling, in which they discussed JavaFX and its competition in the RIA space. Gosling shared some pointed thoughts on how he believes JavaFX compares to the Flash / Flex platform.
Question: How will JavaFX be positioned with regard to Microsoft Silverlight and Adobe AIR?

Answer: It certainly competes with both of those. I think we have a much broader and more capable API set. We've got a much stronger security story and cross-platform story and a really strong performance story. And I think our deliverable will be really nice.
Gosling specifically on the Flash / Flex platform:
Question: As organizations think about building rich Internet applications or rich client applications, when should developers look at JavaFX over competing technologies?

Answer: If you look at something like Flash, when you get to the much more advanced stuff -- richer interfaces, more complex network protocols, more complex APIs -- it really falls short. We've had a platform for years that can build rich Internet applications that are extremely sophisticated.

Our issue hasn't really been, can you build interesting rich Internet applications? But that it's difficult. And most of our efforts really are around making a lot of it easier.
John Dowdell of Adobe Systems responded to Gosling. He first welcomed those needing additional network protocols to use the feature request form:
If there's a particular network protocol you need, then please let the Player team know.
He followed on by noting in his own way that JavaFX is not shipping, while Flex is due for a 3.0 release in early 2008:
If you think you can do something better, then please ship it.
Dowdell also touches on the deployment innovations that Adobe is attempting to bring by briefly clarifying a major difference between JavaFX, Silverlight, and Adobe AIR technologies:
A follow-up question, "How will JavaFX be positioned with regard to Microsoft Silverlight and Adobe AIR?", fails to distinguish between in-the-browser and beyond-the-browser runtimes.
Gosling comments will undoubtedly get a reaction from Adobe Flex / Air enthusiasts. It should be interesting to see how the platforms compare once JavaFX reaches a production status.

11 comments

Reply

Unfair comparison by Per Olesen Posted Jan 4, 2008 4:41 AM
Re: Unfair comparison by Jesse Kuhnert Posted Jan 4, 2008 8:33 AM
Re: Unfair comparison by Gavin Siller Posted Jan 6, 2008 2:20 AM
Re: Unfair comparison by Roger Voss Posted Jan 6, 2008 8:47 PM
Re: Unfair comparison by James Strachan Posted Jan 7, 2008 7:32 AM
Re: Unfair comparison by Karsten Silz Posted Jan 9, 2008 9:17 AM
Re: Unfair comparison by Jon Rose Posted Jan 9, 2008 2:59 PM
Wait and see by Matt Giacomini Posted Jan 4, 2008 11:00 AM
Strange by Jon Rose Posted Jan 4, 2008 1:20 PM
Re: Strange by Geoffrey Wiseman Posted Jan 17, 2008 2:38 PM
Gosling seriously doesn't get it does he? by Clinton Begin Posted Jan 9, 2008 9:42 AM
  1. Back to top

    Unfair comparison

    Jan 4, 2008 4:41 AM by Per Olesen

    When James Gosling comments on Flex/Flash:

    Answer: If you look at something like Flash, when you get to the much more advanced stuff -- richer interfaces, more complex network protocols, more complex APIs -- it really falls short. We've had a platform for years that can build rich Internet applications that are extremely sophisticated.
    Please note, that you cannot compare flex/flash directly with JavaFX. It would be more fair to compare JavaFX with Adobes AIR technology, which then also has a much broader API and scenarios of use, than Flex/Flash does. Tech Per

  2. Back to top

    Re: Unfair comparison

    Jan 4, 2008 8:33 AM by Jesse Kuhnert

    Yeah, I don't know. Seeing things like this don't make me feel very comforatable about flex. (or air, or whatever you want to call it) http://ducktyper.com/2007/12/27/flush

  3. Back to top

    Wait and see

    Jan 4, 2008 11:00 AM by Matt Giacomini

    I really hope that JavaFX closes the gap between Flex/AIR and Java. I consider myself a Java developer, but have had to learn Flex/AIR because of the deployment and swing shortfalls with Java. I really hope that JavaFX and the consumer JRE fix these issues, but I'm going to wait till I see it to believe it. I think very highly of Gosling, and it does look like JavaFX has potential. That said I'm going to hold my excitement until I have download a finished product that works as advertised. Flex/AIR has a lot of polish and generally work as advertised. I would go so far as to say that Flex is an underrated product right now. I have been pleasantly surprised by its component model. Out of the box there is a wide array of components, they are easy to use, and provide a very reasonable amount of flexibility. In response to ducktyper.com/2007/12/27/flush: Yes there is a bug, or in this case a design issue. As if we have not seen similar things in Java over the years. These things get fixed.

  4. Back to top

    Strange

    Jan 4, 2008 1:20 PM by Jon Rose

    It is strange to me to question the completeness of the Flash / Flex platform when JavaFX is not shipping (isn’t that slightly more incomplete?). Also, I have not heard a cry for additional network protocols in Flash. Is this really an issue for those building RIA’s?

    Our issue hasn't really been, can you build interesting rich Internet applications? But that it's difficult.
    As a longtime Java developer, I would agree that building user interfaces in Java is too difficult. However, I am not overly optimistic that JavaFX will simplify Java UI development. Over the years, Sun has introduced a number of frameworks/api’s that promised to improve UI development, but have never made much headway in simplifying things.

  5. Back to top

    Re: Unfair comparison

    Jan 6, 2008 2:20 AM by Gavin Siller

    I'm with Matt. I too have experienced a few hiccups with Flex/Air. This stuff happens in every language/platform and does get addressed.

  6. Back to top

    Re: Unfair comparison

    Jan 6, 2008 8:47 PM by Roger Voss

    Our Flex app used Flex HttpService and Flex XmlSocket for I/O and has had no issues with those. We use XmlSocket to perform server-side push. Flex also has a Flex Socket class for doing arbitrary socket based programming, including binary data protocols. In conjunction to the recently open sourced BlazeDS server-side messaging system, Flex supports the Comet pattern (which enables pushing events/messages to the client in a manner compatible to HTTP and port 80/443 firewall restrictions). BlazeDS beta is available pre-integrated from Adobe with Tomcat 6. Tomcat 6 has support for a Java NIO-based HTTP listener and the Comet Events asynchronous programming model for Java servlets. This should enable a rather high scalability of individual servers using Comet-based messaging in conjunction to Flex clients. I wonder if Mr. Gosling may have been referring to UDP?

  7. Back to top

    Re: Unfair comparison

    Jan 7, 2008 7:32 AM by James Strachan

    There's also an ActionScript STOMP client so that any Flash/Flex application can use a message broker like Apache ActiveMQ to provide reliable messaging inside the application. James Iona Open Source Integration

  8. Back to top

    Re: Unfair comparison

    Jan 9, 2008 9:17 AM by Karsten Silz

    I could imagine "two kinds of network protocols missing in Flash" that Mr. Gosling refers to: - UDP on the low level, and - SMTP / POP / IMAP / JMS / JMX etc on the high level. Now if you build a consumer application with Flash / Flex, you really can only count on HTTP and HTTPS being available and not being blocked, so those protocols are not really missed there. For an application inside a company you could use these protocols, but I think the trend here goes to web service / REST / XML over HTTP protocols for loose coupling between the client and the server which are all possible in Flash Player, so the missing protocols may not be a huge issue there, either. The one thing that people could really complain about is lack of UDP for efficient audio / video streaming (as brought up in a comment to the response by Abobe mentioned in the article). The Adobe fellow said there that UDP often gets blocked which is why Flash uses TCP, and one can't argue that Flash is the king of video streaming on the Internet now. Of course, you could try UDP and fall back to TCP if fails (as suggested in another comment there).

  9. Back to top

    Gosling seriously doesn't get it does he?

    Jan 9, 2008 9:42 AM by Clinton Begin

    >> I think we have a much broader and more capable API set. >> We've had a platform for years that can build [RIA] that are extremely sophisticated. Capable, yes. Practical, no. C++ has a capable API set and can build extremely sophisticated applications... That doesn't make me want to use C++. Flash is popular because it's accessible and gets the job done with some flair. I actually don't like Flash all that much (as a user and a developer). But at least the people behind it aren't completely clueless about the wants and needs of the market. >> If you think you can do something better, then please ship it. Nice.

  10. Back to top

    Re: Unfair comparison

    Jan 9, 2008 2:59 PM by Jon Rose

    One of the more compelling parts of using Flex is the ease of integrating the Flash UI with a Java backend. So, it is a big nothing to still make use of the protocols available in Java on the backend. Making a UDP call or sending an email from a MXML page (flex page) would be like coding this into a JSP page. In most every Java application I have worked on that is a no-no, as most architectures delegate these types of things to the backend anyway. So, are you really loosing anything here? Or, are you just eliminating the ability for developers to code business logic in the wrong tier?

  11. Back to top

    Re: Strange

    Jan 17, 2008 2:38 PM by Geoffrey Wiseman

    I recently worked on a project that chose Java Web Start over AIR in part because there didn't seem to be a robust implementation of FTP at the time. Also, we recently considered a Flex front end for REST services only to find out that Flash can't easily support all HTTP verbs without an intervening proxy. So I guess, yeah, it is.

Exclusive Content

Intentional Software - Democratizing Software Creation

Business users doing programming? Simonyi and Kolk presents how Intentional Software offers a radical new software approach that separates business knowledge from software engineering knowledge.

Getting Started with Grails

Jason Rudolph discusses Java/Grails integration, Grails plugins, creating a Grails sample application, Grails app structure, data querying and persistence, validation, controllers and tag libraries.

Creating Product Owner Success

The Scrum Product Owner role is powerful, valuable and challenging to implement. It brings healthier relationships between customers and developers, and competitive advantage - if you do it right.

Book Excerpt and Interview: Effective Java, Second Edition

Effective Java, Second Edition by Joshua Bloch is an updated version of the classic first edition, which won a 2001 Jolt Award. InfoQ asked Bloch questions about the areas that the new edition covers.

Tapestry for Nonbelievers

A new article by I. Drobiazko and R. Zubairov introduces v. 5 of the Apache Tapestry component-oriented web framework. The tutorial shows how to create a component and covers IoC in Tapestry and Ajax.

Pete Lacey on REST and Web Services

In this interview, Burton Group consultant Pete Lacey talks to Stefan Tilkov about his disillusionment with SOAP, his opinion on REST, and addresses some of the perceived shortcomings REST vs. WS-*.

Business Natural Languages Development in Ruby

Jay Fields presents his concept of Business Natural Languages - a type of Domain Specific Languages geared towards being readable by domain experts.

Distributed Version Control Systems: A Not-So-Quick Guide Through

Adoption and interest for Distributed Version Control Systems is constantly rising. We will introduce the concept of DVCS and have a look at 3 actors in the area: git, Mercurial and Bazaar.