Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Vue.js は裏切らない / UIT#5
Search
Yuji Yamaguchi
November 29, 2018
Programming
2.3k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Vue.js は裏切らない / UIT#5
Yuji Yamaguchi
November 29, 2018
More Decks by Yuji Yamaguchi
See All by Yuji Yamaguchi
Oxlintはいいぞ(続)
yug1224
1
630
螺旋階段のように上がるEMの次のキャリア
yug1224
1
330
ルールを書いて終わらせないハーネスエンジニアリング
yug1224
5
2k
バラバラだった staleTime を、データの性質で4プリセットに集約する
yug1224
1
83
Oxcを導入して開発体験が向上した話
yug1224
5
530
EMからICへのキャリアチェンジの壁とその越え方
yug1224
5
360
Cursor Subagentsはいいぞ
yug1224
2
240
EMからICへ、二周目人材としてAI全振りのプロダクト開発で見つけた武器
yug1224
5
2.3k
Oxlintはいいぞ
yug1224
5
3.8k
Other Decks in Programming
See All in Programming
Intent as Code
shoppingjaws
6
1k
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3k
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
2.2k
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
140
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
350
App Intentsのビルドプロセスを支える技術
kntkymt
0
390
SREの越境 / SRE Collaboration
y0hgi
2
220
iOSDC2026登壇資料.pdf
riofujimon
0
170
Security issues being discussed on Web Platforms
petamoriken
0
960
ゲームコントローラやキーボードのファームウェアをSwiftで書く
kishikawakatsumi
1
240
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
600
iOSDC Japan 2026 - Swiftで作って学ぼう!データベース自作入門
kaseken
2
170
Featured
See All Featured
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
660
Leo the Paperboy
mayatellez
10
2.3k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
Balancing Empowerment & Direction
lara
6
1.3k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.4k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
850
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
460
Transcript
Vue.js は裏切らない 2018/11/29 UIT#5 Yuji Yamaguchi
自己紹介 ▸ 名前 ▸ ヤマグチ ユウジ ▸ 職種 ▸ フロントエンドエンジニア
▸ 経歴 ▸ 2011年04月 通信系企業 ▸ IoTやWebコンテンツサービスの開発運用 ▸ 2016年01月 ネット広告系企業 ▸ 広告配信管理システムの開発運用 ▸ 2016年10月 株式会社リクルートライフスタイル ▸ 飲食店向け予約台帳システムの開発 ▸ 横断フロントエンドチーム 2
3 今日話すこと
飲食店向け予約台帳アプリ:レストランボード 4
5 独自フレームワークを Vue.js で置き換えている話
Vue.js で置き換えている話 ▸ 独自フレームワークについて ▸ Vue.js 導入前にやったこと ▸ 良かったこと /
悪かったこと ▸ まとめ 6
どんな独自フレームワーク? ▸ jQuery 製、2014年末頃に誕生 ▸ Babelify で ES2015 化、 MorphDOM
で 差分レンダリング を実現 ▸ Template に Model を渡すとレンダリングし、 Selector と Function を渡すとバインドする MVVM 7
入力値を表示する場合 8
9 完成度は高いが 今後の継続性に不安...
まずは足元を整えることから開始 ▸ Browserify を webpack に ▸ Grunt を Gulp
/ npm script に ▸ JSLint を ESLint / Prettier に ▸ Mocha を Jest に ▸ $.Deferred を Promise(bluebird)に ▸ and more... 10
開発の歴史 11 2014/12 2016/10 2017/10 2018/10 2015/4 独自FW誕生 レストランボード 開発開始
脱Browserify 脱Grunt ESLint Jest Prettier Promise Vue.js async / await 足元の整理に二年弱くらい
Vue.js 導入時に心掛けたこと ▸ 小さく移行する ▸ Drastic に変えない ▸ 画面毎や部品毎、 Molecules
や Atoms から導入 ▸ 案件で触る部分だけ、リファクタリングの粒度にとどめる ▸ 移行で I/F が変わらないことが大事 ▸ レガシーコードの ロジックは資産、できるだけそのまま使う 12
13 導入による大きなインシデントは いまのところなし!
Vue.js 導入で良かったこと ▸ 学習曲線が緩い ▸ バックエンドからの転向組でも立ち上がりがスムーズだった ▸ template, script, style
の SFC はわかりやすい ▸ 誰が書いても それなり に書ける ▸ 人材が少ない中で 誰でもそれなり はすごく嬉しい 14
Vue.js 導入で難しかったこと ▸ 自由にできすぎる... ▸ watch or computed ? created
or mounted ? ▸ ついでに新しい技術等も一緒に入れようとして影響が肥大化する ▸ やらないことを決める のが大事 ▸ 秩序とは制約の上に成り立つ 15
現状の導入比率 16 59% 41% 60画面中25画面で導入済み
17 まとめ
まとめ 利益を出しているサービス開発において 継続性はものすごく重要で 誰でもそれなりに使えるFWはありがたい やらないことを決めるのがすごく難しいが 新旧が共存しながら移行できるのは Vue.js の柔軟性があってこそ 18
19 Vue.js は裏切らない!
20 EOF