native script by sebastian witalec

27
Introducing NativeScript

Upload: london-mobile-developers

Post on 16-Jul-2015

429 views

Category:

Internet


0 download

TRANSCRIPT

Introducing

NativeScript

Now presenting – Sebastian Witalec

•Solution Engineer and Technical

Evangelist for Telerik

•Working with the Dev community in

London:

–International Developers

–Software Architecture & Mentorship

–NativeScript Insiders London (soon)

THE INTRODUCTION TO

DEMO

Calling Android API

var file = new java.io.File(path);V8 JavaScript Engine

Native

Android

Calling Android API

var file = new java.io.File(path);V8 JavaScript Engine

Marshalling Service java.lang.String

Native

Android

Calling Android API

var file = new java.io.File(path);V8 JavaScript Engine

Marshalling Service

Binding

java.lang.String

java.io.File()

Native

Android

Calling Android API

var file = new java.io.File(path);V8 JavaScript Engine

Marshalling Service

Binding

java.lang.String

java.io.File()

Call Dispatcher java.io.File

file = FileProxy

Native Script Modules Layer

NSM Layer(JavaScript) UI Abstraction

File System

AbstractionDevice sensors Local Storage

Push NotificationsLaunchers,

Choosers

Localization,

GlobalizationsOther…

Runtime

Native UI

ComponentsJavaScriptRunning on VM

User InteractionHandled by Native platform

Hardware AccessHandled by Native platform

Native iOS application Native Android application Native WP application

At runtime, executed on the JS engine.

In Cross platform abstraction

On Android

var file = new File(path);Cross-platform

Cross-platform API

File file = new java.io.File(path);

On iOS

NSFileManager.defaultManager();

fileManager.createFileAtPathContentsAttributes(path);

Performance

Styling

Supported Selectors

• .button { … }Type selector

• ..my-class { ... }Class selector

• .#login-button { ... }ID selector

• .button:pressed { ... }Pseudo-classes selector

Supported Styles

• .button { color: blue }color

• ..my-class { width: 100; height: 25; }width/height

• .#login-button { font-size: 20 }font-size

• ...c-label { vertical-align: center }vertical-align

• ..t-label { opacity: 0.8 }opacity

Open Source

Current state

• Private preview – still no public access

• iOS and Android only

• Feature freeze until the beta - stabilizing the framework, catching

up on documentation

• [major problem] No debugging

0.42 release in January

• Better getting started documentation

• Tooling for using 3rd party native libraries

• Better AppBuilder companion apps – barCode integration and error

reports

• Code stabilization

• [major problem] Still no debugging.

Public Beta in February

• Open source the code on GitHub

• Public access

• Windows Universal support – preview version

• Much better documentation and help articles

• Debugging support inside AppBuilder

• Integration with Telerik platform and its services

V1 in May

• Stabilizing the code

• Windows Universal support – Beta version

• Add missing features

–Localization

–More cross-platform abstractions

• Bluetooth,

• accelerometer,

• and more ..

vNext

• Continue adding missing features

• More cross-platform abstractions

• Integration with popular JavaScript libraries that depend on

browser

• 3rd party Plugins marketplace

Get involved

The insiders groupwww.telerik.com/nativescript-insiders-signup

London based meetupwww.meetup.com/NativeScript-London

Contact:[email protected]

Questions