Node-Webkit

README

Node-Webkit it's a web application runtime based on Chromium and Node.JS that lets you integrate Node.JS functions and modules directly from WebKit DOM and enables a new way of writing native application with all web technologies.

It is created and developed in Intel Open Source Technology Center. You can find an introduction to the project in Speaker Deck here: Node-Webkit App Runtime.

Features

  • Applications written in modern HTML5, CSS3, JS and WebGL.
  • Complete support for Node.js APIs and all its third party modules.
  • Good performance: Node and WebKit runs in the same thread: Function calls are made straightforward; objects are in the same heap and can just reference each other;
  • Easy to package and distribute apps.
  • Available on Linux, Mac OSX and Windows

What's Node.JS?

Node.js is a server-side software system designed for writing scalable Internet applications, notably web servers. Programs are written on the server side in JavaScript, using event-driven, asynchronous I/O to minimize overhead and maximize scalability.

It contains a built-in HTTP server library, making it possible to run a web server without the use of external software, such as Apache or Lighttpd, and allowing more control of how the web server works. Node.js enables web developers to create an entire web application in JavaScript, both server-side and client-side.

What's WebKit?

WebKit is a layout engine software component designed to allow web browsers to render web pages. It powers Google's Chrome web browser versions. As of November 2012 it has the most market share of any layout engine at over 40% of the browser market share-ahead of both the Trident engine used by Internet Explorer, and the Gecko engine used by Firefox.

Code

Node-Webkit 1

Before to continue, you need to be sure that Node-Webkit is the right technology for you, so take some minutes to check some current projects being developed with this, some of them are already famous in the web development world, some others are populars in Asia where the majority of developers supporting this project are.

Here you can find the list of applications and companies using Node-Webkit. And You may also be interested in their demos repository.

Ok, now go ahead an take a look to this code, it is very simple so you can understand that work with Node-Webkit is very easy.

$ mkdir nw-hello-world
$ cd nw-hello-world
$ touch index.html
$ touch package.json
$ cat ./nw-hello-world/index.html
  <!DOCTYPE html>
  <html>
    <head>
      <title>Hello World!</title>
    </head>
    <body>
      <h1>Hello World!</h1>
      We are using node.js <script>[removed](process.version)</script>.
    </body>
  </html>
$ cat ./nw-hello-world/package.json
  {
    "name": "nw-hello-world",
    "main": "index.html"
  }

Now compress all the files in the project folders into a ZIP archive with extension .nw, in this case we will compress index.html and package.json into called app.nw: $ zip app.nw index.html package.json

Download the pre-built binary for your platform from here and usit to open the app.nw file: $ ./nw app.nw

For more information on how to write/package/run apps, see:

Credits

Call all Node.js modules directly from DOM and enable a new way of writing applications with all Web technologies.

Node-Webkit GitHub Repository Wikipedia Nodejs Wikipedia Webkit Engine

Development Stats

1 month ago
1 month ago
1 month ago
  • cixtor88473dbAdd comments for exported functions and coding standards
1 month ago
  • cixtor7151ad0Fix coding standards and add exported documentation
1 month ago
  • cixtor212d014Modify channel reception to simplify the code logic
1 month ago
  • cixtord56aac4Add command to generate new RSA keys from email
  • cixtor937a3d3Add command to launch the rudimentary password manager
  • cixtor695223aAdd command to print the IP address assigned for LAN
  • cixtor113722dAdd command to launch Meld.app from the Terminal
  • cixtorb0883f4Add command to improve the results of [man]
  • cixtorb8661fdAdd command to send malformed HTTP requests via CURL
  • cixtor17e0651Add command to improve the results of [id]
  • cixtorda48053Add command to improve the results of [hg branches]
  • cixtorb8ee016Add command to send custom HTTP requests as GoogleBot
  • cixtorf1d801cAdd command to eject the last mounted DMG image
  • cixtoredf335dAdd command to improve the results of [du -sh]
  • cixtor1f58883Add command to commit changes in a Git repository
  • cixtor1a13315Add command to display the current date every second
  • cixtor92c07a0Add command to send custom HTTP requests via CURL
  • cixtor0fbdc64Modify files required for the migration to macOS
  • View comparison for these 15 commits
1 month ago
1 month ago
  • cixtor414576cModify screenshot to feature the new functionality
  • cixtor3c8b7e0Add color and style to the performance grade
  • cixtor2c8cdd8Add performance grade based on website responsiveness
  • cixtorcff9eb2Add average values for each speed test cases
  • cixtor2a357e7Modify design of the os.Stdout results for simplicity
  • cixtor2726d17Add color sequence for good, strange and bad test cases
  • cixtorebca81cModify JSON decoding to treat floating points as such
  • View comparison for these 7 commits
1 month ago
  • cixtor9b97df3Fix custom domain before command line argument parsing
1 month ago
  • cixtor923e010Modify name of the configuration file for simplicity
1 month ago
1 month ago
cixtor created branch master at repos/cixtor
1 month ago
cixtor created repository cixtor 1 month ago
  • Website TTFB (Time To First Byte) is a measurement tool used as an indication of the responsiveness of a webserver or other network resource.
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
cixtor created branch master at repos/cixtor
2 months ago
cixtor created repository cixtor 2 months ago
  • Command line tool to expose the content of a directory over HTTP
2 months ago
  • cixtor1790162Remove fileserver tool after migration to repository
2 months ago
cixtor opened pull request alecthomas/SublimeLinter-contrib-gometalinter#10
Add setting for the GOROOT environment variable
1 commit with 13 additions and 6 deletion
2 months ago
  • cixtor023d541Add setting for the GOROOT environment variable
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
Do you have a project idea? Let's make it together!