Slide 1

Slide 1 text

Web フレームワークの功罪 2022-05-20 Web ナイト宮崎 vol.15 桑畑英資

Slide 2

Slide 2 text

自己紹介 桑畑英資 ( くわはたえいすけ) フリーランスソフトウェアエンジニア 企業の開発支援(設計・実装・提案) エンジニア教育(メンター) LeacTion! なども開発中 趣味:スキューバダイビング・カメラ 個人ブログはQR コードから→

Slide 3

Slide 3 text

抽象的な話をします 毎度おなじみ

Slide 4

Slide 4 text

Web アプリケーション(概要図)

Slide 5

Slide 5 text

Web フレームワーク(概要図)

Slide 6

Slide 6 text

Web フレームワークがもたらすメリット アプリケーションの実装に集中できる 学習コストを減らせる 効率的にアプリケーションを記述できる 実装時の考慮漏れが少なくなる フレームワークのスターターがあるので、開発を始めやすい 共通のルールや概念を用いることで知見が集まりやすくなる

Slide 7

Slide 7 text

枠組みのデメリット 枠組みを大きく外れた仕組みを記述することが難しくなる 基礎となる技術(プロトコルや言語の基礎)の学習を飛ばしがち

Slide 8

Slide 8 text

思考が「フレーム」にハマる問題 今回の主眼

Slide 9

Slide 9 text

「フレーム」にハマる フレームワークはWeb アプリケーションを「枠(frame) 」に入れるが どんな枠に分解するかはそれぞれ癖がある 例: Model が実質的にORM なのでテーブル設計中心になってしまう等 フレームワークに学ぶことで枠にガッチリと思考がハマってしまい 枠を外れそうな処理や、ドキュメント・ブログなどに知見のない 処理を実装しなければいけないときに迷子になってしまう

Slide 10

Slide 10 text

本当に必要なシステムは 決められた枠をはみ出す場合が多い

Slide 11

Slide 11 text

「フレーム」と向き合う フレームワークの癖を知る 別のフレームワークにも触れてみる フレームワークの「やってはいけないこと」をやってみる 例: Rails Way を外れる 「Web アプリケーション」としての基礎知識を学ぶ フレームワークに依存しない設計手法を学ぶ ドメイン駆動設計など

Slide 12

Slide 12 text

ご清聴ありがとうございました Elm オススメです