• Stars
    star
    900
  • Rank 50,742 (Top 1.0 %)
  • Language
    Python
  • License
    MIT License
  • Created over 10 years ago
  • Updated 27 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Uses NW.js to generate "native" apps for already existing web apps.

Not being actively maintained!

Thank you all for using Web2Exe over the years! Unfortunately, I don't have the time to maintain this anymore (as you've probably noticed). If anyone wants to take over this repo let me know via email. If you use this and want paid support or you want to pay for further development, you can also contact me via email (which is on my Github profile).

Latest Release:

Github Releases (by Release)

All Releases:

Github All Releases

Web2Executable

Releases (Downloads) (new!)

What is it?

Web2Executable is a friendly command line and GUI application that can transform your Nodejs (or any other JS/HTML) app into an executable (and libraries) that can run in a contained, desktop-like style. It can export to Mac OS X, Windows and Linux all from one platform, so no need to go out and buy expensive hardware.

It's powered by the very awesome project NWJS and PySide, is open source, and is just dang awesome and easy to use.

If you have an idea for a feature, please create a new issue with a format like this: "Feature - My Awesome New Feature", along with a good description of what you'd like the feature to do.

On the other hand, if you have any annoyances with the application and want to contribute to making it better for everyone, please file an issue with "Annoyance:" as the first part of the title. Sometimes it's hard to know what is annoying for people and input is much appreciated :)

What About Electron?

If you want to export using Electron instead of NW.js, try Electrify, my other app based on Web2Executable.

Who's Using It?

Lots of people! There are currently thousands of downloads and several articles written about using Web2Executable.

Some articles include:

Getting a Phaser Game on Steam

Packt Publishing NW.js Essentials Tutorial and Ebook

A Russian NW.js Tutoral

Marv's Blog

Shotten.com Node-webkit for Poets

If you have a project you'd like to see listed here that was successfully built using Web2Executable or you have written an article that mentions it, feel free to send me an email with a link and I'd be super stoked to paste it here :)

Features

  • Cross platform to Mac, Windows, Linux
  • Working media out of the box (sound and video)
  • Easy to use and straightforward
  • Streamlined workflow from project -> working standalone exe
  • Same performance as Google Chrome
  • Works with Phaser; should work with other HTML5 game libraries
  • Export web applications to all platforms from your current OS
  • Ability to specify a node-webkit version to download
  • Automatic insertion of icon files into Windows exe's or Mac Apps by filling out the icon fields as necessary
  • A command line utility with functionality equivalent to the GUI. Useful for automated builds.
  • Compression of executables with upx

Planned New Features

  • The ability to add external files to the project
  • Minifying JS and HTML

Getting Started

Using Prebuilt Binaries

When using the prebuilt binaries for Windows, Mac, or Ubuntu, there are NO dependencies or extra applications needed. Simply download Web2Exe for the platform of your choice, extract, and double click the app/exe/binary to start. This applies to both the command-line version and the GUI version.

NOTE!: Some people report needing the Microsoft Visual C++ 2008/2010 SP1 and regular Redistributable package. I don't have a machine to test this, but just know that you might need the package if the application won't open or spits out the following error:

Error: The application has failed to start because the side by side configuration is incorrect please see the application event log or use the command line sxstrace.exe tool for more detail.

Building from Source

Requires the PySide library and Python 3.4.3 or higher. If you want to replace the icon in the Windows Exe's, this will do it automatically with the latest code if you have PIL or Pillow installed.

Command line interface

Dependencies: configobj (install with pip) and Pillow if you want icon replacement (not necessary)

Run the command_line.py with the --help option to see a list of export options. Optionally, if you don't want to install python, there are builds for Mac and Windows in the command_line_builds folder of this repository.

Example usage (if using the prebuilt binary, replace python3.4 command_line.py with the exe name):

python3.4 command_line.py /var/www/html/CargoBlaster/ --main html/index.html --export-to linux-x64 windows mac --width 900 --height 700 --nw-version 0.10.5

GUI

Install dependencies:

pip install -r requirements.txt

Initiate submodules:

git submodule update --init --recursive

Run with:

python3.4 main.py

General Instructions for exporting:

  1. Choose a project folder with at least one html or php file. The name of the export application will be autogenerated from the folder that you choose, so change it if you so desire.
  2. Modify the options as needed.
  3. Choose at least one export platform and then the Export button should be enabled (as long as the field names marked with a star are filled out and all files in the fields exist).
  4. Click the export button and once it's done, click the "Open Export Folder" button to go to the folder where your exported project will be.

Issues?

If you have an issue, please check the FAQ before filing an issue to see if it helps.

FAQ

Additional Info

Changelog

Screenshots

License

The MIT License (MIT)

Copyright (c) 2015 SimplyPixelated

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

More Repositories

1

nw-sample-apps

Sample Apps
JavaScript
1,945
star
2

nw-builder

Build NW.js applications for Linux, MacOS and Windows
JavaScript
1,683
star
3

