Electronが流行りらしいのでチャットでも作ろうと思ったのですが、簡単なサンプルが見つからなかったので自分で作りました。40行程度です。
こちらに一式置いてあります。
https://github.com/naga3/electron-chat
インストール
npm -g install electron-prebuilt
git clone https://github.com/naga3/electron-chat.git
cd electron-chat
npm install
実行方法
まずサーバーを開始します。
node server
次にクライアントを好きなだけ立ち上げてチャットできます。
electron .
ソースについて
基本的には
Node.js + Socket.IO + jQuery で最小構成チャットと同じです。
server.js
var io = require('socket.io').listen(3000);
io.sockets.on('connection', function(socket) {
socket.on('msg', function(data) {
io.sockets.emit('msg', data);
});
});
HTTPサーバーを起動する必要がないのでスタンドアロンでsocket.ioを起動しています。
main.js
var app = require('app');
var BrowserWindow = require('browser-window');
var mainWindow;
app.on('window-all-closed', function() {
if (process.platform != 'darwin') app.quit();
});
app.on('ready', function() {
mainWindow = new BrowserWindow({width: 600, height: 800});
mainWindow.loadUrl('file://' + __dirname + '/index.html');
mainWindow.on('closed', function() {
mainWindow = null;
});
});
Electronのサンプルそのままです。すみません。
index.html
<!doctype html>
<meta charset="utf-8">
<title>electron chat</title>
<script>
window.$ = require("jquery");
$(function() {
var socket = require('socket.io-client')('http://localhost:3000');
$('form').submit(function() {
socket.emit('msg', $('input').val());
$('input').val('');
return false;
});
socket.on('msg', function(data) {
$('div').prepend(data + '<br>');
});
});
</script>
<form><input></form><div></div>
requireを使わないとjQueryやsocket.ioのクライアントが読み込めないらしいです。
もっとよい書き方があるのかもしれません。