TinyJS est un framework pour développer des applications desktop en JavaScript, publié sous licence MIT par un développeur indépendant, tarwin. Le principe tient en une phrase : « un backend JavaScript avec accès complet au système, une fenêtre webview native, et rien d'autre ».

Ce qui le distingue est ce qu'il n'embarque pas. Electron livre un Chromium et un Node.js complets avec chaque application : le projet annonce des applications d'environ 6 Mo et les compare à des distributions Electron d'au moins 150 Mo.
TinyJS s'appuie sur la webview du système, WebKit sur macOS, WebView2 sur Windows, WebKitGTK sur Linux, et sur txiki.js, un runtime qui réunit QuickJS, libuv, SQLite et WebAssembly. Face à Tauri, qui utilise aussi la webview du système, la différence est le backend : JavaScript sans l’étape de compilation, là où Tauri demande Rust ; les API système sont intégrées, là où Tauri passe par des plugins. Face à Neutralino, le backend est un vrai processus qui dialogue par socket Unix (named pipe sous Windows), sans port réseau ouvert.
TinyJS supporte macOS 15 et plus, Apple Silicon et Intel ; Windows 10 et 11 ; Linux x86_64 et ARM64, avec glibc 2.35 et plus (Ubuntu 22.04, Debian 12) et WebKitGTK 4.1. Installation sur macOS et Linux (sous Windows, une commande PowerShell équivalente est fournie) :
curl -fsSL https://tinyjs.app/install | sh
tinyjs new myapp
cd myapp
tinyjs dev
tinyjs build
Le projet est jeune : création en juillet 202. À réserver aux tests, mais l'idée est intéressante : pour un outil interne ou un utilitaire, une application d'environ 6 Mo sans navigateur embarqué ni chaîne Rust.
En résumé :
- Des apps de 6 Mo
- Pas d’Electron, ni de Node, ni de Chromium embarqué
- Pas de serveur http
- Backend en JavaScript
- Frontend en HTML, CSS et JavaScript
- Eléments d’interface natifs
Site et documentation : https://tinyjs.app/
GitHub : https://github.com/tarwin/tinyjsapp
Actualité par la rédaction de Programmez!
Catégorie actualité: LangagesJavaScriptImage actualité AMP: