Slide 17
Slide 17 text
17
11. おまけ:アプリ開発での選択肢まとめ
フロントエンド
バックエンド
始めるぞ!
開発言語
①JavaScript
②TypeScript
アプリ規模、規模拡大の
可能性、2人以上のチーム
開発するか、型の恩恵が
どれだけ有用か…
フレームワーク
①React
②Vue.js
③その他
④未使用(Pure JS, バニラJS)
アプリ規模、SPA/MPA、
既存アプリへの導入か…
JS実行環境
①Node.js が基本
②Deno を試す
Denoを選ぶと他の要素
が諸々揃ったり
プロジェクト作成支援(ボ
イラープレート)
①CRAやVue CLIを
②慣れてる人が手動で
①を選ぶと他の要素が
諸々揃ったり
トランスコンパイラ
①他の選択肢で揃ったり
②新技術を導入
(esbuild, SWCとか)
モジュールバンドラー
①他の選択肢で揃ったり
(Webpackが有名)
②新技術を導入
(Turbopackとか)
ビルドツール類
①他の選択肢で揃ったり
②新技術を導入
Viteが知られる
フォーマッター、リンター
①他の選択肢で揃ったり
②個別に導入
Prettier, ESLintがデ
ファクト。別途CI/CDの
仕組みを工夫したり
テストのサポート
①他の選択肢で揃ったり
②個別に導入
ユニットテストはJestが
デファクト。結合テスト、
e2eテストでも
色々。規模による
開発言語
①JS/TSで揃える
②他の言語にする
APIの通信先は複数もok
・クラウド
フロント/バックを分業す
るか、技術要素、チームメ
ンバのスキル構成…など
で分岐
JS/TSで行くならフレームワーク選択
①ミニマムにexpress
②フルスタックにNext.js
(Vue.jsならNuxt.js)
③その他を試す
アプリを構成する技術要素、規模、プロ
ジェクトの周辺状況…で分岐。
JS実行環境はフロントと普通合わせる
APIの受け口を他の言語で開発
①インタプリタ型: Python, Ruby, PHP
②コンパイル型: Go, Rust, Kotlin, Java, C#...
それぞれの言語圏でのFW、ライブラリを選定。大体API対応
APIの受け口をクラウドに
①AWS: API Gateway+Lambda
②Azure: (API Management)+Azure Functions
サーバーレスアーキテクチャが可能。仮想マシン、コンテナの手も
こっちも
やるよ
選択肢が多く互いに関連、かつ
増減や流行り廃りがあるのが
初学者の混乱の元にも