/neutralinojs

Portable and lightweight cross-platform desktop application development framework

Primary LanguageC++OtherNOASSERTION

GitHub (pre-)release GitHub last commit FOSSA Status Twitter OpenCollective Support us

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.

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
 $ neu build

This documentation is for contributors. If you would like to learn Neutralinojs application development, please check this documentation.

Why Neutralinojs?

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 implements a RESTful API for native operations, and it 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

Contribution

  • 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.

Collaboration and communication

Framework Developer Guide

Setup and compilation

Linux

No need for separate compilers because Linux distributions usually have GNU C/C++ compilers installed already.

Install GTk and webkit libraries

Ubuntu

If you are using a newer version of Ubuntu, some libraries may be pre-installed.

$ sudo apt-get install \ 
    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

Compiling Neutralino server on Linux

$ bash build_linux.sh # [ia32, x64]

Windows

Install the latest Visual Studio IDE. Neutralinojs compilation on Windows will use MSVC (aka cl.exe) C++ compiler.

Compiling Neutralino server on Windows

$ ./build_windows.bat # [ia32, x64]

macOS

Install Xcode Command Line Tools.

Compiling Neutralino server on MacOS

$ bash build_macos.sh # [ia32, x64]

Sponsors and Donators

Organizations and individuals support Neutralinojs. See: https://codezri.org/sponsors

If you like to support our work, you can donate to Neutralinojs via Patreon.

Become a Patreon

Licenses and Copyrights

  • Neutralinojs core: MIT. Copyright (c) 2021 Neutralinojs and contributors.
  • HTTP server library: MIT from yhirose/cpp-httplib. Copyright (c) 2017 Yuji Hirose.
  • 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 message box library: MIT from aaronmjacobs/Boxer. Copyright (c) 2014 Aaron Jacobs.
  • Base64 encoder/decoder library: MIT from tobiaslocker/base64. Copyright (c) 2019 Tobias Locker.
  • Logo design credits: IconsPng. Copyright free as mentioned in their website.

Please check all licenses from this link.

FOSSA Status

Contributors

The above image was generated with contributors-img.