I attended Adobe's presentation on developing Web 2.0 application last week. Surprisingly the whole presentation turned out to be on introducing Adobe's new technology: Apollo. In short, Apollo is Adobe's strategic move from web arena (Flash, Flex) to desktop RIA. Apollo's main idea is to allow (web) developer to bring Flash-like, Flex web application to desktop with additional runtime extension. For full feature of Apollo, click here for official Apollo FAQ page. A few key points from my note:
- Apollo desktop RIA is cross-platform. Currently Apollo runtime is to be available for Windows and Mac OS. When I questioned the presenter about Solaris and Linux support, the answer was at the moment Adobe has no plan to make the runtime available for Solaris!
- Developers can leverage their web development skills. Apart from technologies from Adobe camp like ActionScript, Flex, Flash, and MXML, Apollo also supports non platform-specific languages like HTML, CSS, JavaScript, and AJAX. I believe that this will be helpful for many web developers to migrate to the world of desktop application. I did work through some Flex tutorials with Adobe FlexBuilder. I think developers who are familiar with Java language, JSF/ASP.NET style web tagging will pick up ActionScript and MXML in a quite rapid manner.
- Apollo is really an extension to Flash and Flex; therefore, Apollo apps can be embedded in web browser as well as desktop. One thing I spotted out is that Apollo's desktop installer is actually package wrapper around .SWF files !
- Apollo client will work with J2EE backend. Apollo application is built on top of Flex. Flex-J2EE APIs are already available. As for how well Apollo can integrate with legacy system like EJB, not much testing has been done.
- There are some concerns regarding security holes from key features like 'Allow local file accessing'. At this point, Adobe is working to finalize Apollo's security features. So, we will have to wait and see.
The Apollo technology itself is quite impressive. I think Apollo will fill in .NET and Java shortcomings on desktop client. WPF offers powerful graphic and integration with Windows .NET features, yet it is not portable. Java UI, like Swing, is cross-platform. Yet, there are some complaints regarding speed and ease of development. Apollo offers eye-candy UI and also Flash style smooth interaction. Another point to note is that Apollo RIA sort of blurs the line between desktop and web application. During the presentation, I was shown a demo on EBay application that user can work off-line (selecting items, viewing cached information, put item to personal list, etc). Once the online connection is available, this EBay app will automatically synchronize all changes made off-line to the user account on online EBay site.
Recently, Adobe has been pushing hard for Flex adoption. It actually made 100 millions dollars funding available for developers for evangelizing and building innovative applications on Flex. As Apollo first pre-release is due early 2007, I would expect the same aggressive marketing push from Adobe. I saw in the news recently, SAP is redoing its ERP front-end with Apollo.