diff --git a/docs/development/atom-shell-vs-node-webkit.md b/docs/development/atom-shell-vs-node-webkit.md index ab8f6ab6dbdc..c1fffa304ab5 100644 --- a/docs/development/atom-shell-vs-node-webkit.md +++ b/docs/development/atom-shell-vs-node-webkit.md @@ -1,18 +1,18 @@ -# Technical differences to NW.js (formerly node-webkit) +# Technical Differences Between Electron and NW.js (formerly node-webkit) __Note: Electron was previously named Atom Shell.__ Like NW.js, Electron provides a platform to write desktop applications -with JavaScript and HTML and has Node integration to grant access to low level -system in web pages. +with JavaScript and HTML and has Node integration to grant access to the low +level system from web pages. But there are also fundamental differences between the two projects that make Electron a completely separate product from NW.js: -__1. Entry of application__ +__1. Entry of Application__ -In NW.js, the main entry of an application is a web page. You specify a -main page in the `package.json` and it is opened in a browser window as +In NW.js the main entry point of an application is a web page. You specify a +main page URL in the `package.json` and it is opened in a browser window as the application's main window. In Electron, the entry point is a JavaScript script. Instead of @@ -23,19 +23,18 @@ to decide when to quit the application. Electron works more like the Node.js runtime. Electron's APIs are lower level so you can use it for browser testing in place of [PhantomJS](http://phantomjs.org/). -__2. Build system__ +__2. Build System__ -In order to avoid the complexity of building the whole Chromium, Electron uses -[libchromiumcontent](https://github.com/brightray/libchromiumcontent) to access -Chromium's Content API. libchromiumcontent is a single, shared library that -includes the Chromium Content module and all its dependencies. Users don't +In order to avoid the complexity of building all of Chromium, Electron uses [`libchromiumcontent`](https://github.com/brightray/libchromiumcontent) to access +Chromium's Content API. `libchromiumcontent` is a single shared library that +includes the Chromium Content module and all of its dependencies. Users don't need a powerful machine to build Electron. -__3. Node integration__ +__3. Node Integration__ In NW.js, the Node integration in web pages requires patching Chromium to -work, while in Electron we chose a different way to integrate libuv loop with -each platform's message loop to avoid hacking Chromium. See the +work, while in Electron we chose a different way to integrate the libuv loop +with each platform's message loop to avoid hacking Chromium. See the [`node_bindings`](../../atom/common/) code for how that was done. __4. Multi-context__