BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Moscrif – Cross Platform Mobile Development with JavaScript

Moscrif – Cross Platform Mobile Development with JavaScript

This item in japanese

Moscrif is a cross-platform mobile development environment built on a custom virtual machine. Although this platform provides access to native device functionality, the programming language is a customized version of JavaScript.

Moscrif targets iOS, Android, Symbian, Windows Mobile, and Bada, and it will add support for Windows Phone 8 after Microsoft publishes the API, according to Michal Habalcik, co-founder of the company. The Moscrif SDK comes with an open source framework, a Mono-based IDE, and publishing tools for each platform supported.

Besides core functionality, the framework contains a number of libraries providing access to cryptography, game 2D, graphics, media (OGG, WAV), network, sensors, SQLite,  a simplified user interface, and others. Habalcik told us they intend to support native user interfaces in the near future, but that will come with the price of broken cross-platform development. They also intend to add support for HTML5 in the future, but for now Habalcik considers that “HTML5 has some serious issues with performance, so developing quality games with lots of graphics is impossible”.

The programming language is JavaScript, extended with 1st level classes, constructors, namespaces, properties, lambda functions, iterators, all natively implemented. The source code is compiled in a custom bytecode and run on garbage collected virtual machines written in C/C++/Objective-C and Java for each of the supported operating systems. There is no JIT compilation.

The IDE is also open source and custom built on Mono + Gtk# using some components from MonoDevelop, such as Text Editor. The associated publishing tools generate binaries for each OS without requiring a custom build server. Applications to be published on the Apple App Store, Google Play, etc. need to be signed by Moscrif. We were told that not the binaries are sent to be signed, but rather a manifest file containing the hashes of all the files in the package.

Rate this Article

Adoption
Style

BT