Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Webフレームワークの功罪 / Advantages and considerable point of Web Frameworks

Webフレームワークの功罪 / Advantages and considerable point of Web Frameworks

mather

May 20, 2022
Tweet

More Decks by mather

Other Decks in Programming

Transcript

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  9. 「フレーム」にハマる
    フレームワークはWeb
    アプリケーションを「枠(frame)
    」に入れるが

    どんな枠に分解するかはそれぞれ癖がある
    例: Model
    が実質的にORM
    なのでテーブル設計中心になってしまう等
    フレームワークに学ぶことで枠にガッチリと思考がハマってしまい

    枠を外れそうな処理や、ドキュメント・ブログなどに知見のない

    処理を実装しなければいけないときに迷子になってしまう

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide