gitwtfhub

wtf is nativescript-expo?

djdeveloperr/nativescript-expo — explained in plain English

Analysis updated 2026-05-18

38TypeScriptAudience · developerComplexity · 4/5LicenseSetup · moderate

TL;DR

An Expo demo showing NativeScript plugged in as a TurboModule so a React Native app can access the full iOS SDK directly in TypeScript.

Mindmap

mindmap
  root((NativeScript Expo))
    What it does
      NativeScript as TurboModule
      Direct iOS SDK access
      Hot reload native code
    Tech stack
      TypeScript
      Expo
      React Native
      NativeScript
    Use cases
      Apple Wallet passes
      Document scanning
      Native PDF viewing
    Audience
      Mobile developers
      React Native engineers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Call native iOS SDK APIs directly from TypeScript inside a React Native app without a custom native bridge.

REASON 2

Generate and add Apple Wallet passes to a React Native app using PassKit.

REASON 3

Add a native document scanner or PDF viewer to a React Native app using VisionKit and PDFKit.

What's in the stack?

TypeScriptExpoReact NativeNativeScriptSwift/iOS SDK

How it stacks up

djdeveloperr/nativescript-expojavlonbek1233/-bento-gridjavlonbek1233/amaliy-ish-5
Stars383838
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderateeasyeasy
Complexity4/51/51/5
Audiencedevelopervibe codervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires a Mac with Xcode and an iOS simulator or device to run npx expo run:ios.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

Wtf does this do

This project is an example Expo app that shows how NativeScript, a framework normally used on its own to build native mobile apps, can instead be plugged into a React Native and Expo app as a TurboModule. In practice this means the app can reach directly into the full iOS SDK using TypeScript, without needing a separate native bridge library for every iOS feature it wants to use. The author explains the motivation behind this: normally, using a specific native iOS API from a React Native app means either waiting for someone to publish a wrapper library for it or writing native code yourself. By exposing NativeScript's runtime as a TurboModule, developers can call the latest iOS SDK APIs straight from TypeScript with no extra dependencies, and native components can even hot reload without recompiling the whole React Native project. The README also describes ongoing work on NativeScript's runtime, including support for running it with different JavaScript engines such as Hermes, V8, QuickJS, and JSC, and compiling it as a JSI module so React Native apps can tap into the native access that NativeScript apps have relied on for years. To demonstrate this integration, the example app includes several working iOS features built directly in TypeScript: generating and adding Apple Wallet passes, a native document scanner powered by VisionKit, a native PDF viewer built on PDFKit, native tab bar integration, and a Metal powered shine effect on the wallet pass combined with CoreMotion for gyroscope based motion effects. Getting started is straightforward: install the project's dependencies with npm install, then run it on an iOS device or simulator with npx expo run:ios. The project is licensed under MIT, so it can be freely used, modified, and redistributed, including commercially, as long as the original copyright notice is kept.

Yoink these prompts

Prompt 1
Walk me through installing dependencies and running this on npx expo run:ios.
Prompt 2
Explain how NativeScript works as a TurboModule to expose the iOS SDK in TypeScript.
Prompt 3
Show me how the Apple Wallet pass generation feature is implemented in this project.
Prompt 4
Help me add a new native iOS feature to this app following the pattern used for the PDF viewer.

Frequently asked questions

wtf is nativescript-expo?

An Expo demo showing NativeScript plugged in as a TurboModule so a React Native app can access the full iOS SDK directly in TypeScript.

What language is nativescript-expo written in?

Mainly TypeScript. The stack also includes TypeScript, Expo, React Native.

What license does nativescript-expo use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is nativescript-expo to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is nativescript-expo for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.