📝 Add Synopsis chapter.

This commit is contained in:
Cheng Zhao 2014-05-05 14:49:05 +08:00
parent 5933947000
commit 5c55b9412f
3 changed files with 61 additions and 16 deletions

View file

@ -1,22 +1,14 @@
# Atom Shell documents
## Tutorials
* [Quick start](tutorial/quick-start.md)
* [Application distribution](tutorial/application-distribution.md)
* [Use native node modules](tutorial/use-native-node-modules.md)
## Development
* [Coding style](development/coding-style.md)
* [Source code directory structure](development/source-code-directory-structure.md)
* [Build instructions (Mac)](development/build-instructions-mac.md)
* [Build instructions (Windows)](development/build-instructions-windows.md)
* [Build instructions (Linux)](development/build-instructions-linux.md)
## API references
Browser side modules:
* [Synopsis](api/synopsis.md)
Modules for browser side:
* [app](api/app.md)
* [auto-updater](api/auto-updater.md)
@ -28,14 +20,22 @@ Browser side modules:
* [power-monitor](api/power-monitor.md)
* [protocol](api/protocol.md)
Renderer side modules:
Modules for web page:
* [ipc (renderer)](api/ipc-renderer.md)
* [remote](api/remote.md)
Common modules:
Modules for both sides:
* [clipboard](api/clipboard.md)
* [crash-reporter](api/crash-reporter.md)
* [screen](api/screen.md)
* [shell](api/shell.md)
## Development
* [Coding style](development/coding-style.md)
* [Source code directory structure](development/source-code-directory-structure.md)
* [Build instructions (Mac)](development/build-instructions-mac.md)
* [Build instructions (Windows)](development/build-instructions-windows.md)
* [Build instructions (Linux)](development/build-instructions-linux.md)

45
docs/api/synopsis.md Normal file
View file

@ -0,0 +1,45 @@
# Synopsis
All [node.js's built-in modules](http://nodejs.org/api/) are available in
atom-shell, and third-party node modules are fully supported too (including the
[native modules](../tutorial/use-native-node-modules.md)).
And atom-shell also provided some extra built-in modules for developing native
desktop applications, some modules are only available on browser side, and some
are only available on renderer side, and some can be used by both sides. The
basic rule is: if a module is GUI or low level system related, then it should
be only available on browser side. You need to be familiar with the concept of
[browser side](../tutorial/quick-start.md#the-browser-side) to be able to use
those modules.
The browser side script is just like a normal `node.js` script:
```javascript
var app = require('app');
var BrowserWindow = require('browser-window');
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
window.loadUrl('https://github.com');
});
```
And the web page is no different to a normal web page, except for the extra
ability to use node modules:
```html
<!DOCTYPE html>
<html>
<body>
<script>
var remote = require('remote');
console.log(remote.require('app').getVersion());
</script>
</body>
</html>
```
To run your app, read [Run your app](../tutorial/quick-start.md#run-your-app).

View file

@ -131,17 +131,17 @@ binary to execute your app directly.
On Window:
```cmd
$ .\atom-shell\atom.exe app
$ .\atom-shell\atom.exe path-to-app\
```
On Linux:
```bash
$ ./atom-shell/atom app
$ ./atom-shell/atom path-to-app/
```
On Mac OS X:
```bash
$ ./Atom.app/Contents/MacOS/Atom app
$ ./Atom.app/Contents/MacOS/Atom path-to-app/
```