Palm Linux-based webOS platform
Posted on February 25, 2009, under Google Android.
Palm has published technical overview of their new Linux-based webOS platform that will support Palm application development with web technologies. Platform SDK Palm’s leverages standards-based web technologies and allows third-party developers to build complete applications using a mix of HTML, CSS, and JavaScript. It uses a custom JavaScript framework called Mojo and bundles some popular third-party JavaScript libraries, including Prototype. WebOS applications are displayed on “stage” elements, which are described with HTML and contain various “scene” elements. Scenes are organized in a stack and can be displayed or removed programmatically with push and pop actions that are executed through the JavaScript scene assistant. Basic widgets are described in HTML by inserting a div element with a custom x-mojo-element attribute that specifies the name of the widget.
The user interface elements are accessible through the DOM and can be styled with CSS. Various widget events can be bound to JavaScript callback functions.Access to underlying platform capabilities is provided by the Services API, which is accessible through a JSON bridge. This gives applications access to the device’s geolocation, telephony, and camera capabilities. The Service API system seems to be a generalized abstraction layer through which a wide range of external services and data sources can be exposed. According to the chapter, it can also be used to access web services and data from various applications on the device. It seems likely that it’s extensible, but no details have been provided yet to indicate how that works. The platform supports headless background services that interact with the user through passive notifications and interactive dashboard elements. Persistent data storage in webOS is facilitated by the HTML 5 database features. The platform’s integrated media server supports audio and video playback through the open source GStreamer media engine. Applications are organized into a particular directory structure and are bundled with various resources and an appinfo.json file that will include application metadata. Although many aspects of the webOS platform are built on existing standards, this is one that is not.
It’s a little disappointing that Palm didn’t adopt the nascent w3c web widgets spec. Applications will have to be signed in order to run on the device. The signing services will be provided through the Developer Portal and applications will be deployed to end users through Palm’s new Application Catalog. From the details available in the chapter, it seems as though there is not going to be a single official IDE for building webOS applications. The SDK will include command-line tools and some plugins to aid webOS development with a variety of existing HTML editors including Eclipse and Aptana Studio.
It all looks very promising, new SDK (when published) should give us some more insite of the new Palm technology.
