Javalobby: RIA and AJAX - Selecting the best product

Discussions

News: Javalobby: RIA and AJAX - Selecting the best product

  1. Javalobby has posted an article called "Rich Internet Applications and AJAX - Selecting the best product" by Marc Domenig that walks through a decision tree to determine if a RIA technology like AJAX or applets is appropriate for a given application, or if the application should stick to strictly HTML.

    HTML is preferred for cases where the user interface is simple; AJAX is suggested for arenas in which the driver is ubiquity (because everyone has a browser, and most people will have browsers for which AJAX is appropriate), Java on the client side is preferred for "industrial strength," whether in the form of an actual application (delivered via Webstart or downloaded) or in the form of applets; Flash is suggested for fancy animations.

    The author helpfully walks through each of these in great detail, discussing where each is strong and concerns associated with each.

    What do you think?

    Threaded Messages (50)

  2. Missing[ Go to top ]

    I think many evaluation issues are missing here. For example - what about Portals? what about marketing? what about strength of tools? There are many more web tools for web development that for Java SWING.
    I am not saying Java SWING is bad. I am just not sure I get what is industrial strength in GUI applications (high availability? performance? they are usually more effected by the business logic than by anything else).
  3. Ok, it doesn't take account of *everything*, but at least it helps you decide what User Interface to use , rather than just use the coolest / latest / one with most marketing buzz.

    Paul, FirstPartners.net
  4. The RIA Reality.[ Go to top ]

    I've been keeping track of the entire RIA space trying to be as objective as possible. I'm not one of those types to get religious about a technology.

    - You must determine what your criteria is in order to be successful. Everyone's criteria will be different. Developer expertise, integration with existing technology, community size, corporate backing, documentation maturity, compatibility, budget, time, etc...

    - With the current production version of Flex being $15K/CPU, it puts Flex in a very niche Enterprise category. With Flex2 however that all changes.

    - Flex2 is the most robust feature laden end-to-end offering in the RIA space. Push capability, messaging, instantiation of remote Java Objects, invocation of Coldfusion CFC's, Javascript integration, etc... In terms of features and capabilities Flex2 currently has no competition.

    - The most expensive thing when it comes to development is development time. Flex development is extremely fast. You can make very robust applications in a short amount of time; the out of the box widgets allow you to focus on business logic instead of presentation logic. In AJAX a lot of your development time needs to be invested in the presentation aspect; this will change over time as companies like Backbase and TIBCO provide more ajax widgets.

    - In the AJAX world you have to invest in heavy QA costs. All browsers, and OS's all have their differences. VS the Flash player which provides a stable and consistent platform regardless of browser or OS.

    - AJAX is limited to just XML. When building heavy duty Enterprise applications that work with large volumes of data, XML is too verbose. The AMF protocol is binary and hence very lightweight in terms of data transmission. Massive performance differences in AMF vs XML. And AMF is open, so you can't use the anti proprietary argument.

    - Flex/Flash's biggest limitation is that it is not easy to make pop-up windows of the app that exist outside the main player's frame. In Ajax this is easy, using the regular window.open() Javascript call like you would with any popup window in HTML. This is a major drawback in terms of capitalizing on desktop real estate.

    - Overall... AJAX is good if you have no budget and have to work with whatever you have. Otherwise as a developer you get paid to get things done, and Flex facilitates that.
  5. The RIA Reality.[ Go to top ]

    - You must determine what your criteria is in order to be successful. Everyone's criteria will be different. Developer expertise, integration with existing technology, community size, corporate backing, documentation maturity, compatibility, budget, time, etc...
    One of first on every list in enterprise category is "Product/company independent"
    - Flex2 is the most robust feature laden end-to-end offering in the RIA space. Push capability, messaging, instantiation of remote Java Objects, invocation of Coldfusion CFC's, Javascript integration, etc... . In terms of features and capabilities Flex2 currently has no competition.-
    Java VM Standard Edition 5.0
    The most expensive thing when it comes to development is development time.
    Most expensive is full rewrite when Adobe change price marks (like MS did 4 years ago).
    - In the AJAX world you have to invest in heavy QA costs. All browsers, and OS's all have their differences. VS the Flash player which provides a stable and consistent platform regardless of browser or OS.
    And if you found bug in implementation you are totaly in hands of Adobe.
    - Overall... AJAX is good if you have no budget and have to work with whatever you have. Otherwise as a developer you get paid to get things done, and Flex facilitates that.
    Even today with existing AJAX libraries and our onsite knowledge we can develop faster with AJAX than with Flex.
    Look on it with open mind. Maybe I can imagine better world for me and you but AJAX is winner.
  6. AJAX - the welfare technology[ Go to top ]

    Even today with existing AJAX libraries and our onsite knowledge we can develop faster with AJAX than with Flex.

    Have you ever tried Flex to substantiate that claim? Many of us come from using Javascript and DHTML to make Web apps somewhat useful beyond it's static and stateless limitations. Using Javascript to do anything is massively exhaustive.

    With 2 lines in Flex you can grab data from an XML source, and output it in a sortable and resizeable table.

    How many lines do you need to do that in AJAX?
  7. AJAX - the welfare technology[ Go to top ]

    With 2 lines in Flex you can grab data from an XML source, and output it in a sortable and resizeable table.How many lines do you need to do that in AJAX?
    Maybe this are two lines but I have no idea where to look for it and I have nobody around, whom to ask. But I know whom to give task to prepare resizable, sortable table with AJAX style of communication which can be inserted in JSP as one line JSP tag.
    Anywat I don't believe that in flex you have table with paging, sorting without necessity of prefetching all relevant data - what I guess isn't enterprise grade table which I need (because it too much depend on communication with server and client/server protocol). How would you prefetch 500.000 rows?
    Anyway we can't use for development something what depends on one company (of course except IBM ;-)).
  8. ?[ Go to top ]

    With 2 lines in Flex you can grab data from an XML source, and output it in a sortable and resizeable table.How many lines do you need to do that in AJAX?
    Maybe this are two lines but I have no idea where to look for it and I have nobody around, whom to ask. But I know whom to give task to prepare resizable, sortable table with AJAX style of communication which can be inserted in JSP as one line JSP tag.Anywat I don't believe that in flex you have table with paging, sorting without necessity of prefetching all relevant data - what I guess isn't enterprise grade table which I need (because it too much depend on communication with server and client/server protocol). How would you prefetch 500.000 rows?Anyway we can't use for development something what depends on one company (of course except IBM ;-)).

    YOu have to handle sorting (or paging) on the server side with whatever tehcnology you are using behind the tag anyway - AJAX or antything else - right ? I don't know how to do this with two line in .NET, either, but that does not invalidate it as a development platform, nor does the fact that it comes from one company and works only on their OS products ;-)

    I think it really is time to consider the idea of escaping from HTML. We continue to try to do things with it that it was never designed to support and go through all kinds of amazing contortions to do that. Manipulating the DOM with JavaScript to output a row of a table ... seriously, is that really the way we think we should approach Internet development ? Doesn't it strike you as approaching an extreme of complexity to accomplish a simple thing ? Maybe it's just me ... perhaps I'm getting old ...
  9. What 'industrial strength' can mean[ Go to top ]

    The term 'industrial strength' is not limited to the availability of design tools.

    'Industrial strength' can also mean robustness of the language, the programming model, and the underlying frameworks and libraries.

    In production environments one has to care about monitoring, failover, load-balancing, security, fraud protection and management. In case of runtime errors, they need to be detected, reported, and investigated.

    A developer of an 'industrial strength' application needs means of debugging, profiling, unit- and functional-testing, code inspections and refactoring. The acid test for industrial strength is finding a memory leak (be it on client or server).

    The 100% pure Java solutions usually score better when it comes to comparing by the 'industrial strength' criterion.
  10. Really ?[ Go to top ]

    The term 'industrial strength' is not limited to the availability of design tools.
    Obviously, agreed ... an important point.
    The 100% pure Java solutions usually score better when it comes to comparing by the 'industrial strength' criterion.

    Really ? How do you know that ? Do you mean that you have worked with something other than 100% pure Java solutions and found them lacking in these areas ? I'll leave aside .NET for now (grin), but what about Flex, for instance, in these comparisons ?
  11. Really ?[ Go to top ]

    Do you mean that you have worked with something other than 100% pure Java solutions and found them lacking in these areas ?
    Of course, since there are not many 100% pure Java solutions for RIA on the market (i.e. client and server). I will not talk about products here but about technologies. As soon as your technology uses a mix of languages (e.g. HTML and JS) you're quickly out of luck with your tool support.

    The question is not, whether one or the other product is better but what question to ask when evaluating. Now since you seem to like Flex and consider it 'industrial strength', you may want to ask yourself about profiling, debugging, logging, tracing, monitoring, refactoring, and testing client and server at the same time.

    The answer to that question is for yourself, not for me ;-)
  12. Really ?[ Go to top ]

    you may want to ask yourself about profiling, debugging, logging, tracing, monitoring, refactoring, and testing client and server at the same time.

    Those are all great questions to ask. Just in case anyone is wondering what the answer is for Flex, I'm happy to share. :)

    yes, yes, yes, yes, yes, (not in the alpha) and yes.

    Check out the Flex Builder 2 alpha on labs.macromedia.com to see it for yourself. :)

    BTW: With Flex Builder 2 I build and debug applications end to end in 1 environment... I can set breakpoints in both Flex and Java and since they both use the Eclipse debugger I can step through Flex and Java. How cool is that?

    -James
  13. Really ?[ Go to top ]

    fair enough. When evaluating, users will assess whether these promises hold for them. Thanks for sharing the pointer.
  14. I think that listing the primary advantage of flash as 'fancy animations' is underselling this particular option and perhaps even demonstrates some bias from the author.

    Having looked at tools such as lazslo, it seems that flash is a very real option for RIA and not just for the animation potential. I would descibe flash as a middle ground between AJAX and Java delivered via Webstart. It is slightly less ubiquitous than AJAX technologies but more so than the JVM.

    It also seems to me that 'industrial strength' (with reference to Swing/AWT clients) is a little meaningless. The arguments about, "reliability, availability, scalability and security" are not really valid as these things are, for the most part, server-side concerns.

    I would go as far as to say that it is difficult for me to envision a situation where Swing/AWT is the best choice when their is the requirement for a central server. If I required a basic request response I would probably use pure HTML, to provide a little dynamic behaviour then AJAX is appropriate, for the feeling of a native application, but delivered over the web then flash using lazslo or flex.

    What advantages swing would give over flash, i'm not sure and their are some definate downsides. If I am on the move and need to log on to my application, it will be more likley that my local cybercafe will provide a flash runtime than JVM.
  15. Don't look at Laszlo as a way of promoting Flash. Laszlo's intent is to eventually be independent of how its deployed to the client. They have a Java container planned for the future which I anxiously await. In reality, anyone could build something to render an *.lzx file -- even in .NET if need be.
  16. Good point!

    What I was really getting at is that, thanks to the lazslo team, it is possible to prototype flash based guis using declarative code and open tools which makes it a better option than when the proprietry flash creation tools were required. The fact that laszlo has the potential to render to other formats is a (rather significant) bonus.

    It would be superb if lazslo reached a point where it would successfully render to all three of the technologies mentioned in the article. Then the choice of the most appropriate would be one for the end-user. Infact, I believe that a generic 'UI definition language' is just what is required :o).
  17. This article is dodgy[ Go to top ]

    This guy knows nothing about Macromedia Flex, he just tries to downplay it for the sake of AJAX. I don't think it even makes sense to compare Flex with AJAX. Flex is sooo much more powerful, sooo much more pretty and damn easy to use (actionscript/javascript + xml is what its made of). Flex has this beautiful, easy to use WebService facility, Java remote calls, fancy UI elements (that just cannot be found in HTML) and cool built-in effects and a thousand more cool web page components. This article is pure AJAX marketing and is not very well written at all. The article is mis-leading and people should know that.

    I just wish Flex was free. Macromedia people, if you're reading this, drop the price and the whole J2EE world will embrace it. Ignore our wishes and your product will die. Trust me :-)
  18. Flex Barrier[ Go to top ]

    I tend to agree with the assessment of Flex. Cost is what prevented my company from using it.

    steve
  19. Flex 2.0 Pricing[ Go to top ]

    Flex 2.0 will be priced much differently than 1.x. Basically you'll be able to purchase "Flex Builder", which is an eclipse plugin, for somewhere under $1000. Flex Builder will spit out .swf's which you can deploy anywhere (no need to always have Flex on the server).

    The rest of the Flex "Enterprise Services" will be available separately (and they are pricey). That doesn't mean the apps you write with Flex Builder can't consume a variety of remote endpoints. I think this change is a win/win and will push more J2EE developers to take a closer look at Flex.

    Flex 2.0 targets the Flash Player 8.5/Actionscript 2.0, which has a new virtual machine which is much more performant than previous players.

    FYI, you can play with all this stuff right now @ labs.macromedia.com
  20. Flex 2.0 Pricing[ Go to top ]

    Flex 2.0 targets the Flash Player 8.5/Actionscript 2.0

    sorry, meant Actionscript 3.0
  21. Flex vs AJAX == framework vs platform[ Go to top ]

    Flex is sooo much more powerful, sooo much more pretty and damn easy to use (actionscript/javascript + xml is what its made of). Flex has this beautiful, easy to use WebService facility, Java remote calls, fancy UI elements (that just cannot be found in HTML) and cool built-in effects and a thousand more cool web page components.


    This is comparing at the wrong levels.

    AJAX is a technology platform. You could compare AJAX capabilities against capabilities of the Flash player, or the client-side Java plugin.

    Flex is an RIA framework. You could compare Flex against other Flash frameworks like Laszlo, Java frameworks like Canoo, and AJAX RIA frameworks like SmartClient.

    Of course the frameworks offer more capabilities than their underlying platforms--that is what frameworks do. But the best AJAX frameworks provide more capabilities, richer UI, and better performance than the best Flash frameworks.

    It looks like AJAX is finally bringing us the "year of the RIA". Let the detailed comparisons begin!


    Jeff Dill
    www.SmartClient.com
  22. Underestimating Flash/Flex technology[ Go to top ]

    I also agree that Flash was undersold here. Macromedia (now Adobe) has lead the field in RIA development for quite a while now. Flex is a powerful and growing tool, although I'm not too fond of the bloated mx component architecture.

    For me Flash Remoting is a superb option offering many benefits over AJAX, including a great OO scripting language (AS2+3), unit testing (ASUnit), fantastic API (which will be even more robust when AS3 is released, including binary sockets) and a fast efficient remoting protocol (AMF).

    If www.rr.com/flash could be done well over a year ago, just think what is now possible with the latest and upcoming additions to the Flash API.

    www.thefwa.com is a recent example of a well built fully dynamic flash site with some great thought behind its design (try resizing your browser window, even across dull monitors).

    Too many developers turn their noses up at Flash thinking it's just for annoying banner ads. I personally think this is a huge mistake.

    Do I think flash is appropriate for all sites? No not at all. Do I think it's the best solution for building RIA's? Without a doubt.
  23. Flex leads RIA[ Go to top ]

    Author of this article needs to go back and do AJAX App implementation using Flex and I am sure by the end of the project he will update his tree ( expecting him to focus on RIA overall ). My Comparison:
    Rich UI --> Flex
    True Browser Independent --> Flex
    Ease of Plugin --> Flex ( JVM/JRE vs Flash )
    Ease of Remote Enterprise Services --> Flex
    Faster Development(Out of the box controls) --> Flex
    WISYWIG --> Flex ( Eclipse Plugin, FlexBuilder ).

    Biggest showstopper with Flex is the price tag and Adobe needs to re-think this when they make Flex 2.0 available.

    AJAX is just plain old javascript but its rare to hear for Java/J2EE developers "I like Javascript :)". Flex is XML and Actionscript and does not require FLASH expertise. Creating and Maintaining Javascript Control's code GoodLuck!. AJAX good for geeks Flex good for business. Sure Fancy Animations can ONLY be acheived best by no other than Flash but with Flex its a complete solution to RIA.
  24. Flex leads RIA[ Go to top ]

    Why we need Flex?
    - Graphicaly we can do everything what we need in pure browser (drag&drop, animations, fading, picture transparency).
    - New AJAX frameworks doesn't require javascript knowledge.
    - AJAX is more standard based (DOM/HTML/Javascript)
    - We have free implementation (Firefox/Rhino/...)
    - Doesn't depend on one company
    - AJAX has beeter browser integration (it's directly inside, Flash is still subwindow in browser)

    I really don't see more usage behind funny graphical banners. Even more - because it's used primary for advertising I hate it.
  25. Flex leads RIA[ Go to top ]

    Paul,

    If you are happy with AJAX then I am happy for you. I think it is a very clever technology and some of the applications of it (the google suites spring to mind) are quite incredible.

    I personally feel that we have abused HTML for long enough. It is a document format that has been manipulated, first to build very graphical web sites and now for the purposes of feature rich applications. This manipulation seems to have been largely successful but it still feels wrong to me. After several years of everyone moaning about Javascript we are now deciding to build the applications of tomorrow on top of it.

    I agree with you that there are some drawbacks to using flash and I have to say I havent used flex (though I have used lazslo), but it seems to me that flash has successfully delivered on the initial promise of the Java applet.

    You are right that you can do everything in AJAX that you can in flash, but IMHO the latter feels like less of a hack than the former.
  26. Flex leads RIA[ Go to top ]

    What I dislike on java applet and flash is it's non page nature.
    In reality I guess main problem is user interface alone. People like to work with browser based applications because nature of interface. Primary problem of Rich GUI is his paradigm. We have inhouse same applications developed as Swing and also as browser based. People like more browser version even when swing application GUI isn't too different. It's because of well known defined natural paradigm of web (links, back buttons, ...).
  27. Flex leads RIA[ Go to top ]

    Paul,

    You say that your users are uncomfortable using applications that do not make use of the page-centric features such as the back button. So can we assume that they are uncomfortable using MS-Office? Windows? Solitaire?

    The fact is, page-centric applications are a fairly recent phenomenon and if users are that keen on the concept of back then I would simply create a 'back' button in my application and bind it to the 'undo' listener.

    I think the only reason you describe flash a product and AJAX as a technology is because you have allowed yourself to set your own criteria. I am afraid to say that both are technologies according to any reasonable definition (you could argue that AJAX is a collection of technologies).

    I believe that within a few years the concept of AJAX and declaritive flash will merge into a single 'declaritive gui language' delivered over the web into a 'application browser'. AJAX, being based on HTML, a markup that does not have native support for such basic rich GUI concepts as sliders, tabs and drag and drop can only be regarded as an intermediate solution.
  28. My apologies[ Go to top ]

    Pavel,

    For some odd reason, I keep calling your 'Paul'. I am not entirely sure where I got this from. Perhaps it is time for my regular eye-test :o).

    Please accept my apologies.
  29. Flex leads RIA[ Go to top ]

    So can we assume that they are uncomfortable using MS-Office? Windows? Solitaire?
    With MS Office definitely. With Solitaire not ;-)
    The fact is, page-centric applications are a fairly recent phenomenon and if users are that keen on the concept of back then I would simply create a 'back' button in my application and bind it to the 'undo' listener.
    And than you have browser :-)
    I believe that within a few years the concept of AJAX and declaritive flash will merge into a single 'declaritive gui language' delivered over the web into a 'application browser'.
    In perfect word yes. However I don't believe anymore in generic declarative GUI. It will always require some "special" code because our customers are so "special".
  30. In a nutshell[ Go to top ]

    AJAX good for geeks Flex good for business.

    ...In a nutshell.
  31. Underestimating Flash/Flex technology[ Go to top ]

    Are you serious? We are all looking for standard sollutions and you come and promote product of one company. That is what we are trying to avoid for many years. If flash isn't standardised like javascript/HTML/XML/DHTML/DOM you are out of luck. You couldn't win any big contract.
    Plese compare flash against Java 1.1. You will loose. Java at this time was better runtime than Flash is today. However it doesn't help. Nobody is willing to promote and use expensive product of one company. Not in enterprise scale systems.
  32. Underestimating Flash/Flex technology[ Go to top ]

    Nobody is willing to promote and use expensive product of one company.

    Someone better tell Microsoft...

    I've explored a ridiculous amount of "RIA" technologies over the past couple of years. I don't claim to be an industry so take this as you will but Flex was the quickest off the line in regards to sheer productivity. It's been just about 2 years now and we're looking at Flex 2.0 now, it's impressive. Particularly VM performance increases etc...

    If you automatically reject any product developed any one company then no, I doubt you would find Flex all that attractive. If, however, you are looking to improve your shops products and increase developer productivity, give the technology a shakedown.

    Cheers
  33. Underestimating Flash/Flex technology[ Go to top ]

    If, however, you are looking to improve your shops products and increase developer productivity, give the technology a shakedown.
    Flash isn't technology, flash is product. AJAX is technology (independent of product which fulfill standards). Compare flex with Java VM - in reality JVM is still better than Flash. Java applets, web start, memory management, Swing, Connectivity, RMI, ... . If I have to make a choice I will choose JVM. However don't see reason why (AJAX is winner).
  34. Underestimating Flash/Flex technology[ Go to top ]

    Flash isn't technology, flash is product

    It's a product that emcompasses an array of technologies.

    I won't argue that more can't be done in the JVM. Heck it's pretty much the kitchen sink. My point was to higlight the cost effectiveness of Flex as compared to other RIA solutions. The answer to that question will differ from one horses mouth to another of course. It really depends on what need you're attempting to address. In our case: reporting, system/product management and dashboards. Large scale intranet deployments.

    Cheers
  35. Cost[ Go to top ]

    Nobody is willing to promote and use expensive product of one company.
    Someone better tell Microsoft...

    Stacy, that word 'expensive' is really important here. One reason Microsoft has been successful is relatively low cost ... relative, for instance, to the $15K per CPU Tariq mentions in his post. Developers want to be able to practice with a tool ...
  36. Underestimating Flash/Flex technology[ Go to top ]

    Before I dive in let me state... Before someone digs it up, I work for Adobe as a Flex Technical Evangelist. Also, I personally think Ajax is great! It is helping to take the web to the next level of engaging experiences. There are many places where Ajax is a better choice than Flex. There are also many places where Ajax and Flex work really well together. And there are many places where a pure Flex application is the best choice. So I am not trying to wage war against Ajax in any way. However I just have to respond to a few statements I see made over and over which are general misconceptions about Flex, Flash, and Ajax. I am quoting Pavel, but by no means is this aimed at Pavel. These really are general misconceptions.
    If flash isn't standardised like javascript/HTML/XML/DHTML/DOM you are out of luck.

    What standard is XMLHttpRequest based on?

    And actually ActionScript 3.0 conforms to ECMA 262. (That's the same standard JavaScript is based on.) Also, the swf spec is publically available.
    Graphicaly we can do everything what we need in pure browser (drag&drop, animations, fading, picture transparency).

    How about vector based charts that render and adapt to data changes on the client side? Or integrated video and audio? (That's just 2 examples, I have a grip more.)
    We have free implementation (Firefox/Rhino/...)

    I think you are referring to free as in beer, so I will respond to that... Yeah, and the Flash player runs on Windows, Mac, Linux, and Solaris and is under 1MB to download.
    Doesn't depend on one company

    Who added XMLHttpRequest to the browser in the first place? And isn't the reason we have XHR in Firefox, etc today, without there being an offical standard, because the other browsers wanted to be compatible with IE? So in some way the additional of XHR also depended on one company.
    AJAX has beeter browser integration (it's directly inside, Flash is still subwindow in browser)

    In some instances this is actually a bad thing, ie XSS + XHR = really serious problems. In others applications it really doesn't matter. However, there is an open source API to easily do bi-directional JavaScript to ActionScript communication if your requirements dictate that.
    I really don't see more usage behind funny graphical banners. Even more - because it's used primary for advertising I hate it.

    Couldn't we say the same thing about DHTML? I personally see more DHTML popup's, popover's, popwherever's than I do Flash ones.


    The bottom line of all this is that both technologies have their limitations and it comes down to what your requirements are. If you application is very text heavy and page centric with minor RIA controls, then AJAX is probably a good choice. If your application could benefit from the features Flex provides (ubiquitous client vm, native SOAP support, a reusable component model, true data push support, rich media support, client side vector based charts, and the list goes on) then check Flex out. As someone else pointed out, you can download the public alpha for Flex Builder 2 at labs.macromedia.com for free! Check it out and let us know what you think. And since it's an alpha, you can help shape the direction of the product!

    -James
  37. Yes, but ...[ Go to top ]

    James, I've been highly interested in using Flash/Flex as an RIA tool for at least two years. (I'm primarily a J2EE guy right now.) Here are the problems I have encountered :

    1) Cost. It's not so much the cost to the customer as the cost to me. I cannot afford to buy the tool to practice with. $1000 or less I can live with and it was good to hear this price mentioned in a earlier post.

    2) Perception (by my clients) that it will be an EXCESSIVELY 'proprietary' toolset. That is, they do not care if it is something Microsoft or Sun, even though their products are proprietary. They care about whether the tool has such widespread adoption that Macromedia is forced to pay attention to the outstanding installed base and maintain, if not backward compatibility, at least a level of stability - over more than, say, a year or two. I'm not saying anything about what the real situation is - this is a perception I've had to face, and it's hard to overcome.

    3) Perception of Macromedia in general as an 'artsy' rather than a 'blue-collar' vendor. This used to surprise me, but I'm used to it. In the same way, I guess, that Apple once almost marketed themselves to death as some kind of premier artist's platform, Flash has an image that somehow it is not a serious industrial strength tool but a specialized artist's tool. Using language like 'movie' or 'script' has something to do with this, I think. This is actually hard to deal with because the tech people as well as some management types seem to feel this way.

    All that for what it's worth. I'm also learning AJAX, but ... frankly, I simply cannot imagine that it will offer a long-term solution given intentional browser incompatibilities and the inherent HTML limitation in widget tookit.

    Anyway I am downloading the alpha now and I would certainly like to see more widespread experimentation with Flex.
  38. Yes, but ...[ Go to top ]

    Thanks Ethan. Great to hear your feedback and more about the perception problems. It makes me wonder if us (Macromedia) being acquired by Adobe helps with those perception problems. Most people we have talked with say it helps greatly. Anyways, thanks again. And please let us know what you think of the Alpha.

    -James
  39. Flex Trial[ Go to top ]

    James, I've been highly interested in using Flash/Flex as an RIA tool for at least two years. (I'm primarily a J2EE guy right now.) Here are the problems I have encountered :1) Cost. It's not so much the cost to the customer as the cost to me. I cannot afford to buy the tool to practice with. $1000 or less I can live with and it was good to hear this price mentioned in a earlier post.

    You can get the Flex Trial at http://www.macromedia.com/software/flex/trial/ For the first 60 days its a fully functioning server, after that it works as a simple developer box with full features but limited access from the outside world.
  40. JavaScript code can be limited to an application-independent presentation engine that comes with the product, as illustrated by the rightmost option in Figure 4. This pure thin-client approach has several advantages: applications can be written entirely in Java, with a single programming environment. Moreover, there is a homogeneous server-side programming model, and no need to distribute the application code between client and server, nor between different programming languages. This simplifies both development and testing substantially. Finally, the application code will execute primarily in the robust server-side environment.

    Just as the author Marc Domenig said, the pure thin-client approach(or server-centric approach) will significantly lower the development costs. An OSS Ajax framework ZK just do the same thing. It puts an AJAX presentation engine in the browser and a java presentation logic in the server side. The framework hides all AJAX/Javascript/DOM pitfalls. The end users gain the AJAX's responsive and interactive user experiences while the developers gain a simple programming model and easy maintaining codes.
  41. Interesting discussion :)

    Has anyone here used both a DHTML/AJAX framework/product such as Backbase and Flex 1.x either in production (or was evaulating for a project) or learning both in depth at the same time? Would like to hear your opinion :)

    Flex 2.x is interesting to play with, hopefully there'll be 3rd party support for it when its released e.g. new component sets/features such as portal components, reporting etc from other vendors or add-ons for the new Flex Enterprise Server.

    Performance improvements in Flash Player 8.5 Alpha so far are great too, though wish AS3 had support for over-loading methods.

    Have only dabbled in AJAX a bit and want to take a further look into it, can anyone recommend a decent product or framework thats easy to learn/use to build DHTML/AJAX applications?

    cheers
  42. As far as we evaluated some frameworks we found Taconite really good option for building your own project dependant framework on top of transparent layer which Taconite provide. Taconite doesn't depend on server side technology. You can use anything from JSP, to .NET.
    If you are looking for component framework try OpenRico.
    Regards
  43. This would be an interesting article to show to your boss. It asks more questions than it answers and helps to illustrate that there is no one good answer.

    I think it is fair to say that the more fancy the UI that you want, the more investment you will need to put in, and the greater the risk of getting a slow fragile bag of ****.

    As Marc Domenig tells us "JavaScript implementations are not standardized". There are multiple client environments out there and their vendors have conflicting interests. I find myself returning to the original Netscape manuals again and again because it is about the nearest thing I've found to a common baseline. We write once and try to test everywhere, but we can't test them all.

    Java is more standard but we can't rely on it being installed anymore, and if it is installed we can't expect anything better that 1.1. We can tell a user to turn on JavaScript if they want to use our site, but not many users will download and install a JRE just to use our site.

    One of my current concerns is accessibility. Marc Domenig lists it as a concern for all but simple HTML, but then gives no details of the problem. This would be one of the bits I would need to show my boss.
  44. Other markup languages[ Go to top ]

    IMHO all the comments are missing one more possibility: other markup languages. Technologies like XUL and, specially the standard XForms, provide new functionality to the features-lacking HTML (XHTML). They still have all the advantages of server-side development and provide with a rich set of features to bring RIA to a broad range of enterprise applications
  45. Other markup languages[ Go to top ]

    IMHO all the comments are missing one more possibility: other markup languages. Technologies like XUL and, specially the standard XForms, provide new functionality to the features-lacking HTML (XHTML). They still have all the advantages of server-side development and provide with a rich set of features to bring RIA to a broad range of enterprise applications
    Don't forget SVG too, Firefox 1.5 has this vector-based drawing standard built in, and it can ultimately enable any and all kinds of fancy custom UI widgets in a browser. Together with XForms, they can really take RIA to a whole new level and compete directly at the same level with fat clients.
  46. SVG + XFORMS article:
    http://www-128.ibm.com/developerworks/xml/library/x-svgxf1.html
  47. This is something that can also change the way RIA and web apps works, and take them one step closer to fat clients: http://weblogs.java.net/blog/davidvc/archive/2005/12/apache_derby_as_1.html

    As I understand it, it will enable web apps to work offline. People from Dojo Toolkit has already started looking into something similar, so I think it won't be too far off in the future.
    Makes me wonder if all this AJAX + SVG + XForms + local data store and all won't make MS' Avalon/XAML idea go down the drain, since it's taking too long to be released, and currently developing tools and frameworks seem to pose serious competition to it today already.
  48. The buzz is AJAX, not Flash/Flex[ Go to top ]

    Please note the title of the article: it is not "Rich Internet Applications", but "Rich Internet Applications and AJAX". I like it because it focuses on the AJAX hype, and shows alternatives to it, while nowadays it seems that if your application uses no AJAX it is nothing.

    Maybe the author should have at least mentioned Flex or Laszlo, because Flash is somewhat downplayed, but I am sure there are also lots of RIA technologies out there and the article was not a evaluation about them. The stated goal of the article is to focus on when to use AJAX, and when not, and this is what it does.

    And Flex may be a very powerful thing, but I think its real usage is totally marginal when compared to HTML/Javascript, and to the current AJAX hype. And, moreover, it is not free, so it is not nice to tell everybody to use it because many development projects have not this choice.

    You can tell Google to recreate GMail, Google Maps et al using Flex - I do not think they will do.
  49. RIA Alternatives[ Go to top ]

    The main reason I've been following this thread is that we're currently looking at what's out there in terms of RIA toolsets, and in terms of what is out there NOW, i.e. there aren't 'lots of RIA technologies'. In fact it's interesting to see that the main one people mention here IS Flex.

    There are some, such as Mozilla's XUL, that are promising, but won't find business sponsorship. Then you've got IE7/XAML/Sparkle, which I (sadly) suspect will be the point when you see the real massive upsurge in web based applications - but that is in the future. Let's just hope it doesn't sweep all before it like IE did.

    You also have the Opera/Mozilla/Apple Web Application standards body trying to define extensions to existing web standards to provide application support. Again, much as I would personally want them to succeed, it is a sad fact that any web standard not supported by IE, is not going to be used in a cross-browser application. (It may be possible to force IE to adopt such a standard if there was a driver from major users, like government sites).

    So looking at what's there, we've got Java, which I think is going through the 'trough of despair' phase on the hype curve, but if JavaScript can become cool again, Java definitely can. One thing holding it back is relatively low deployment, compared to browsers with AJAX support or Flash.

    Then you've got AJAX which is really at the peak of it's hype cycle, and there really is a lot of hype. I've been looking at a lot of AJAX frameworks and the first thing I do is try the demo's out on Firefox, IE6, and Safari.
    I've not yet found a single one that works perfectly on even 2 browsers, let alone all 3. I don't find that surprising, as getting anything JavaScript based to work well in all 3 isn't trivial.

    It's certainly possible to develop AJAX apps that do work well in all browsers (as Google do) but that is effectively hand-coding each app, rather than being able to re-use widgets (sliders, datagrids, etc) that the frameworks are offering.

    I'm sure that one or more of these frameworks will get there - but I am surprised when people here cite AJAX as a solution to cross-platform development NOW, and point to frameworks that don't work on Firefox. I find that undermines the argument being made. Maybe it's something people passionately want to be true? But that reminds me of so many IT fads before.

    Then you've got Flash acting as a JVM for Flex, Laszlo (or even Flash components). I would agree with most of the critics who said that the parent article definitely missed the point with Flash. The key point about Flash in terms of RIA development is that it's the most widely deployed VM, and genuinely cross-platform, cross-browser. It's closer to the JVM than the web-page paradigm.

    And while Flex certainly isn't free, there is an open source Actionscript to SWF compiler, open source Flash remoting, and of course Laszlo - so in theory you're not tied to use Macromedia for anything other than the (free) player -although they seem confident that Flex is worth the money in terms of what it offers.

    Finally, don't forget that salary and productivity almost always contribute way more to a development project than development tools. FOSS tools should be used because they're better, or because they're open, or because they save money by being more productive, but I think license costs should be the last reason, yet are often the first thing in people's mind (even if it's something you're doing for free in your own time, your own time is worth something. Maybe not $1500 . . .).
  50. Flex and AJAX[ Go to top ]

    Flex has the whole RIA feature. But not AJAX.
    But AJAX can support some of RIA features.

    For my opinion Flex is pretty good for RIA stuff.
    But there are many barriers which make me sick to use Flex.
    1)I don't even have a single dollar
    2)I don't have much time to learn Action Script.
    3)Consume big resource
    etc....

    So my choice is the RIA FrameWork which is combination of DHTML + AJAX.

    I can recommand you one which is BackBase.
    http://www.backbase.com

    1)community edition is free
    2)yes u need to learn BXML.
    3)very light weight (not more than 40kb)
    4)no need to configure.
    5)Eclipse and DreamWeaver plugin (code assist)
    6)well documentation.

    Con is It is not much extensable, but support most of RIA stuff.

    So I am looking forward seeing (DHTML + AJAX) frame work which is very extensable, work as sample as traditional JavaScript, free(open source is preferable), support a big RIA stuff.

    Laszlo is good but it is too heavy and you still need a good graphic designer.

    :)
  51. how much is flex ?[ Go to top ]

    The only thing that I think can't be done in Ajax yet are those dynamic charts . And even so , I've heard that the ppl at the dojo framework are working on such things .

    How heavy are flex apps , compared to Laszlo apps ? That laszlo mail eats 120 mb of virtual memory when loaded in the browser . Loooks cool , but what do you do when the application is 10 times bigger than a mail client ?

    Also it seems to be a big secret how much it costs ? Any prices or are we not supposed to talk about the prices ? I'm hearing 1000 but that's probably not including the charts ? Are those enterprise features ? How much are those ?

    Either way , I downloaded the alpha however I find it rather intrusive to ask for pricing on this . They want all my information ...