Neutralinojs is a lightweight and portable desktop application development framework. It lets you develop lightweight cross-platform desktop applications using JavaScript, HTML and CSS. Apps built with Neutralinojs can run on Linux, macOS, Windows, Web, and Chrome. Also, you can extend Neutralinojs with any programming language (via extensions IPC) and use Neutralinojs as a part of any source file (via child processes IPC).
- Neutralinojs vs. Electron, NW.JS, Tauri, NodeGui, Flutter, .Net MAUI, Wails
- Neutralinojs vs. Electron vs. NW.js (2018)
- Roadmap 2024
- Release notes
Get started with the neu CLI:
# Creating a new app
npm i -g @neutralinojs/neu
neu create hello-world
cd hello-world
neu run
# Building your app (No compilation - takes less than a second)
neu buildYou can use your favorite frontend frameworks:
# Creating a new React-based app
neu create hello-react -t codezri/neutralinojs-reactStart building apps: neutralino.js.org/docs
In Electron and NWjs, you have to install NodeJs and hundreds of dependency libraries. Embedded Chromium and Node make simple apps bloaty. Neutralinojs offers a lightweight and portable SDK which is an alternative for Electron and NW.js. Neutralinojs doesn't bundle Chromium and uses the existing web browser library in the operating system (Eg: gtk-webkit2 on Linux). Neutralinojs implements a WebSocket connection for native operations and embeds a static web server to serve the web content. Also, it offers a built-in JavaScript client library for developers.
Ask questions on StackOverflow using tag neutralinojs
Please check the contribution guide. We use GitHub Discussions and Discord for quick discussions.
Neutralinojs contributors:
Image created with contributors-img.
- Builds are powered by BuildZri
- Releases are powered by ReleaseZri
Organizations and individuals support Neutralinojs development. See: https://codezri.org/sponsors
If you like to support our work, you can donate to Neutralinojs via Patreon or GitHub Sponsors.
- Neutralinojs core: MIT. Copyright (c) 2021 Neutralinojs and contributors.
- C++ websocket client/server library: BSD-3-Clause from zaphoyd/websocketpp. Copyright (c) 2014, Peter Thorson. All rights reserved.
- JSON parser library: MIT from nlohmann/json. Copyright (c) 2013-2022 Niels Lohmann.
- Cross-platform webview library: MIT from webview/webview. Copyright (c) 2017 Serge Zaitsev.
- Cross-platform tray library: MIT from zserge/tray. Copyright (c) 2017 Serge Zaitsev.
- Cross-platform GUI dialogs library: WTFPL from samhocevar/portable-file-dialogs. Copyright (c) 2018—2020 Sam Hocevar
- Base64 encoder/decoder library: MIT from tobiaslocker/base64. Copyright (c) 2019 Tobias Locker.
- Cross-platform known platform directories API: MIT from sago007/PlatformFolders. Copyright (c) 2015 Poul Sander.
- C++ logging library: MIT from amrayn/easyloggingpp. Copyright (c) 2012-2018 Amrayn Web Services. Copyright (c) 2012-2018 @abumusamq
- Cross-platform process library: MIT from eidheim/tiny-process-library. Copyright (c) 2015-2020 Ole Christian Eidheim.
- Asio standalone C++ library: Boost License v1.0 from chriskohlhoff/asio. Copyright (c) 2003-2021 Christopher M. Kohlhoff
- Cross-platform C++ clipboard library: MIT from dacap/clip. Copyright (c) 2015-2021 David Capello
- Cross-platform C++ system information library: CC0 1.0 Universal from ThePhD/infoware. Written in 2016-2020 by nabijaczleweli and ThePhD
- Cross-platform C++ filesystem watcher library: MIT from SpartanJ/efsw. Copyright (c) 2020 Martín Lucas Golini
- Logo design credits: IconsPng. Copyright free as mentioned in their website.
Windows WebView2 支持通过 window.open("", "neutralino-popup:editor", "width=1000,height=700") 创建无地址栏的空白弹窗。仅名称以 neutralino-popup: 开头且地址为 about:blank 的请求使用该行为;其他请求仍交由 WebView2 默认处理。
弹窗使用系统标题栏,与主窗口处于同一进程,保留浏览器 Window 引用、同源文档访问、页面标题及 window.close() 行为。弹窗不额外初始化 Neutralino 原生 API,也不创建业务后端通信。通过根目录 编译.bat 构建 Windows 运行时。
