2022/07/22 NestJS meetup Online #3 感想
こちらのイベントに参加したので、まなびになった部分をメモとして残しておきたいと思います。
参加したモチベ
- 参加しているプロジェクトでNestJSを採用している
- 技術選定をどう考えるか、ということ自体に興味があった
まなび
技術選定
- 技術選定においては技術的なチャレンジ・ワクワク感というのも軸としてありうる
- 枯れている技術は安定しているが、チャレンジ要素は少ない
- 一方で新しい技術はチャレンジングで面白いが、技術的な解決が難しくなるシーンもあり
- 両者のトレードオフを意識する必要がある
- 検索ボリュームで情報の流通量を調べて技術選定に活かす
- 継続的な発展が期待できそうかを判断するにあたり、スポンサーの多さ・内容をチェックするのも良さそう
NestJSのよさ
- 技術的なキャッチアップがしやすく、始めやすい
- JSを触っていれば、基本文法でつまづくというのはないハードルの低さ
- 思想の癖が薄めで軌道修正がしやすいフレームワーク なので正解を知っており、周囲をリードするような人さえいれば導入がしやすい
- スイッチングコストの低さ
- フロント・サーバサイドをTypeScriptで一本化できる
- ここは発表いただいた3社全てに共通する採用理由だったかと思います Nest JSのもつ良さの中でも主要なポイントだと思いました
- (エンジニア採用という面でもメリットが大きそう)
- DIが標準でサポートされている
- (自分は正直ありがたみがよくわかっていないが)前回のNest JS Meetupでもこの部分に良さを感じている方が多かった印象です
NestJSのつらさ
- これというベストプラクティスがまだない部分がある
- 特に管理画面の構築については楽をできるライブラリとかはなさそう
- NodeJSにおけるプラクティスなど、NestJSが依って立つ技術のプラクティスの理解が必要になりそうです
- “Tao of Node - Design, Architecture & Best Practices” 日本語翻訳が参考になりそうという紹介がされていました
- ドキュメントの充実度が低い
- (ここは人による部分もありそうで、「充実している」という意見もありました)
- NestJSというよりORMにツラみがありそう
- 「この機能はNestJSでもあるだろ」というような機能でも意外となく、解決するのにExpressの知識が必要な場合もある
- (ここは逆にいうとExpressの知識がきちんとあれば解決に至ることができる、とも言えるのかなとも思った)
Nest JSの運用テクニック
- 肥大化にはまずモジュールの分割で対応するのが良さそう
- 依存関係が複雑になり始めたらdependency-cruiserを使うのも一つの手
編集後記
- トータルでNestJSは「いま始めるのにちょうどいい技術」という印象を受けました
- 始めやすさ・変更のしやすさ、技術の成熟度(枯すぎず・新しすぎず)というのがいいバランスの状態なのかなと思いました
- 逆にいうとこれは今現在の状態なので、今後どうなっていくかという意味でもウォッチしていきたいフレームワーク だなと思いました
- 技術選定については、技術的なチャレンジの要素も選定の軸になりうるというのが気づきでした
- ワクワク感や楽しさというのも加味して考えるのも一つポイントだなと思いました
- NestJS MeetUp #3 - YouTubeので興味のある方はぜひご覧いただければと思います
- 登壇者・運営の方々、貴重な機会をいただきありがとうございました!🙏