top of page
  • Writer's pictureSlashData Team

Adobe Mobile Packager: are runtimes still important or are development environments and tools taking

[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].


tower of babel

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…

In all cases each runtime is imposing its own development environment, tools, SDK and above all a development language (Java for the Java VMs, Action script for Flash/Air, Javascript for the web browser, C# for .net).

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:

  1. 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.

  2. Google has a framework (GWT: Google Web Toolkit) to develop for the web browser runtime … except that the development language is NOT javascript

  3. You develop in Java

  4. In Eclipse or NetBean

  5. You can use a RAD

  6. The Java code is compiled in Javascript and will run in a browser not a javaVM (except for development)

  7. This brings a kind of unified approach for the client and the server

  8. OpenLaszlois a great RIA development platform …without a specific runtime :

  9. You develop in the OpenLazlo language : LZX, a specific XML + Javascript

  10. 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!

  11. .Net /Silverlight

  12. You can choose you development language VB#, C# or action script

  13. All are compiled to the .NET bytecode runtime

  14. Microsoft is releasing its “Expression” line of tools to bring ease of development to the designer/developer

  15. Adobe AIR

  16. You can develop in Flash/Flex/Action Script or … in AJAX (Javascript)+HTML

  17. The Air runtime is in fact an aggregation of a Web Runtime (Webkit) and a standalone Flash player

  18. 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

  19. Adobe is releasing Catalyst, a very nice WYSIWYG application prototype IDE targeted to designers with strong links to CS4

  20. Google Native Plugin

  21. Allows to develop and reuse C/C++ code … in the browser

  22. 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 🙂 )

  23. Haxe:

  24. An Action script like language you can compile to … php, C++, java and of course ActionScript

  25. Unification of the client and server development

  26. The adobe Alchemy project (for the techies, explained here):

  27. Compile any C/C++ code to ActionScript byte code to be run in a flash player (examples of Doom, here,  and Quake running in Flash are now famous)

  28. And the announcement triggering this analysis: Adobe Mobile Packager

  29. Development in CS4, with CS3 device central

  30. 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

  31. Flash Lite applications are no more second class citizens, you don’t have to open the Flash runtime anymore to launch such applications

  32. SonyEricsson Capuchin

  33. … is at the end the way to package flash lite application in a java jar file.

All those examples are depicting underlying trends:

  1. We see, more and more a decorrelation between the development environment and the targeted runtimes

  2. Many development languages are popping out, and we won’t have a “one language fits all”: developers will tend to use

  3. What they know , and it’s even easier now with all those tools

  4. Reuse legacy code as much as possible

  5. What fits best for a particular task

  6. What can help with client/server development

  7. Ease of development and tooling seems to be key, especially looking at Microsoft and Adobe strategies

  8. 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.

Thomas

bottom of page