|
@@ -2,41 +2,41 @@
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
-Generally, atom-shell enables you to create desktop applications with pure
|
|
|
-JavaScript by providing a runtime with rich native APIs, you could see it as
|
|
|
-an variant of node.js runtime that focused on desktop applications instead of
|
|
|
-web server.
|
|
|
+Generally atom-shell enables you to create desktop applications with pure
|
|
|
+JavaScript by providing a runtime with rich native APIs. You could see it as
|
|
|
+an variant of the Node.js runtime which is focused on desktop applications
|
|
|
+instead of web server.
|
|
|
|
|
|
-But it doesn't mean atom-shell is a JavaScript binding to GUI libraries, instead
|
|
|
+It doesn't mean atom-shell is a JavaScript binding to GUI libraries. Instead,
|
|
|
atom-shell uses web pages as GUI, so you could also see it as a minimal Chromium
|
|
|
browser, controlled by JavaScript.
|
|
|
|
|
|
### The browser side
|
|
|
|
|
|
-If you had experience with node.js web applications, you would notice that there
|
|
|
-are types of JavaScript scripts: the server side scripts and the client side
|
|
|
-scripts. The server side JavaScript, are the scripts that run on the node.js
|
|
|
-runtime, and the client side JavaScript, are the ones that run on user's browser.
|
|
|
+If you had experience with Node.js web applications, you would notice that there
|
|
|
+are two types of JavaScript scripts: the server side scripts and the client side
|
|
|
+scripts. The server side JavaScript are the scripts that run on the Node.js
|
|
|
+runtime, and the client side JavaScript are the ones that run on user's browser.
|
|
|
|
|
|
In atom-shell we have similar concepts, since atom-shell displays GUI by showing
|
|
|
web pages, we would have **scripts that run in the web page**, and also have
|
|
|
**scripts ran by the atom-shell runtime**, which created those web pages.
|
|
|
-Like node.js, we call them **client scripts**, and **browser scripts**.
|
|
|
+Like Node.js, we call them **client scripts**, and **browser scripts**.
|
|
|
|
|
|
-In traditional node.js applications, communication between server side and
|
|
|
+In traditional Node.js applications, communication between server side and
|
|
|
client side are usually done by web sockets. In atom-shell, we have provided
|
|
|
the [ipc](../api/ipc-renderer.md) module for browser side to client
|
|
|
communication, and the [remote](../api/remote.md) module for easy RPC
|
|
|
support.
|
|
|
|
|
|
-### Web page and node.js
|
|
|
+### Web page and Node.js
|
|
|
|
|
|
-Normal web pages are designed to not touch outside world, which makes them not
|
|
|
-suitable for interacting with native systems, atom-shell provides node.js APIs
|
|
|
+Normal web pages are designed to not touch outside world, which makes them
|
|
|
+unsuitable for interacting with native systems. Atom-shell provides Node.js APIs
|
|
|
in web pages so you could access native resources in web pages, just like
|
|
|
-[node-webkit](https://github.com/rogerwang/node-webkit).
|
|
|
+[Node-Webkit](https://github.com/rogerwang/node-webkit).
|
|
|
|
|
|
-But unlike node-webkit, you could not do native GUI related operations in web
|
|
|
+But unlike Node-Webkit, you could not do native GUI related operations in web
|
|
|
pages, instead you need to do them on the browser side by sending messages or
|
|
|
use the easy [remote](../api/remote.md) module.
|
|
|
|
|
@@ -52,7 +52,7 @@ app/
|
|
|
└── index.html
|
|
|
```
|
|
|
|
|
|
-The format of `package.json` is exactly the same with node's modules, and the
|
|
|
+The format of `package.json` is exactly the same with Node's modules, and the
|
|
|
script specified by the `main` field is the startup script of your app, which
|
|
|
will run under the browser side. An example of your `package.json` is like
|
|
|
this:
|
|
@@ -65,7 +65,7 @@ this:
|
|
|
}
|
|
|
```
|
|
|
|
|
|
-The `main.js` should create windows and handle system events, and an typical
|
|
|
+The `main.js` should create windows and handle system events, and a typical
|
|
|
example is:
|
|
|
|
|
|
```javascript
|
|
@@ -122,12 +122,12 @@ Finally the `index.html` is the web page you want to show:
|
|
|
|
|
|
## Run your app
|
|
|
|
|
|
-After done writing your app, you could create a distribution of your app by
|
|
|
+After you're done writing your app, you could create a distribution by
|
|
|
following the [Application distribution](./application-distribution.md) guide
|
|
|
-and then execute the packaged app, or you can just use the downloaded atom-shell
|
|
|
+and then execute the packaged app. You can also just use the downloaded atom-shell
|
|
|
binary to execute your app directly.
|
|
|
|
|
|
-On Window:
|
|
|
+On Windows:
|
|
|
|
|
|
```cmd
|
|
|
$ .\atom-shell\atom.exe path-to-app\
|