Electron で IRKit クライアントを作ってみた
最近開催できていないですが、一時期 Electron もくもく会を主催していた @unok です。
このブログは Electron Advent Calendar 2015 の 11日目の記事です。
@unok です。主に Web の BtoB BtoC システムを作っています。
上流から下流までなんでもやります。
ただ、Javascript は、どっぷりすることもなく長年避けてきて浦島状態だったのですが、時代の流れから避けられなくなってきました。
そこで、勉強を兼ねて無駄に使ったこと無い技術を利用して簡単なアプリケーションを作ってみました。
作ってみた程度で参考になるものもなさそうですが公開します。
今後リファクタリングとソフトウエア系の技術要素を追加していく予定です。
IRKit とは
先日、 http://rebuild.fm/120/ で話題にでていた IRKit を購入しました。(クーポンを利用してw)
IRKit は、ネットワーク経由で赤外線信号を送受信する装置です。
簡単に説明すると、主にリモコンで使われている赤外線の信号を受信して信号のデータを http 経由で取得したり、取得したデータを http 経由で送信することができます。また、ローカルでの http だけでなく、internet 経由での操作にも対応しています。
詳しい説明は、 http://getirkit.com/ こちらをご覧ください。
概要
アプリケーションから以下のことが可能です。
- IRKit が受信した赤外線信号の取得
- 取得済みの赤外線信号を IRKit から送信
- 受信済みの赤外線信号の管理
詳細
今回のアプリは、次の技術を使っています。
- フレームワーク
- Electron
- 言語
- Typescript
- ライブラリ
- HTMLの動的操作
- jQuery
- 日時関係
- moment.js
- HTMLの動的操作
- ブラウザ
- localStorage
- UI (HTML & CSS)
- Photon http://photonkit.com/
はまったこと
環境の準備
まず、Electron の開発を開始する準備に時間がかかってしまいました。魅力的な Javascript のライブラリの選択やパッケージ管理やタスク管理になれていないことで試しているうちに時間がどんどん過ぎてしまいました。
IRKit がうまく動かない
信号の受信が出来たけれども、送信に失敗してしまう。Internet経由だと動くので、試しにほぼ同じフォーマットでデータを送信したところ動くようになりました。たぶん、Web に出ている情報が古い模様。 @maaash さんに報告済みです。
TODO
- 登録信号の削除
- HTML への双方向バインディング
- インターネットからの操作
- 登録信号のエクスポート
- 登録信号のインポート
- 各種サービスへの連携
明日は、 @erukiti さんです。よろしくお願いします!