nw-updater

Update NW.js applications.
JavaScript
474
star
4

nw-vue-cli-example

NW.js, Vue-CLI 4, Vue-DevTools
JavaScript
104
star
5

nwjs-shell-builder

NW.js (node-webkit) shell script builder and packager scripts
Shell
82
star
6

nw-vue3-boilerplate

NW.js + Vue 3 + Vite + Pinia + Vue-Router + Vitest
JavaScript
58
star
7

create-desktop-shortcuts

Easy API to create desktop shortcuts with Node
JavaScript
47
star
8

nw-dev

A drop-in library for nw.js development
32
star
9

nw-angular-example

An example of integrating Angular with NW.js
TypeScript
27
star
10

nw-local-server-example

An example of using a local webserver in NW.js
HTML
22
star
11

nwjs-packager

Build your NW.js app and generate archives, packages, setup files and more!
JavaScript
19
star
12

nw-vue-devtools

devDependency to add Vue-DevTools into NW.js
JavaScript
14
star
13

find-in-nw

Adds "Ctrl+F" find box to highlight text in the DOM
HTML
13
star
14

nwjs-print-server

Websocket server to interface a website with a printer
JavaScript
11
star
15

nw-tray-example

Example tray app in NW.js
JavaScript
10
star
16

nw-splash-screen-example

Show splash screen until main application loads.
HTML
9
star
17

nw-img-vue

Caches copies of online images locally and loads them first if available
Vue
9
star
18

nw-splasher

Small library to show a splash screen until main application loads.
JavaScript
9
star
19

window-communication-example

Example of communication between windows in NW.js
HTML
7
star
20

nw-electron-adapter

An adapter for Electron's API inside NW.js
JavaScript
6
star
21

nwdc

NW.js debug console for Windows
JavaScript
6
star
22

node-default-application-protocol

A cross-platform, Node tool for setting a custom URI protocol handler on an OS
JavaScript
6
star
23

get-windows-shortcut-properties

A Node.js library to get the properties of a Windows .lnk or .url shortcut file
JavaScript
6
star
24

nw-programmatic-folder-select

Programmatically open a native "Folder select" dialog
JavaScript
5
star
25

nwutils.github.io

NW Utils website
Vue
4
star
26

frameless-example

NW.js frameless window example
HTML
4
star
27

electron-to-nwjs

Build an Electron app as a NW.js app
JavaScript
4
star
28

nw-utils-builder

WIP: Do not use | Experimental NW.js build tool
JavaScript
4
star
29

SnowPack-nw

Boilerplate for start multi desktop App development using SnowPack
CSS
4
star
30

nw-bg-script-example

A demo of how JavaScript runs in NW.js
HTML
4
star
31

nw-global-installer

NW.js global install tool (WIP)
4
star
32

nw-jquery-example

An example of integrating JQuery with NW.js
JavaScript
4
star
33

nw-splasher-auto-update

WIP: A tool to automate checking for updates and downloading newer versions
JavaScript
3
star
34

nw-utils

Utilities and helper functions for NW.js
JavaScript
3
star
35

nw-utils-settings

WIP: Utility for Saving/Loading app settings
2
star
36

nw-selenium-python-example

An example of using Selenium for end-to-end testing of NW.js apps via Python
Python
2
star
37

nw-dev-keybindings

Open dev tools and refresh keybindings for NW.js
JavaScript
2
star
38

nw-react-cra-example

An example of integrating Create React App with NW.js
JavaScript
2
star
39

nw-window-manager

WIP: NW.js Window Management library
2
star
40

nw-test-suite

WIP: Testing suite for NW.js API
HTML
2
star
41

nw-react-next-example

An example of integrating Next with NW.js
JavaScript
2
star
42

nw-node-addon-example

Examples of building NW.js Node Addons via node-gyp (nan, cmake and ffi coming soon!)
JavaScript
2
star
43

faux-notifications

WIP - Library to create custom desktop notifications in NW.js
1
star
44

nw-cypress-example

NW.js + Cypress (WIP)
JavaScript
1
star
45

nw-selenium-javascript-example

An example of using Selenium for end-to-end testing of NW.js apps via JavaScript
JavaScript
1
star
46

nw-puppeteer-example

An example of using NW.js via Puppeteer.
JavaScript
1
star
47

base-volta-off-of-nwjs

Tool to update the Volta config in package.json so Node match's your NW.js version
JavaScript
1
star
48

limited-node-access-example

WIP: Example of a project with an iframe that has limited access to Node.js in NW.js
1
star
49

.github

1
star
50

nw-screen-capture

WIP: A library for setting up a screen capture menu in NW.js
1
star
51

nw-rich-tray-example

WIP: This is an example repo for a frameless window popup for a tray app in NW.js
1
star
52

nw-patches

Understand how NW.js changes upstream behaviour
1
star
53

nw-subdir-example

Example repo for having a parent package.json file that runs NW.js pointed to a child folder with its own package.json
HTML
1
star