InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Nokia Donates Mobile Runtime for Java Applications (JRT) to the Symbian Foundation Under EPL

Posted by Charles Humble on Jul 28, 2010

Sections
Architecture & Design,
Development,
Operations & Infrastructure
Topics
Java ,
Mobile ,
Open Source
Tags
Java ME ,
Eclipse eRCP ,
Eclipse ,
Symbian

Earlier this month Nokia announced that it was contributing its Mobile Runtime for Java Applications (JRT) to the Symbian Foundation that it created following its acquisition of Symbian Software Limited in 2008. In all the JRT comprises around one million lines of Java and C++ source code for the runtime, an application installer and API libraries, along with test cases and documentation. It is licensed under the Eclipse Public License (EPL), and is available as part of the latest Symbian^3 Product Development Kit (account needed).

The Symbian Platform itself was re-licensed under EPL in February though some tools code remains under the Symbian Foundation License at the time of writing. The Foundation has publicly stated goal to make all of its code available under EPL by mid-2010.

In a blog post Jyrki Aarnos, package owner for JRT, and Aleksi Uotila, JRT product manager at Nokia said

This means that developers can write Java applications for Symbian^3 devices, like the recently announced Nokia N8. More importantly, the JRT is now open source so the community can modify and add to the JRT implementation under the terms of the Symbian Foundation’s EPL license.

The JRT is compatible with shipping Symbian devices and fully supports the Symbian^3 feature set with support for the following JSRs:

  • JSR 118 MIDP 2.1
  • JSR 139 Connected, Limited Device Configuration (CLDC) 1.1
  • JSR 248 Mobile Service Architecture Subset for CLDC 1.0
  • JSR135 Mobile Media API 1.2
  • JSR 177 Security and Trust Services API for J2ME 1.0 (SATSA-APDU package)
  • JSR 177 Security and Trust Services API for J2ME 1.0 (SATSA-CRYPTO package)
  • JSR 177 Security and Trust Services API for J2ME 1.0 (SATSA-PKI package)
  • JSR 179 Location API for J2ME 1.0.1
  • JSR 184 Mobile 3D Graphics API for J2ME 1.1
  • JSR205 Wireless Messaging API 2.0
  • JSR 226 Scalable 2D Vector Graphics API for J2ME 1.1
  • JSR 234 Advanced Multimedia Supplements 1.1 (audio3d)
  • JSR 234 Advanced Multimedia Supplements 1.1 (music)
  • JSR 256 Mobile Sensor API 1.2
  • JSR 75 FileConnection and PIM API 1.0
  • JSR 82 Java APIs for Bluetooth 1.1

On the graphics side Symbian^3 gains support for harware accelerated graphics and includes two non-standard APIs - Nokia's own UI API 1.4 and an implementation of the Eclipsse Standard Widget Toolkit (eSWT) UI API 1.0.3 from Eclipse's Rich Client Platform (eRCP) project.

The Virtual Machine has been provided to the Symbian Foundation by IBM under a separate license allowing it to be used for research and development purposes and for Java application development.

A development roadmap has been created for JRT where you can see the features that are being worked on, and opportunities for contribution.

As well as Java, developers writing for Symbian^3 can write native applications using C++ with built in support for the Qt cross-platform application and UI framework, and web technologies including built in PhoneGap Support.

Whilst Media attention currently tends to focus on the newer Android and iOS platforms, Symbian remains the market leader in smart-phone shipments with 47.2% of devices shipped in 2009 running the OS. RIM (BlackBerry) had a 20.8% share, Apple 15.1% (through the iPhone OS/iOS), Microsoft 8.8% (through Windows CE and Windows Mobile) and Google 4.7% (through Android).

No comments

Watch Thread Reply

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.