nativescript: "write once, run anywhere mobile" com javascript?
TRANSCRIPT
NativeScript
Por José Yoshiriro - 2015
NativeScript: "write once, run anywhere mobile" com Javascript?
2NativeScript"write once, run anywhere mobile" com Javascript?
Yoshi, quem?
Professor desde 2003Desde jan/2014 na
Programador desde 2002Desde dez/2014 na
Who??
3NativeScript"write once, run anywhere mobile" com Javascript?
AgendaO problema
A solução
Concorrência
Como funciona
Números
Demo
4NativeScript"write once, run anywhere mobile" com Javascript?
Já ouvi (li) isso em algum lugar..."Write once, run anywhere"???
5NativeScript"write once, run anywhere mobile" com Javascript?
O paiCriado (2014) e mantido pela Telerik
6NativeScript"write once, run anywhere mobile" com Javascript?
O paiCriado (2014) e mantido pela Telerik
7NativeScript"write once, run anywhere mobile" com Javascript?
Qual o problema?
Menor >Menor >
Maior >Maior >
8NativeScript"write once, run anywhere mobile" com Javascript?
Uma resposta: NativeScriptUma tecnologia que permita, a partir de 1 linguagem, gerar apps nativas para
várias plataformas mobile
Livre e open source (licença Apache 2)
9NativeScript"write once, run anywhere mobile" com Javascript?
Como funciona
APIs NativasAcessa objetos Nativos
Invoca funções JavaScript
JavaScriptVM
10NativeScript"write once, run anywhere mobile" com Javascript?
Como funciona
APIs Nativas
Acessa objetos Nativos
Invoca funções JavaScriptJavaScriptVM
Bridge
Bindings
Marshalling Service
Invoca funções JavaScript
Invoca API nativavia JavaScript
11NativeScript"write once, run anywhere mobile" com Javascript?
Como funciona
APIs Nativas
Acessa objetos Nativos
Invoca funções JavaScriptJavaScriptVM
BridgeCall
Dispacher
Bindings
Marshalling Service
Invoca API nativavia JavaScript
Invoca funções JavaScriptInvoca funçõesJavaScript
12NativeScript"write once, run anywhere mobile" com Javascript?
Como funcionavar file = new File(myfilepath);
Marshalling Servicejava.lang.String
Bindingjava.io.File()
Call Dispatcherjava.io.File
file = FileProxy
13NativeScript"write once, run anywhere mobile" com Javascript?
Como funciona
Em tempo de execução
Código em JavaScript
File file = new java.io.File(path);
NSFileManager.defaultManager();fileManager.createFileAtPathContentsAttributes(path);
var file = new File(path);
15NativeScript"write once, run anywhere mobile" com Javascript?
Como funciona
Segundo a Telerik, a perda de
desempenho é de cerca de 10%
20NativeScript"write once, run anywhere mobile" com Javascript?
API Nativa
Web View (Browser)
NativeScript != Híbridos
22NativeScript"write once, run anywhere mobile" com Javascript?
Números do NativeScript- Nota -
Todas os números aqui foram coletados entre 9 e 22 de julho de 2015.
25NativeScript"write once, run anywhere mobile" com Javascript?
Por que JavaScript?
889.970 Perguntas
228.914 Sem resposta (25%)
26NativeScript"write once, run anywhere mobile" com Javascript?
Números do NativeScript - Stackoverflow.com
Sem "tag" específica
147 perguntas
10 Sem resposta (7%)
27NativeScript"write once, run anywhere mobile" com Javascript?
Números do NativeScript - Indeed
Nenhuma Vaga
29NativeScript"write once, run anywhere mobile" com Javascript?
Números do NativeScript - Livros
Livros na Amazon: 0
Livros na Casa do Código: 0
30NativeScript"write once, run anywhere mobile" com Javascript?
NativeScript - Eventos em 2015
EUA - 11 encontros Colômbia - 3 encontros
Reino Unido - 3 encontrosBrasil - 2 encontros
Austrália, Bulgária, Espanha e Maurícia - 1 encontro
31NativeScript"write once, run anywhere mobile" com Javascript?
Codando - Grande Diferencial
0 (zero) dias para usar novas funcionalidades das novas versões dos
sistemas mobile
36NativeScript"write once, run anywhere mobile" com Javascript?
Codando - Quais IDEs?
Qualquer IDE Javascript!
37NativeScript"write once, run anywhere mobile" com Javascript?
Codando... o que precisa?
Node.js 0.10.26+
JDK 8
Apache Ant 1.8+
SDKs Android, iOS e/ou Windows
NativeScript CLI (via npm)
38NativeScript"write once, run anywhere mobile" com Javascript?
Codando o "hello world"tns create meu-projeto
cd meu-projeto
// adicionando as plataformas "alvo"
tns platform add ios
tns platform add android
39NativeScript"write once, run anywhere mobile" com Javascript?
Codando o "hello world"// executando em emulador
tns emulate ios
tns emulate android
// executando em dispositivos conectados
tns run ios
tns run android
40NativeScript"write once, run anywhere mobile" com Javascript?
Codando o "hello world"// gerando os apk ou ipa
tns build android
tns build ios
// gerando e implantando os apk ou ipa
tns deploy android
tns deploy ios
43NativeScript"write once, run anywhere mobile" com Javascript?
Codando o "hello world"main-page.xml
44NativeScript"write once, run anywhere mobile" com Javascript?
Codando o "hello world"
main-view-model.js
52NativeScript"write once, run anywhere mobile" com Javascript?
Exemplos
Watchgithub.com/NativeScript/sample-iOS-WatchKit
53NativeScript"write once, run anywhere mobile" com Javascript?
Exemplos
Calculadoragithub.com/alexziskind1/nativescript-calculator-
demoapp
54NativeScript"write once, run anywhere mobile" com Javascript?
Exemplos
Gráficosgithub.com/nikolay-diyanov/sample-iOS-
Seismograph
55NativeScript"write once, run anywhere mobile" com Javascript?
ExemplosApp "Amroo"
github.com/MiroValchev/amroo-tnext
56NativeScript"write once, run anywhere mobile" com Javascript?
ExemplosApp "Exemplo" na Play e na AppStore
57NativeScript"write once, run anywhere mobile" com Javascript?
ExemplosApp "Telerik Next" na Play e na AppStore