Use a runtime environment in mobile development


Mark Lam wrote a great post Monday about reasons to choose Java for embedded systems development. He starts with an anecdote about wanting to abstract away the complex security issues involved with native programming by creating a scripting language.

However, in order for the content to be interesting, the scripting language needed to provide more and more functionality like that of a full programming language. After numerous enhancements to the script engine, eventually I realized that I am re-inventing a solution just like the Java programming language.

This path has been — and likely will continue to be — followed by many companies building mobile products in order to isolate security risks and provide custom adapters for platform differences across a broad range of handsets. But it’s a lot of work to build a runtime environment from scratch, so Mark is hoping to persuade his readers to choose Java before investing in that work. Because he is addressing an audience of embedded system developers, some of Mark’s points and his ultimate conclusion do not necessarily apply to mobile ISVs. However, his underlying argument is sound: using a runtime environment provides many advantages, and rolling your own will come up lacking.

Just in case you’re not convinced that you should seriously consider using a runtime environment for mobile development, the Symbian Developer Network is publishing a series about it. The first two present a business case (pdf) and describe the concept (pdf).

Today, if the handset runs an OS with a closed development environment, then the only managed environments available are JavaME and in some cases, Flash Lite. But a lot of interesting possibilities exist for handsets that have an open development environment, such as Symbian (S60/UIQ), Windows Mobile, Linux. Coming up, we’ll talk about some of the possibilities we considered and what we wound up using.

Comments

One Response to “Use a runtime environment in mobile development”

  • Andrea Trasatti on April 23rd, 2007 7:32 am

    I’m not saying that Java is the reason of the failure, but SavaJe did not have a very successful history! ( http://news.yahoo.com/s/infoworld/20070412/tc_infoworld/87647 )

    J2ME is the only environment to develop something on mobile devices, but unfortunately sun kept it too limited to avoid any security issues.
    On the other side Symbian is much more open, but unfortunately it seems like it’s too complex to be interesting to most companies. I certainly wish OEM’s will eventually move to open systems. Linux embedded would actually seem to me like the easiest choice. LiMo foundation seems like a step in that direction, let’s see if it’s just another initiative or something that turns into reality ( http://trasatti.blogspot.com/2007/02/limo-foundation-launched.html )