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 Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

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

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide