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
470
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
320
LeacTion!のアップデートとプチ勉強会へのいざない / Updates of LeacTion and Petit Meetup
mather
0
480
LeacTion!について / About LeacTion!
mather
0
330
Rubyでワンライナー / One-liner on Ruby
mather
0
470
認知と思考パターン / Cognition and Pattern
mather
1
280
「モデル」を考える / Think about "model"
mather
0
380
Shall we make a speech?
mather
0
240
Elmでライフゲーム / LifeGame in Elm
mather
1
1k
Elmで関数型を意識する / Think functionally with Elm
mather
0
420
Other Decks in Programming
See All in Programming
Django Ninja による API 開発効率化とリプレースの実践
kashewnuts
0
920
uniqueパッケージの内部実装を支えるweak pointerの話
magavel
0
910
Local Peer-to-Peer APIはどのように使われていくのか?
hal_spidernight
2
440
実践AIチャットボットUI実装入門
syumai
7
2.4k
明日から始めるリファクタリング
ryounasso
0
110
Conquering Massive Traffic Spikes in Ruby Applications with Pitchfork
riseshia
0
150
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
180
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
110
メモリ不足との戦い〜大量データを扱うアプリでの実践例〜
kwzr
1
840
ソフトウェア設計の実践的な考え方
masuda220
PRO
3
460
Чего вы не знали о строках в Python – Василий Рябов, PythoNN
sobolevn
0
160
Featured
See All Featured
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
960
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Context Engineering - Making Every Token Count
addyosmani
5
180
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.7k
The World Runs on Bad Software
bkeepers
PRO
71
11k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Agile that works and the tools we love
rasmusluckow
331
21k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Balancing Empowerment & Direction
lara
4
680
Transcript
Web フレームワークの功罪 2022-05-20 Web ナイト宮崎 vol.15 桑畑英資
自己紹介 桑畑英資 ( くわはたえいすけ) フリーランスソフトウェアエンジニア 企業の開発支援(設計・実装・提案) エンジニア教育(メンター) LeacTion! なども開発中 趣味:スキューバダイビング・カメラ
個人ブログはQR コードから→
抽象的な話をします 毎度おなじみ
Web アプリケーション(概要図)
Web フレームワーク(概要図)
Web フレームワークがもたらすメリット アプリケーションの実装に集中できる 学習コストを減らせる 効率的にアプリケーションを記述できる 実装時の考慮漏れが少なくなる フレームワークのスターターがあるので、開発を始めやすい 共通のルールや概念を用いることで知見が集まりやすくなる
枠組みのデメリット 枠組みを大きく外れた仕組みを記述することが難しくなる 基礎となる技術(プロトコルや言語の基礎)の学習を飛ばしがち
思考が「フレーム」にハマる問題 今回の主眼
「フレーム」にハマる フレームワークはWeb アプリケーションを「枠(frame) 」に入れるが どんな枠に分解するかはそれぞれ癖がある 例: Model が実質的にORM なのでテーブル設計中心になってしまう等 フレームワークに学ぶことで枠にガッチリと思考がハマってしまい
枠を外れそうな処理や、ドキュメント・ブログなどに知見のない 処理を実装しなければいけないときに迷子になってしまう
本当に必要なシステムは 決められた枠をはみ出す場合が多い
「フレーム」と向き合う フレームワークの癖を知る 別のフレームワークにも触れてみる フレームワークの「やってはいけないこと」をやってみる 例: Rails Way を外れる 「Web アプリケーション」としての基礎知識を学ぶ
フレームワークに依存しない設計手法を学ぶ ドメイン駆動設計など
ご清聴ありがとうございました Elm オススメです