[Adobe just released and new way to package Flash Lite Applications for S60 and WindowsMobile: this announcement, if linked to the announced Google native client, the Adobe Alchemy product and other industry initiatives is an indication of where the desktop and mobile development are going. Blogger Thomas Menguy tries to bring some coherence to these seemingly uncorrelated initiatives].
At one time application developers were targeting OSes: Windows, MacOS, Unix.
At one point the target began to move towards runtimes (or Application Environments as discussed in this earlier article): the web browser, Flash player (inside the web browser), Java VMs, .NET, and more recently Java FX, Silverlight, AIR…
And of course the runtime has to be installed on your final target, BEFORE deploying your application or content.
But the lines between tools, languages and runtimes are now blurring, as evidenced by several industry moves:
- Mobile Open OS are all offering solid and robust application and content management (the Mobile Application Store syndrome). A runtime sandboxing its dedicated content from the rest of the system is seen like an unnatural way and bad user experience for handling content.
- You develop in Java
- In Eclipse or NetBean
- You can use a RAD
- This brings a kind of unified approach for the client and the server
- OpenLaszlois a great RIA development platform …without a specific runtime :
- You compile your code for flash or DHTML (a Java version exists but doesn’t seem to be supported anymore) so you can select your runtime!
- .Net /Silverlight
- You can choose you development language VB#, C# or action script
- All are compiled to the .NET bytecode runtime
- Microsoft is releasing its “Expression” line of tools to bring ease of development to the designer/developer
- Adobe AIR
- The Air runtime is in fact an aggregation of a Web Runtime (Webkit) and a standalone Flash player
- Your applications are deployed …nearly like any other application on the underlying platform. The ‘nearly’ is important because the AIR runtime installation is still visible, as is the application air packaging
- Adobe is releasing Catalyst, a very nice WYSIWYG application prototype IDE targeted to designers with strong links to CS4
- Google Native Plugin
- Allows to develop and reuse C/C++ code … in the browser
- use a raw GCC toolchain (and so the browser plugin has certainly to embed an OS independent dynamic loader…reminds me something we are doing for years at Open-Plug 🙂 )
- An Action script like language you can compile to … php, C++, java and of course ActionScript
- Unification of the client and server development
- The adobe Alchemy project (for the techies, explained here):
- And the announcement triggering this analysis: Adobe Mobile Packager
- Development in CS4, with CS3 device central
- Flash Lite Application is packaged in a “standard” .CAB file for Windows Mobile or an .SIS file for S60, with everything needed to make your application run
- Flash Lite applications are no more second class citizens, you don’t have to open the Flash runtime anymore to launch such applications
- SonyEricsson Capuchin
- … is at the end the way to package flash lite application in a java jar file.
All those examples are depicting underlying trends:
- We see, more and more a decorrelation between the development environment and the targeted runtimes
- Many development languages are popping out, and we won’t have a “one language fits all”: developers will tend to use
- What they know , and it’s even easier now with all those tools
- Reuse legacy code as much as possible
- What fits best for a particular task
- What can help with client/server development
- Ease of development and tooling seems to be key, especially looking at Microsoft and Adobe strategies
- The on device final Application Management is left to the underlying platform/OS and will be more and more abstracted for the developer that is targeting multiple platforms with a single application development environment.
From what I see today, I tend to think that Adobe is getting it right, little by little, especially thanks to their very strong tooling offer (CS4/FlexBuilder/Catalyst)…and we may see other initiatives from other players like Nokia or even Google to accelerate the development and deployment of services (web or not).
Interesting times for a developer!
Looking forward to your comments.