Webアプリを Electronに乗せる 第9回 HTML5minutes! 〜triton-js〜
• Yahoo! JAPANの子会社
• 社内ハッカソン(HackDay)から誕生
• スマフォのリッチ広告
• http://www.advertimes.com/20150420/article189401/
• Electronのざっとした概要
• easy-video-mapping.comのElectron版を開発中
• 躓いたとこと、その解決法など。
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Hello! World</title> </head> <body> <h1>Hello! World</h1> </body> </html>
var app = require('app'); var BrowserWindow = require('browser-window');
// Report crashes to our server. require('crash-reporter').start();
var mainWindow = null;
// ready: Windowを作る準備が出来た時に呼ばれる app.on('ready', function() { // 800x600のWindowを生成しindex.htmlをロード mainWindow = new BrowserWindow({width: 800, height: 600}); mainWindow.loadUrl('file://' + __dirname + '/index.html');
// ウィンドウが閉じた時 mainWindow.on('closed', function() { mainWindow = null; }); });
// 全てのウィンドウが閉じた時 app.on('window-all-closed', function() { if (process.platform != 'darwin') app.quit(); });
main.js
Electronのバイナリをインストール
// Global npm install electron-prebuilt -g
// npm install electron-prebuilt --save-dev
requireでロードして 自分でwindow.jQuery, window.$を定義する
<!-- <script src="lib/jquery.js"></script> --> <script> window.jQuery = window.$ = require('./lib/jquery'); </script>
※browserifyやwebpackでbundleする方が楽かも
• XHR・WebSocketのOriginヘッダーが「file://」になりskywayに弾かれる
• node.jsからOriginヘッダーを書き換えリクエスト
• skyway-peerjs-electron