Webフレームワークの功罪2022-05-20 Webナイト宮崎 vol.15桑畑英資
View Slide
自己紹介桑畑英資 (くわはたえいすけ)フリーランスソフトウェアエンジニア企業の開発支援(設計・実装・提案)エンジニア教育(メンター)LeacTion!なども開発中趣味:スキューバダイビング・カメラ個人ブログはQRコードから→
抽象的な話をします毎度おなじみ
Webアプリケーション(概要図)
Webフレームワーク(概要図)
Webフレームワークがもたらすメリットアプリケーションの実装に集中できる学習コストを減らせる効率的にアプリケーションを記述できる実装時の考慮漏れが少なくなるフレームワークのスターターがあるので、開発を始めやすい共通のルールや概念を用いることで知見が集まりやすくなる
枠組みのデメリット枠組みを大きく外れた仕組みを記述することが難しくなる基礎となる技術(プロトコルや言語の基礎)の学習を飛ばしがち
思考が「フレーム」にハマる問題今回の主眼
「フレーム」にハマるフレームワークはWebアプリケーションを「枠(frame)」に入れるがどんな枠に分解するかはそれぞれ癖がある例: Modelが実質的にORMなのでテーブル設計中心になってしまう等フレームワークに学ぶことで枠にガッチリと思考がハマってしまい枠を外れそうな処理や、ドキュメント・ブログなどに知見のない処理を実装しなければいけないときに迷子になってしまう
本当に必要なシステムは決められた枠をはみ出す場合が多い
「フレーム」と向き合うフレームワークの癖を知る別のフレームワークにも触れてみるフレームワークの「やってはいけないこと」をやってみる例: Rails Wayを外れる「Webアプリケーション」としての基礎知識を学ぶフレームワークに依存しない設計手法を学ぶドメイン駆動設計など
ご清聴ありがとうございましたElmオススメです