Slide 1

Slide 1 text

Hello, NativeScript Jamie Birch

Slide 2

Slide 2 text

What framework do you use to develop mobile apps?

Slide 3

Slide 3 text

What about ?

Slide 4

Slide 4 text

Why use NativeScript? A 1-minute pitch • use web tech to develop a native app: • HTML, CSS, JS • React, Vue, Angular, Svelte, Solid… JQuery? • Tailwind • access all native APIs via JS NativeScript allows you to:

Slide 5

Slide 5 text

A taste of NativeScript The web tech export function HomeScreen({ navigation }) { return ( Hello World! Dialogs.alert("Tapped!")}> Tap me for an alert navigation.navigate("Two", { message: "Hello, world!" })} > Go to next screen ); }

Slide 6

Slide 6 text

A taste of NativeScript The native API access export function callPhoneNumber(platform, phoneNumber) { if(platform === "ios"){ UIApplication.sharedApplication.openURLOptionsCompletionHandler( NSURL.URLWithString(`tel://${phoneNumber}`), {}, (success) => console.log(success), ); return; } if(platform === "android"){ Application.android.foregroundActivity.startActivity( new android.content.Intent( android.content.Intent.ACTION_DIAL, android.net.Uri.parse(`tel:${phoneNumber}`), ) ); return; } }

Slide 7

Slide 7 text

How does NativeScript work?

Slide 8

Slide 8 text

How does NativeScript work? Architecture overview JS→native runtime Similar to App development framework Similar to Depends upon

Slide 9

Slide 9 text

How does NativeScript work? The JS→native runtime • It’s a V8-based runtime, like Node.js • It provides 1:1 JS bindings to all iOS or Android APIs • In future, will be an npm library (based on Node-API) • will work on Hermes, QuickJS, JSC, etc. • will work inside React Native, Node.js, Bun, and Deno

Slide 10

Slide 10 text

How does NativeScript work? The app development framework • It’s a framework for app dev, like React Native • It implements cross-platform UI components using the NativeScript runtime • These components are then adapted for React, Vue, Angular, etc.

Slide 11

Slide 11 text

Enough talk, let’s see a demo

Slide 12

Slide 12 text

Blackout Lighting Console, by nStudio (2024)

Slide 13

Slide 13 text

How is it run?

Slide 14

Slide 14 text

NativeScript joins the OpenJS Foundation (2020)

Slide 15

Slide 15 text

Conclusion • NativeScript is a natural tool for building native apps with web tech • It can be used standalone (as an end-to-end app framework) • … or just as a runtime (to access native APIs from JS) • It’s capable • It’s an openly governed community project with 23.8k GitHub stars • Give it a try!

Slide 16

Slide 16 text

Profile Tokyo Engineer at NativeScript TSC Chair @birch_js @shirakaba Thanks for watching! Jamie Birch