Featured in
Architecture & Design

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Featured in
Process & Practices

In-App Subscriptions Made Easy

There are various types of subscriptions: recurring, non-recurring, free-trial periods, various billing cycles and any possible billing variation one can imagine. But with lack of information online, you might discover that mobile subscriptions behave differently from what you expected. This article will make your life somewhat easier when addressing an in-app subscriptions implementation.

Featured in
Operations & Infrastructure

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Featured in
Enterprise Architecture

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Moscrif – Cross Platform Mobile Development with JavaScript

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.

The difference between Cordova (PhoneGap) is huge. Cordova, like Appcelerator and many others are just web wraps based on HTML5, not real native apps. Sure they are ideal for simple apps, but limited when it comes to more complex apps, especially games.

On the other hand, Moscrif uses JavaScript as a regular programming language that is translated into the native code.