/neutralinojs

Portable and lightweight cross platform application development framework

Primary LanguageC++MIT LicenseMIT

GitHub license GitHub (pre-)release GitHub last commit HitCount Twitter OpenCollective Support us

Neutralino is a lightweight and portable application development framework. It lets you develop cross-platform applications using JavaScript/TypeScript, HTML and CSS.

Neutralinojs vs Electron vs NW.js

Why Neutralinojs?

In Electron and NWjs you have to install NodeJs and hundreds of dependency libraries. Embedded Chromium and Node creates large overhead and makes even simple apps like “hello world” considerable in size. Neutralino offers a lightweight and portable SDK which is an alternative for Electron and NW.js also with many advantages.

Ask questions on Stackoverflow using tag neutralinojs

See how it works

How it works?

Contribution

Help Neutralino!

  • Give us a star ⭐
  • Fork and Clone! Awesome
  • Select existing issues or create a new issue and give us a PR with your bugfix or improvement after. We love it ❤️
  • Refer to this guide for Contribution Procedures and Standards.

Neutralinojs cloud

This experimental mode can be used to expose native functions for clients

./neutralino  /dev/null 2>&1 &

Check this article

Realtime Chat Room - Slack

Mailing List - Google Group

  • Join our Google group for feature proposals and requests.
  • You can help us by writing sample Neutralino apps,by composing or improving documentation or by writing code.

Developer Guide

Required tools

To create Neutralino developer environment in your pc, install these tool kits.

Installing latest GNU C/C++ compilers

Linux

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

Windows

Latest versions of GNU C/C++ compilers can be easily installed with MSYS2 tools collection. After a successfull installation you can run the following command on MSYS2 console to install GNU C/C++ compilers (64-bit versions).

 $ pacman -S mingw-w64-x86_64-gcc  

Build Neutralino platform in Windows

> build

Build Neutralino platform in Linux

Install GTk and webkit libraries

On Debian/Ubuntu based OS

$ sudo apt-get install libgtk-3-dev
$ sudo add-apt-repository ppa:webkit-team/ppa
$ sudo apt-get update
$ sudo apt-get install libwebkit2gtk-4.0-37 libwebkit2gtk-4.0-dev
$ bash build.sh linux

Neutralino platform components will be assembled in /dist

Build Neutralino server in Windows

> cd core-windows
> build

Build Neutralino server in Linux

$ cd core-linux
$ bash build.sh

Neutralino server will be compiled in /bin

MacOS Build

Neutralino now supports MacOSX

Build Requirenments

  • Xcode Command Line Tools
  • CMake 3.15+
$ bash build.sh macos

Debug Builds

Debug builds are unoptimized fat binaries containing debug information. This is the type you should use for any debugging purpose.

Automatically
  • cd core-macos
  • bash build.sh
Manually
  • mkdir build
  • cd build
  • cmake ..
  • make -j "$(sysctl -n hw.physicalcpu)"

The resulting binary will be placed in build directory

Release Builds

Release builds are optimized binaries with a very small footprint. Suitable for distributions

  • mkdir release
  • cd release
  • cmake .. -DCMAKE_BUILD_TYPE=Release
  • make -j "$(sysctl -n hw.physicalcpu)"

The resulting binary will be placed in release directory

To install resulting binary to bin directory use

  • make install

Build Neutralino.js with webpack

$ cd neutralino.js
$ npm install
$ npm run build

Become a Backer

If you like to contribute by funding for sustaining our work, Please visit https://opencollective.com/neutralinojs

Become a Patron

License

MIT

Contributors

Made with contributors-img.