Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Webフレームワークの功罪 / Advantages and considerable poi...
Search
mather
May 20, 2022
Programming
0
370
Webフレームワークの功罪 / Advantages and considerable point of Web Frameworks
mather
May 20, 2022
Tweet
Share
More Decks by mather
See All by mather
SolidjsでLeacTion!を作り直しました / Rebuilt LeacTion! in Solid.js
mather
0
280
LeacTion!のアップデートとプチ勉強会へのいざない / Updates of LeacTion and Petit Meetup
mather
0
430
LeacTion!について / About LeacTion!
mather
0
310
Rubyでワンライナー / One-liner on Ruby
mather
0
420
認知と思考パターン / Cognition and Pattern
mather
1
260
「モデル」を考える / Think about "model"
mather
0
360
Shall we make a speech?
mather
0
220
Elmでライフゲーム / LifeGame in Elm
mather
1
980
Elmで関数型を意識する / Think functionally with Elm
mather
0
390
Other Decks in Programming
See All in Programming
急成長期の品質とスピードを両立するフロントエンド技術基盤
soarteclab
0
920
17年周年のWebアプリケーションにTanStack Queryを導入する / Implementing TanStack Query in a 17th Anniversary Web Application
saitolume
0
250
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
110
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
770
SymfonyCon Vienna 2025: Twig, still relevant in 2025?
fabpot
3
1.2k
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
Zoneless Testing
rainerhahnekamp
0
120
開発者とQAの越境で自動テストが増える開発プロセスを実現する
92thunder
1
180
Symfony Mapper Component
soyuka
2
730
プロダクトの品質に コミットする / Commit to Product Quality
pekepek
2
770
CSC509 Lecture 14
javiergs
PRO
0
130
StarlingMonkeyを触ってみた話 - 2024冬
syumai
3
270
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
17
2.3k
We Have a Design System, Now What?
morganepeng
51
7.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
RailsConf 2023
tenderlove
29
940
Producing Creativity
orderedlist
PRO
341
39k
Optimizing for Happiness
mojombo
376
70k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
170
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Transcript
Web フレームワークの功罪 2022-05-20 Web ナイト宮崎 vol.15 桑畑英資
自己紹介 桑畑英資 ( くわはたえいすけ) フリーランスソフトウェアエンジニア 企業の開発支援(設計・実装・提案) エンジニア教育(メンター) LeacTion! なども開発中 趣味:スキューバダイビング・カメラ
個人ブログはQR コードから→
抽象的な話をします 毎度おなじみ
Web アプリケーション(概要図)
Web フレームワーク(概要図)
Web フレームワークがもたらすメリット アプリケーションの実装に集中できる 学習コストを減らせる 効率的にアプリケーションを記述できる 実装時の考慮漏れが少なくなる フレームワークのスターターがあるので、開発を始めやすい 共通のルールや概念を用いることで知見が集まりやすくなる
枠組みのデメリット 枠組みを大きく外れた仕組みを記述することが難しくなる 基礎となる技術(プロトコルや言語の基礎)の学習を飛ばしがち
思考が「フレーム」にハマる問題 今回の主眼
「フレーム」にハマる フレームワークはWeb アプリケーションを「枠(frame) 」に入れるが どんな枠に分解するかはそれぞれ癖がある 例: Model が実質的にORM なのでテーブル設計中心になってしまう等 フレームワークに学ぶことで枠にガッチリと思考がハマってしまい
枠を外れそうな処理や、ドキュメント・ブログなどに知見のない 処理を実装しなければいけないときに迷子になってしまう
本当に必要なシステムは 決められた枠をはみ出す場合が多い
「フレーム」と向き合う フレームワークの癖を知る 別のフレームワークにも触れてみる フレームワークの「やってはいけないこと」をやってみる 例: Rails Way を外れる 「Web アプリケーション」としての基礎知識を学ぶ
フレームワークに依存しない設計手法を学ぶ ドメイン駆動設計など
ご清聴ありがとうございました Elm オススメです