Running Node Applications on iOS and Android

Post on 16-Apr-2017

662 views 4 download

Transcript of Running Node Applications on iOS and Android

Running Node Applications on iOS and Android

Ugur Kadakal, PhDCofounder and CEO

Nubisa, Inc.

What is Node.JS?

“Node.js® is a platform built on Chrome's JavaScript runtime for easily building fast,

scalable network applications. Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across

distributed devices.”

Source: nodejs.org

How popular is Node.JS?

Job Trends - Absolute

Source: indeed.com

Job Trends - Relative

Source: indeed.com

Module Counts

Data Source: modulecounts.com/

0

20000

40000

60000

80000

100000

120000

140000

160000

Maven Central (Java); 106712

npm (node.js); 151767

nuget (.NET); 37165

Packagist (PHP); 60050

Rubygems.org; 102004

Monthly Module Downloads

Source: npmjs.org

Many Enterprises Already Using Node in Production

Why is Node.JS so popular?

Faster development and deployment

Node.js allows front-end developers to handle both client and server development

Flexible skill sets and fast learning curve

Node.JS is for server applications

What about mobile?

JavaScript Platforms for Mobile Development

What about Node.JS and Node modules?

Node is built on Google V8 engine

V8 uses Just-In-Time (JIT) compiling to execute JavaScript code

JIT is not allowed on iOS

We forked Nodeand created JXcore

Our goal was to run Node on mobile devices by replacing V8 with another JS engine

It was not an easy task

We not only replaced V8 with SpiderMonkey but also built an abstraction layer for developers to choose which engine to

use

Abstraction layer isolated Node core from JS engines

We also developed a Cordova plugin

Visit github.com/jxcore/jxcore-cordova for details

You can now develop iOS apps with Cordova and JXcore

Visit modernweb.com/2015/03/19/develop-an-ios-application-with-node-js-and-cordova/ for details

What’s next for JXcore?

Stability

Extending JXcore to other JS engines:

JavaScriptCore? Chakra?

Extending Node to IoTsby embedding a lightweight JS engine

like Duktape

JXcore is open source (MIT)

We welcome contributions

jxcore.com or jxcore.io

github.com/jxcore/jxcore/

contact me at ukadakal@nubisa.com