Running Node Applications on iOS and Android
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