Open1

Javascriptでデスクトップアプリを作りたいときの技術構成検討メモ

Yuki YamamotoYuki Yamamoto

Node.js

  • ブラウザ上だけでなくパソコン上でJavascriptを動かすための実行環境

できること

  • パソコン上で動くのでOSの機能が使える
  • パソコン上で動くのでサーバーサイド用言語としても使える

Electron

  • HTML/CSS + JS の知識でデスクトップアプリを作れるライブラリ
  • Node.jsとChromiumがランタイム
  • "Webの技術で"と紹介されることがあるが、アーキテクチャはWebと異なるので、単に"HTML/CSS+JSで"と表現したほうが誤解がないと思う

できること

  • SlackとかVSCodeのようなデスクトップアプリが作れる
  • 配布するためのパッケージ化が簡単にできる
  • クロスプラットフォームに対応している

Express

  • Node.jsのWebフレームワーク

できること

  • http周りの処理が簡単に書けるようになる
    • Node.js標準のhttpモジュールか、Axiosで代替可能
  • ejsとかのテンプレートエンジンが使える
    • Electronではテンプレートエンジン不要
  • アプリ作成時に雛形を自動生成できる
    • Railsの雛形ほど採用されてるわけではなさそう