Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
nw.js
hello@kirilldanilov.com github.com/broderix
введение в кросс-платформенные
десктопные приложения на javascript
(node...
Я хочу свой текстовый редактор!
2
Существующие решения
1. Mono, Unity3D - C#, .Net
2. Qt/Gtk - C/C++, js, python, php, bash
3. tidesdk.org - js, python, php...
Что такое nw.js
<html>
<body>
<h1>Content</h1>
</body>
</html>
​
nw.js
4
node-webkit
История проекта
io.js-chromium
nw.js
5
Установка и запуск
$ npm install -g nw
$ nw .
$ npm install -g generator-node-webkit
$ yo node-webkit
6
Обзор API
● Window
● Menu
● Tray
● Shell
● Snapshots
● HTML5 Stack: Notifications W3C, Audio, WebGL, etc
● Platform specif...
8
Как работает nw.js
require
Window Object
Render Thread
process
global ...
console document
alert ...
Контекст
9
Получаем доступ из io.js в chromium
​// In index.html
<script>
global.foo = function(){
console.log('Hello, moscowjs');
};...
Сборка
npm install grunt-node-webkit-builder
grunt build
npm install appdmg grunt-appdmg
grunt appdmg
www.jrsoftware.org/i...
Обновление приложения
● проверит версию
● скачает архив (js, html, css, img)
● распакует архив
● сообщит о результатах
npm...
Пример
$ echo '
{
"name": "MoscowJS",
"main": "http://moscowjs.ru",
"window": {
"show": true,
"toolbar": false
}
}' > pack...
Где использовать?
● обертка сайта
● простые игры
● хранение больших данных
● фоновые процессы
● ежедневные операции
14
Кто использует nw.js
1. Popcorn Time
2. Intel® XDK
3. DebugGap
4. Tinder++
5. Mongo Management Studio
6. etc.
15
Спасибо!
hello@kirilldanilov.com
github.com/broderix
twitter.com/broderix
https://github.com/nwjs/nw.js
Upcoming SlideShare
Loading in …5
×

Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на MoscowJS Meetup

Доклад Кирилла Данилова. "nw.js: введение в кросс-платформенные декстопные приложения на JS"

  • Be the first to comment

Доклад "nw.js: введение в кросс-платформенные декстопные приложения на JS" на MoscowJS Meetup

  1. 1. nw.js hello@kirilldanilov.com github.com/broderix введение в кросс-платформенные десктопные приложения на javascript (node-webkit)
  2. 2. Я хочу свой текстовый редактор! 2
  3. 3. Существующие решения 1. Mono, Unity3D - C#, .Net 2. Qt/Gtk - C/C++, js, python, php, bash 3. tidesdk.org - js, python, php, ruby 4. appjs.com -js 5. Brackets Shell - js 6. nw.js - js 3
  4. 4. Что такое nw.js <html> <body> <h1>Content</h1> </body> </html> ​ nw.js 4
  5. 5. node-webkit История проекта io.js-chromium nw.js 5
  6. 6. Установка и запуск $ npm install -g nw $ nw . $ npm install -g generator-node-webkit $ yo node-webkit 6
  7. 7. Обзор API ● Window ● Menu ● Tray ● Shell ● Snapshots ● HTML5 Stack: Notifications W3C, Audio, WebGL, etc ● Platform specific: setBadge, requestAttention, Tile 7
  8. 8. 8 Как работает nw.js require Window Object Render Thread process global ... console document alert ...
  9. 9. Контекст 9
  10. 10. Получаем доступ из io.js в chromium ​// In index.html <script> global.foo = function(){ console.log('Hello, moscowjs'); }; global.label = {text: 'label'}; require('mymodule.js'); </script> 10 // In mymodule.js global.foo(); label.text = 'Hello, nw.js';
  11. 11. Сборка npm install grunt-node-webkit-builder grunt build npm install appdmg grunt-appdmg grunt appdmg www.jrsoftware.org/isinfo.php osx windows 11
  12. 12. Обновление приложения ● проверит версию ● скачает архив (js, html, css, img) ● распакует архив ● сообщит о результатах npm install nw-updater 12
  13. 13. Пример $ echo ' { "name": "MoscowJS", "main": "http://moscowjs.ru", "window": { "show": true, "toolbar": false } }' > package.json $ ​nw . 13
  14. 14. Где использовать? ● обертка сайта ● простые игры ● хранение больших данных ● фоновые процессы ● ежедневные операции 14
  15. 15. Кто использует nw.js 1. Popcorn Time 2. Intel® XDK 3. DebugGap 4. Tinder++ 5. Mongo Management Studio 6. etc. 15
  16. 16. Спасибо! hello@kirilldanilov.com github.com/broderix twitter.com/broderix https://github.com/nwjs/nw.js

×