NativeScript: love or hate?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820325/NativeScript_logo.png)
Aliaksei Bahachuk
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820375/logo.png)
Prehistory
Girl
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833562/Turanga_Leela.png)
Parents
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820414/Telerik_brandmark_color_without_tagline_Black_1412710457532.png)
WHO?
Telerik
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820441/Telerik_Platform_Black_1415295573422.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820442/fiddler-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820451/mark_big.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820453/TelerikTestStudioLogo.png)
Telerik
No money
Open Source - Now and Forever
NativeScript is licensed under the very permissive Apache 2 license.
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820602/ns-about-2.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439031/apache.png)
Enterprise Support
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2827388/pasted-from-clipboard.png)
Before the meeting
Social
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833573/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833576/pasted-from-clipboard.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833584/pasted-from-clipboard.png)
GitHub
7,363
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820563/download.png)
556
GitHub
187
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820563/download.png)
Contributors
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2839643/pasted-from-clipboard.png)
62
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820563/download.png)
Version
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833587/Leela_child.gif)
Documentation - appearance
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833593/turanga_leela___imperial_scum_by_spider_matt-d9hre8r.png)
Met the NativeScript
First meeting
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833625/turanga-leela-and-fry-from-futurama-cartoon.jpg)
No DOM
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270677/phonegap.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270277/nativescript.jpeg)
!==
No cross compilation
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270277/nativescript.jpeg)
!==
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270710/Xamarin-logo.png)
Direct access to Native API
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270277/nativescript.jpeg)
!==
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270719/react.png)
Cross platforms
NativeScript runs on a pre packaged JavaScript virtual machine
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270926/apple-logo.png)
WebKit JavaScript Core
Google V8
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2272774/windows-black.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2270937/V8_JavaScript_engine_logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/196485/images/2272775/android-2048-black.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833627/background-images-futurama-turanga-leela-57531-wallpapers.jpg)
Cross platforms
![](https://s3.amazonaws.com/media-p.slid.es/uploads/169755/images/1410571/Screen_Shot_2015-05-22_at_1.24.27_PM.png)
You can choose
JavaScript
TypeScript
+ Angular2
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439076/ts.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439080/angular.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2839653/learn-javascript.png)
UI thread
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2823989/marketplace-app-in-action.gif)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833639/leela_the_bunnygirl_early_colo_by_t0gt0g.jpg)
Native Layouts
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439136/absolute.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439138/dock.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439140/grid.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439142/stack.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439144/wrap.png)
Absolute
Dock
Grid
Stack
Wrap
How does it work?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833683/4825407714_404f68a5fc.jpg)
How does it work?
var time = new android.text.format.Time();
time.set(1, 0, 2015);
console.log(time.format("%D"));
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833697/risovach.ru.jpg)
How does it work?
android.text.format.Time
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833729/113781.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820325/NativeScript_logo.png)
metadata
Reflection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820325/NativeScript_logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2836062/abhez3N.jpg)
How does it work?
var time = new android.text.format.Time();
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833729/113781.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2820325/NativeScript_logo.png)
Android NJI
callback(...)
proxy Time
How does it work?
![](https://s3.amazonaws.com/media-p.slid.es/uploads/482649/images/2439302/call-android-api.png)
Plug and Play
Use native libraries for each platform
Shared UI styles through CSS
Use JS libraries
![](https://s3.amazonaws.com/media-p.slid.es/uploads/169755/images/1414729/fillinggaps_chartpage_570.jpg)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/169755/images/1414733/css3logo.png)
Ideal
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2835853/fry_and_leela__s_wedding_dance_by_ladybender-d5i3pbu.png)
First surprise
Angular2 + NativeScript
Version: 0.2.0
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2821290/images.png)
Angular directives support is limited
Router/Form modules
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2821290/images.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2835888/beta03.png)
First lie
Cross Platform
![](https://s3.amazonaws.com/media-p.slid.es/uploads/samidip/images/561434/android-logo.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/samidip/images/549249/Windows_logo_-_2012.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/169755/images/1411128/Apple.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2821330/acherkn.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2821365/Fry_Looking_Squint.jpg)
Hmmmmm...
First truth
UI thread only
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2824421/zveropolis-4668x3300-lenivec-8017.jpg)
Heeeellooooo
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2835803/fry_from_futurama_by_headflamage.png)
I don't like your friends!
Npm modules with DOM or Node dependencies
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833790/111_1_6_design.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833788/Dr_John_Zoidberg.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833786/604c84a5-1617-4325-9d01-3d36af3c0846.png)
No more girls!
Preprocessors
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833792/Untitled__1_.png)
Anything else?
NS modules
Not all modules support both platforms
You need to write special js code for iOS and Android platforms
289
NS modules
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833856/Scared-Fry-Screams-In-Atlantic-Underwater-On-Futurama.gif)
And I can't cook...
Debugging
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833858/Rebirth_awe.jpg)
Debugging: Node inspector
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2821635/Untitled.png)
Sources
Console
Debugging 0
-
No Source-Map
-
No Network
-
No Element Inspector
-
No Performance
-
The console logs are not colored
Debugging 0
VERY long reload time:
*Win 10
debugger ~ 20s
livesync ~ 50s
build ~ 3m
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833861/risovach.ru__1_.jpg)
Debugging 0
VERY long reload time:
*Win 10
livesync: you can't add resources ~ rebuild + debug
livesync doesn't support debug ~ livesync + debug
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833862/frowntvcartoonsreactioncryingfuturamaphilip-j-fry.gif)
Future ...
Roadmap
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833877/Leela_in_bed_with_Fry.jpg)
Roadmap v2.2
Roadmap v2.3
Love or Hate?
I'll call your later...
But now...
![](https://s3.amazonaws.com/media-p.slid.es/uploads/471017/images/2833871/Scared-Fry-Screams-In-Atlantic-Underwater-On-Futurama.gif)
Thank you!
Questions?
Resources
https://ru.wikipedia.org/wiki
https://theinfosphere.org/Fry-leela_relationship
http://futurama.wikia.com/wiki/
http://wallpapershome.ru/filmi/multfilmi/zveropolis-lenivec-8017.html
http://www.telerik.com/
https://www.nativescript.org/
http://www.deviantart.com/morelikethis/574027227
NativeScript Futurama
By Aliaksei Bahachuk
NativeScript Futurama
Love or Hate?
- 1,299