A Gallery Of Applications
Inside the Chromeless tree you’ll find a nonchalant directory named gallery. That directory is a collection of git submodules that point to various applications the community has built on top of Chromeless. If you’re not familiar with git submodules, all you have to do to pull down a copy of Chromeless and all of these projects is:
$ git clone git://github.com/mozilla/chromeless $ cd chromeless $ git submodule init $ git submodule update
Having done that you’ll have the code of these projects locally to inspect, and can run them as you would any Chromeless app. Some interesting projects have already emerged, including:
- webian, by Ben Francis which aims to build a “open source social media server for your home with a rich HTML5 web interface”.
- A demonstration desktop text editor by Marcio Galli which embeds the Cloud9 editor.
Support for Custom Modules
Previously if developers wanted to include new modules with Chromeless they would have to fork the project. That flow is now much more friendly with explicit support to bundle any number of custom modules along with your application, without having to modify Chromeless itself. This feature is exposed via the appinfo.json, and is explained in the documentation. Also an excruciatingly simple bit of sample code has been added which shows how it works.
Native Code with JSCTypes
Chromeless provides a web rendering environment which is great if you want to leverage web technologies to build an application and interact with services on the web. At some point though, you might want to build features not present in Chromeless that require interaction with native libraries.
In addition to the higher level features discussed above, there have been several smaller additions and bug fixes that are summarized in the ChangeLog, including a simplified library organization, and the ability to have your application spawn multiple windows.
We now begin work on 0.4, which aims to incrementally improve the existing Chromeless libraries, both their features and organization. Please share your thoughts on this release, feature requests, and code contributions on github and the Mozilla Labs mailing list.