bryanchance / neutralinojs

Portable and lightweight cross-platform desktop application development framework

Home Page:https://neutralino.js.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

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

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

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 via Chocolatey.

choco install boost-msvc-14.1

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]

Sponsors and Donators

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.

Become a Patreon

Licenses and Copyrights

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

FOSSA Status

Contributors

The above image was generated with contributors-img.

About

Portable and lightweight cross-platform desktop application development framework

https://neutralino.js.org

License:Other


Languages

Language:C++ 98.7%Language:JavaScript 0.6%Language:C 0.4%Language:Shell 0.1%Language:Batchfile 0.1%Language:HTML 0.0%Language:CSS 0.0%Language:CMake 0.0%