Adobe Mobile Packager: are runtimes still important? Development environments and tools seems to be everything.
Thomas Menguy | December 15, 2008[Adobe just released and new way to package Flash Lite Applications for S60 and WindowsMobile: this, 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 those seemingly uncorrelated initiatives].
At one time application developer were targeting an OS: Windows, MacOS, Unix.
At one point the target began to be runtimes (or Application Environments as defined by Andreas): the web browser, the flash player (inside the web browser), javaVMs, .NET more recently javaFX, silverlight, AIR…
In all case each runtime is imposing its development environment, tools, SDK and above all a development language (Java for the javaVMs, Action script for Flash/Air, Javascript for the web browser, C# for .net).
And of course your runtime has to be installed on your final target, BEFORE deploying your application or content.
But everything is blurring now, here are some evidences:
- Mobile Open OS are all offering solid and robust application and content management (AppStore syndrome): a runtime sandboxing its dedicating content from the rest of the system is seen like an unnatural way and bad user experience to handle content
- Google has a framework (GWT: Google Web Toolkit) to develop for the web browser runtime … except that the development language is NOT javascript
- You develop in Java
- In Eclipse or NetBean
- You can use a RAD
- The Java code is compiled in Javascript and will run in a browser not a javaVM (except for development)
- This brings a kind of unified approach for the client and the server
- OpenLaszlo is a great RIA development platform …without a specific runtime :
- You develop in the OpenLazlo language : LZX, a specific XML + Javascript
- 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
- You can develop in Flash/Flex/Action Script or … in AJAX (javascript)+HTML
- The Air runtime is in fact an aggregation of a Web Runtime (Webkit) and a standalone FlashPlayer
- Your applications are deployed …nearly like any other application of 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 )
- Haxe:
- 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 this post ignition triggering news: Adobe Mobile Packager
- Development in CS4, with CS3 device central
- Flash Lite Application is packaged in a “standard†.CAB file for windows and .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 an uncorrelation between the development environment and the targeted runtimes
- Many development languages are popping out, and we won’t have a “one language fits all†: developer will tends to use
- What they know , and it’s even easier now with all those tools
- Reuse some legacy as much as possible
- What fits best for a particular task
- What can help 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!
Let’s share your thoughts in the comments.
Thomas
[...] not so long ago in those 2 posts about
Great Article about fragmentation from Sender 11 | Everything and the Mobile Software Universe... | January 21, 2009[...] not so long ago in those 2 posts about capuchin and what it means to fragmentation and the Adobe packager and the trend it shows toward runtimes (cross posted to VisionMobile here for capuchin and here for Adobe [...]