SlideShare a Scribd company logo
1 of 27
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
Abstraction
Device sensors Local Storage
Push Notifications
Launchers,
Choosers
Localization,
Globalizations
Other…
Runtime
Native UI
Components
JavaScript
Running on VM
User Interaction
Handled by Native platform
Hardware Access
Handled 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 group
www.telerik.com/nativescript-insiders-signup
London based meetup
www.meetup.com/NativeScript-London
Contact:
valentin.stoychev@telerik.com
Questions

More Related Content

What's hot

Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React NativeWaqqas Jabbar
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkCihad Horuzoğlu
 
React native-meetup-talk
React native-meetup-talkReact native-meetup-talk
React native-meetup-talkkiranabburi
 
When to (use / not use) React Native.
When to (use / not use) React Native.When to (use / not use) React Native.
When to (use / not use) React Native.Bobby Schultz
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentMalan Amarasinghe
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overviewSanket Devlekar
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Frameworkrrjohnson85
 
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...Codemotion
 
GitHub as a Landing Page
GitHub as a Landing Page GitHub as a Landing Page
GitHub as a Landing Page Pronovix
 
Writing Slack Bots in JavaScript
Writing Slack Bots in JavaScriptWriting Slack Bots in JavaScript
Writing Slack Bots in JavaScriptNiklas Heidloff
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)Oursky
 
Ionic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile appsIonic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile appsAndreas Sahle
 
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native BostonPutting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Bostonstan229
 
Advancing Your API Strategy in an Infrastructure World
Advancing Your API Strategy in an Infrastructure WorldAdvancing Your API Strategy in an Infrastructure World
Advancing Your API Strategy in an Infrastructure WorldPronovix
 
How to build a Whatsapp clone in 2 hours
How to build a Whatsapp clone in 2 hoursHow to build a Whatsapp clone in 2 hours
How to build a Whatsapp clone in 2 hoursJane Chung
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsEddie Lau
 

What's hot (19)

Introduction to React Native
Introduction to React NativeIntroduction to React Native
Introduction to React Native
 
Hybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic FrameworkHybrid Apps with Angular & Ionic Framework
Hybrid Apps with Angular & Ionic Framework
 
React native-meetup-talk
React native-meetup-talkReact native-meetup-talk
React native-meetup-talk
 
When to (use / not use) React Native.
When to (use / not use) React Native.When to (use / not use) React Native.
When to (use / not use) React Native.
 
IONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App DevelopmentIONIC - Hybrid Mobile App Development
IONIC - Hybrid Mobile App Development
 
Hybrid app in ionic framework overview
Hybrid app in ionic framework overviewHybrid app in ionic framework overview
Hybrid app in ionic framework overview
 
React Native
React NativeReact Native
React Native
 
Introduction to the Ionic Framework
Introduction to the Ionic FrameworkIntroduction to the Ionic Framework
Introduction to the Ionic Framework
 
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...React Native for multi-platform mobile applications  - Matteo Manchi - Codemo...
React Native for multi-platform mobile applications - Matteo Manchi - Codemo...
 
GitHub as a Landing Page
GitHub as a Landing Page GitHub as a Landing Page
GitHub as a Landing Page
 
Writing Slack Bots in JavaScript
Writing Slack Bots in JavaScriptWriting Slack Bots in JavaScript
Writing Slack Bots in JavaScript
 
A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)A guide to hiring a great developer to build your first app (redacted version)
A guide to hiring a great developer to build your first app (redacted version)
 
Ionic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile appsIonic Framework - get up and running to build hybrid mobile apps
Ionic Framework - get up and running to build hybrid mobile apps
 
Ionic in 30
Ionic in 30Ionic in 30
Ionic in 30
 
Putting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native BostonPutting the Native in React Native - React Native Boston
Putting the Native in React Native - React Native Boston
 
Advancing Your API Strategy in an Infrastructure World
Advancing Your API Strategy in an Infrastructure WorldAdvancing Your API Strategy in an Infrastructure World
Advancing Your API Strategy in an Infrastructure World
 
Using TypeScript with Angular
Using TypeScript with AngularUsing TypeScript with Angular
Using TypeScript with Angular
 
How to build a Whatsapp clone in 2 hours
How to build a Whatsapp clone in 2 hoursHow to build a Whatsapp clone in 2 hours
How to build a Whatsapp clone in 2 hours
 
Cordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ CodeaholicsCordova, Angularjs & Ionic @ Codeaholics
Cordova, Angularjs & Ionic @ Codeaholics
 

Similar to Native Script by Sebastian Witalec

DOC-20230427-WA0009..pptx
DOC-20230427-WA0009..pptxDOC-20230427-WA0009..pptx
DOC-20230427-WA0009..pptxkumarkaushal17
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at ScaleOracle Developers
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Jonas Rosland
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015{code}
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopJonas Rosland
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesVagif Abilov
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xGeertjan Wielenga
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xErik Gur
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxGabrielSoche
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdfEidTahir
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKIntel® Software
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewboxLino Telera
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDKIntel® Software
 
