When you just need to build a tiny desktop app: TinyJS
How a micro JavaScript runtime uses native OS webviews to shrink the desktop footprint.
In an age where tech billionaires are preoccupied with building massive data centers to run AI-generated code, software engineer Tarwin Stroh-Spijer has taken a completely different approach to app development. He has created an ecosystem called TinyJS, which focuses on building small desktop applications that run efficiently on macOS, Linux, and Windows.
TinyJS is not a "no code" framework but offers the full programming power of JavaScript, along with visual rendering and communication capabilities of the underlying OS. The secret behind TinyJS's small size lies in its use of the WebView window in each OS, leveraging built-in browser engines to render the apps instead of creating a custom UI layer.
Unlike Electron, which bundles a Chromium open-source browser core with each desktop app, TinyJS utilizes the OS's interprocess communication mechanisms for handling data transfer, eliminating the need for an HTTP server and security concerns. Developers can use JavaScript, CSS, and HTML to code TinyJS apps without any compiling necessary.
The core of TinyJS is txiki.js, an ultra-compact JavaScript runtime written by Saúl Ibarra Corretgé, making Deno and Bun appear bulky. The starter package is about 5.6MB, and the launcher adds another megabyte. Stroh-Spijer also compared TinyJS to the Tauri project, which creates tiny apps in roughly 10MB but requires developers to write applications in Rust, adding complexity.
TinyJS doesn't need Node.js as a dependency, unless you want to run a framework that requires it. It supports other JavaScript frameworks like React, Vue, and Svelte, or can run without dependencies at all. You can even use TinyJS to wrap a webpage by pointing the window to a URL, turning your favorite site into an app on your desktop.
Stroh-Spijer has created an "app store" for TinyJS that can be accessed directly from the desktop, featuring 25 free sample apps, including a world clock, clipboard history app, markdown editor, desktop ghost, SQLite browser, and even a clone of the legendary Winamp music player. Each app ranges from 3.8MB to 7.4MB in size. Once you install the launcher, you can download and run the apps you choose.
Written by urgent.news from The Register's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.
This story
This is one outlet's version. Read the fullest account.
- When you just need to build a tiny desktop app: TinyJS theregister.com