Developers can run TypeScript logic directly in OS windows with this desktop app development environment
If you want to build apps that run directly in operating system windows without a browser, this toolkit converts your code into native executables. You write the app's logic and interface in TypeScript and a dedicated markup language, and a compiler transforms this into native code that renders in the OS window. Although currently experimental, it supports embedding web content and using Zig Core, allowing for various app structures.
Current Experimental Status
This repository is still classified as experimental. Feature support varies by platform, and mobile support is still developing. You must check the platform support matrix for specific details. Therefore, it is appropriate to approach it for exploring new desktop app development methods or prototyping rather than immediate production use.
App Structure and Data Flow
The app follows a structure where events pass typed messages to an update function. update returns the next model and effects, and the screen derives its content from this model. External operations like file system access or network requests are handled through effects and TypeScript services. The app core uses a checked subset of TypeScript and compiles to native code. To use Zig Core, specify the --template zig-core option during initialization.
Development Workflow and CLI
The CLI is installed in a Node.js 24+ environment using the npm install -g @native-sdk/cli command. Creating a project with native init my_app generates a default structure including a counter app. src/core.ts contains the model and messages, src/app.native contains the layout and bindings, and app.json contains the app identifier and security settings. native build generates the release binary.
Sample Apps and Documentation Scope
The repository includes various sample apps such as a chatbot, soundboard, system monitor, and calculator. The chatbot demonstrates streaming responses and text editing, the soundboard shows audio playback and context menus, and the system monitor displays subprocess effects and charts. The documentation covers quick start, native UI markup, built-in component catalog, TypeScript services, testing, automation, and packaging guides. These examples help verify how each feature combines.
Pre-Application Checks
This toolkit is released under the Apache-2.0 license. However, given its experimental status, you must verify platform-specific feature differences. Since mobile support is not yet stable, it is advisable to check feature limitations for your target platform in advance. You should also confirm that environment requirements are met, such as whether the Zig toolchain is in the PATH or if a pinned version download is required. If you are planning a production deployment, you need to carefully review the current support matrix and the packaging guide in the documentation.