electron/docs/api/synopsis.md

50 lines
1.5 KiB
Markdown
Raw Normal View History

2014-05-05 06:49:05 +00:00
# Synopsis
2015-08-29 05:46:31 +00:00
All of [Node.js's built-in modules](http://nodejs.org/api/) are available in
Electron and third-party node modules also fully supported as well (including
the [native modules](../tutorial/using-native-node-modules.md)).
2014-05-05 06:49:05 +00:00
2015-04-16 03:31:12 +00:00
Electron also provides some extra built-in modules for developing native
2015-09-04 20:44:40 +00:00
desktop applications. Some modules are only available in the main process, some
2015-09-01 22:42:10 +00:00
are only available in the renderer process (web page), and some can be used in
2015-08-29 05:46:31 +00:00
both processes.
The basic rule is: if a module is
[GUI](https://en.wikipedia.org/wiki/Graphical_user_interface) or low-level
2015-09-04 20:44:40 +00:00
system related, then it should be only available in the main process. You need
2015-08-29 05:46:31 +00:00
to be familiar with the concept of
[main process vs. renderer process](../tutorial/quick-start.md#the-main-process)
scripts to be able to use those modules.
2014-05-05 06:49:05 +00:00
2015-08-29 05:46:31 +00:00
The main process script is just like a normal Node.js script:
2014-05-05 06:49:05 +00:00
```javascript
const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
2014-05-05 06:49:05 +00:00
var window = null;
app.on('ready', function() {
window = new BrowserWindow({width: 800, height: 600});
window.loadUrl('https://github.com');
});
```
2015-09-01 22:42:10 +00:00
The renderer process is no different than a normal web page, except for the extra
2014-05-05 06:49:05 +00:00
ability to use node modules:
```html
<!DOCTYPE html>
<html>
<body>
<script>
const remote = require('electron').remote;
console.log(remote.require('electron').app.getVersion());
2014-05-05 06:49:05 +00:00
</script>
</body>
</html>
```
To run your app, read [Run your app](../tutorial/quick-start.md#run-your-app).