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, and Web.
- Neutralinojs vs Electron vs NW.JS vs Tauri vs NodeGui vs Flutter vs .Net MAUI
- Neutralinojs vs Electron vs NW.js (2018)
- Roadmap for 2021
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 build
This documentation is for contributors. If you would like to learn Neutralinojs application development, please check this documentation.
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
- Select existing issues or create a new issue. Send us a pull request with your code changes. We are happy to review it ❤️
- Refer to this guide for contribution guidelines.
- We use Slack and Discord for quick discussions.
- Join our Google group for feature proposals and long discussions.
First, clone this repository.
git clone https://github.com/neutralinojs/neutralinojs.git
cd neutralinojs
Linux
No need for separate compilers because Linux distributions usually have GNU C/C++ compilers installed already.
Install GTK, webkit, boost and other required libraries
Ubuntu
If you are using a newer version of Ubuntu, some libraries may be pre-installed.
sudo apt-get install \
libboost-all-dev \
libgtk-3-dev \
libwebkit2gtk-4.0-37 \
libwebkit2gtk-4.0-dev \
libappindicator3-dev
Fedora
sudo dnf install \
@development-tools \
libappindicator-gtk3.x86_64 \
gtk3 \
webkit2gtk3.x86_64 \
webkit2gtk3-devel.x86_64 \
boost-devel
Compile the Neutralinojs framework.
bash build_linux.sh # [ia32, x64, armhf, arm64]
Windows
Install the latest Visual Studio IDE. Neutralinojs compilation on Windows will use MSVC (aka cl.exe
) C++ compiler. Install Boost libraries.
Compile the Neutralinojs framework.
./build_windows.bat # [ia32, x64, armhf, arm64]
macOS
Install Xcode Command Line Tools. Install Boost libraries via Homebrew.
brew install boost@1.76
Compile the Neutralinojs framework.
bash build_macos.sh # [ia32, x64, armhf, arm64]
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.
- 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-2021 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 sam@hocevar.net
- 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
- Logo design credits: IconsPng. Copyright free as mentioned in their website.
Please check all licenses from this link.
The above image was generated with contributors-img.