Electron+TypeScriptを使って社内で使う業務用ソフトを作ることになりました。
それに至る経緯と、どういう時にElectronが使えるのかを考えたメモです。
なぜそれに至ったか
なぜElectronなのか
社内で使っているのはWindowsとMacです。なのでマルチプラットフォームということで選びました。
Xamarinはそのプラットフォーム固有のことを知っていないとつらそう。
Electronはnode.js、HTMLなどWeb技術を使ってマルチプラットフォームなアプリを開発できます。
Web技術を使っているのでXSSが発生することもあります。ブラウザではなくOS上で動いているのでOSに対して任意のコマンドが挿入されるので頑張ってXSSが発生しないようにしなければいけません。しかし自分にはそんなことできる自信はありませせん。
しかし業務で内部だけで使うアプリにはそこは気にしなくても良いと思います。(発生させないようにはできるだけするけども)
なぜTypeScriptか
TypeScriptをコンパイルするとJavaScriptが出力されますのでTypeScriptで書くことができます。
JavaScriptは動的型付けだが、TypeScriptは静的型付け。これが自分がTypeScriptを使う理由です。ただ単に動的型付けな言語が嫌いなだけです。IDEの補助最高
どの様に開発していくか
Electronは設定ファイル、JavaScriptファイル、HTMLファイルの3つがあれば動きます。JavaScriptファイルはTypeScriptファイルから生成します。
JavaScriptのパッケージを管理するのにはnpmを使います。
node.jsは、JavaScriptなのでTypeScriptから呼び出す時に型がわからない。ここでCでいうヘッダーファイルを使います。
型定義管理ツール「typings」を使うと型定義を探して使うことができます。
TypeScriptからJavaScriptにコンパイルした時も型定義ファイルを別に生成することができます。既にあるJavaScriptはメジャーなものであれば誰かが型定義ファイルを作ってくれているはずなので「typings」で探して作ります。
おわり
これがElectronとTypeScriptを選択した理由とTypeScript全く知らない自分が大体こんな風にやればいいのかなーって思ったことを書いたブログです。まだ開発環境をセットアップしてIDEでエラーが出ないようにしてHello Worldやったくらいです。
ただの学生バイトがお送りしました。
開発環境セットアップ編へ続く