Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Nativescript - Front in Maceió
Search
Márcio Vicente
March 18, 2017
Programming
0
110
Nativescript - Front in Maceió
Front in Maceió - Nativescript introduction
Márcio Vicente
March 18, 2017
Tweet
Share
More Decks by Márcio Vicente
See All by Márcio Vicente
Nativescript - Building truly native apps with Javascript
marciovicente
0
120
Other Decks in Programming
See All in Programming
バッチ処理を「状態の記録」から「事実の記録」へ
panda728
PRO
0
150
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
230
育てるアーキテクチャ:戦い抜くPythonマイクロサービスの設計と進化戦略
fujidomoe
1
170
理論と実務のギャップを超える
eycjur
0
130
開発生産性を上げるための生成AI活用術
starfish719
3
460
CSC305 Lecture 04
javiergs
PRO
0
270
CSC509 Lecture 04
javiergs
PRO
0
300
Web フロントエンドエンジニアに開かれる AI Agent プロダクト開発 - Vercel AI SDK を観察して AI Agent と仲良くなろう! #FEC余熱NIGHT
izumin5210
3
520
登壇は dynamic! な営みである / speech is dynamic
da1chi
0
300
10年もののAPIサーバーにおけるCI/CDの改善の奮闘
mbook
0
810
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
700
GraphQL×Railsアプリのデータベース負荷分散 - 月間3,000万人利用サービスを無停止で
koxya
1
1.3k
Featured
See All Featured
How GitHub (no longer) Works
holman
315
140k
How to Ace a Technical Interview
jacobian
280
24k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.7k
Agile that works and the tools we love
rasmusluckow
331
21k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.9k
A better future with KSS
kneath
239
18k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
9
590
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.7k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Transcript
NativeScript Building truly native mobile apps with javascript }
} $ whoami Co-founder Software Engineer Márcio Vicente marciovicente
ARE YOU KIDDING ME? ARE YOU KIDDING ME? ARE YOU
KIDDING ME? ARE YOU KIDDING ME?
Native UX Native APIs Web Easy to learn Reuse Code
(desktop/mobile) Hybrid The problem }
What is NativeScript? "An open source framework for building truly
native mobile apps with JavaScript. Use web skills, like TypeScript, Angular and CSS, and get native UI and performance on iOS and Android"
Behind the scenes Cordova Plugins 1.7M+ Developer Community 130K+ Customers
300+ Awards
Not like Hybrid Apps There’s no DOM to manipulate or
style No WebView }
Not like React Native Unlimited API Faster }
Not like Xamarin No cross-compile No bindings required to access
native APIs }
Stack "This is your last chance. After this, there is
no turning back…”
Architecture pattern No more MVC M V VM Model View
View-Model Data logic UI Application Logic
Layout system Stack Wrap } Absolute Flexbox Dock Grid
Styling } Limited CSS properties Themes "Bootstrap" SAAS support Separated
files by platform or resolution
Plugins } Extensible
Full access to Android and iOS APIs
}
}
None
None
//main-page.xml }
}
Truly full access to Android and iOS APIs
//Accessing Native APIs }
}
TELL ME HOW TELL ME HOW TELL ME HOW TELL
ME HOW
J V M Javascript Virtual Machine JavaScriptCore V8
JVM Foo() → _Foo() C++ JNI JAVA OBJ-C
UI Components
}
}
}
Wrappers
} //Importing wrappers
Create your own NS module
} //Custom NS plugins // custom-plugins/device.ios.js module.exports = { version:
UIDevice.currentDevice().systemVersion } // custom-plugins/device.android.js module.exports = { version: Build.VERSION.RELEASE } // app.js import device from ‘./custom-plugins/device’; console.log(device.version);
Same Codebase
} //Same codebase <Button ios:text=“Submit" android:text=“Send" /> // attributes if
(page.ios) { new UiAlertDialog().show('text'); } else { new CustomJavaDialog('text'); } // from JS my-component.android.ts my-component.ios.ts // from file
There’s no silver bullet
None
} Get started $ npm install -g nativescript $
tns create my-app $ tns platform add ios $ tns run ios --emulator
Some tips • Use VS Code (+ NS extension) •
Create from template • nativescript.rocks
We’re hiring
} #obrigadoMCZ ❤