11 Top Prerequisite Tools for React Native Development.pdf
11 Top Prerequisite Tools for React Native Development.pdf11 Top Prerequisite Tools for React Native Development.pdf
11 Top Prerequisite Tools for React Native Development.pdfiDataScientists
 
DotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsDotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsSajeetharan
 
Introduction_to_NET.ppt
Introduction_to_NET.pptIntroduction_to_NET.ppt
Introduction_to_NET.pptDarwin Terraza
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();dotNet Miami
 

Similar to Native Script by Sebastian Witalec (20)

DOC-20230427-WA0009..pptx
DOC-20230427-WA0009..pptxDOC-20230427-WA0009..pptx
DOC-20230427-WA0009..pptx
 
Delivering Developer Tools at Scale
Delivering Developer Tools at ScaleDelivering Developer Tools at Scale
Delivering Developer Tools at Scale
 
Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015Docker and containers - For Boston Docker Meetup Workshop in March 2015
Docker and containers - For Boston Docker Meetup Workshop in March 2015
 
Docker Training - June 2015
Docker Training - June 2015Docker Training - June 2015
Docker Training - June 2015
 
Docker and Containers overview - Docker Workshop
Docker and Containers overview - Docker WorkshopDocker and Containers overview - Docker Workshop
Docker and Containers overview - Docker Workshop
 
Introduction to .NET Framework
Introduction to .NET FrameworkIntroduction to .NET Framework
Introduction to .NET Framework
 
SOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class LibrariesSOLID Programming with Portable Class Libraries
SOLID Programming with Portable Class Libraries
 
What's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.xWhat's New in NetBeans IDE 7.x
What's New in NetBeans IDE 7.x
 
What’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.xWhat’s New & Cool in NetBeans IDE 7.x
What’s New & Cool in NetBeans IDE 7.x
 
whats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptxwhats-new-netbeans-ide-7x.pptx
whats-new-netbeans-ide-7x.pptx
 
005528214.pdf
005528214.pdf005528214.pdf
005528214.pdf
 
Mobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDKMobile Web Apps and the Intel® XDK
Mobile Web Apps and the Intel® XDK
 
Android - Anroid Pproject
Android - Anroid PprojectAndroid - Anroid Pproject
Android - Anroid Pproject
 
321 codeincontainer brewbox
321 codeincontainer brewbox321 codeincontainer brewbox
321 codeincontainer brewbox
 
Crosswalk and the Intel XDK
Crosswalk and the Intel XDKCrosswalk and the Intel XDK
Crosswalk and the Intel XDK
 
11 Top Prerequisite Tools for React Native Development.pdf
11 Top Prerequisite Tools for React Native Development.pdf11 Top Prerequisite Tools for React Native Development.pdf
11 Top Prerequisite Tools for React Native Development.pdf
 
.Net Standard 2.0
.Net Standard 2.0.Net Standard 2.0
.Net Standard 2.0
 
DotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcementsDotnetConf - Cloud native and .Net5 announcements
DotnetConf - Cloud native and .Net5 announcements
 
Introduction_to_NET.ppt
Introduction_to_NET.pptIntroduction_to_NET.ppt
Introduction_to_NET.ppt
 
Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();Staying connected: An Overview of Announcements from Microsoft’s Connect();
Staying connected: An Overview of Announcements from Microsoft’s Connect();
 

Native Script by Sebastian Witalec

  • 2. 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)
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Calling Android API var file = new java.io.File(path);V8 JavaScript Engine
  • 11. Native Android Calling Android API var file = new java.io.File(path);V8 JavaScript Engine Marshalling Service java.lang.String
  • 12. Native Android Calling Android API var file = new java.io.File(path);V8 JavaScript Engine Marshalling Service Binding java.lang.String java.io.File()
  • 13. 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
  • 14. Native Script Modules Layer NSM Layer (JavaScript) UI Abstraction File System Abstraction Device sensors Local Storage Push Notifications Launchers, Choosers Localization, Globalizations Other… Runtime Native UI Components JavaScript Running on VM User Interaction Handled by Native platform Hardware Access Handled by Native platform Native iOS application Native Android application Native WP application
  • 15. 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);
  • 18. Supported Selectors • .button { … }Type selector • ..my-class { ... }Class selector • .#login-button { ... }ID selector • .button:pressed { ... } Pseudo-classes selector
  • 19. 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
  • 21. 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
  • 22. 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.
  • 23. 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
  • 24. V1 in May • Stabilizing the code • Windows Universal support – Beta version • Add missing features –Localization –More cross-platform abstractions • Bluetooth, • accelerometer, • and more ..
  • 25. vNext • Continue adding missing features • More cross-platform abstractions • Integration with popular JavaScript libraries that depend on browser • 3rd party Plugins marketplace
  • 26. Get involved The insiders group www.telerik.com/nativescript-insiders-signup London based meetup www.meetup.com/NativeScript-London Contact: valentin.stoychev@telerik.com