explaingit

djdeveloperr/nativescript-expo

Analysis updated 2026-05-18

38TypeScriptAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

What is it built with?

TypeScriptExpoReact NativeNativeScriptSwift/iOS SDK

How does it compare?

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 get it running?

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.

In plain English

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.

Copy-paste 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

What 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.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.