native script by sebastian witalec
TRANSCRIPT
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)
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);
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
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]