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
モダンJavaScriptフレームワークで技術的負債を作らないために
Search
yukinm7
November 30, 2018
Programming
0
1.4k
モダンJavaScriptフレームワークで技術的負債を作らないために
yukinm7
November 30, 2018
Tweet
Share
More Decks by yukinm7
See All by yukinm7
Flux層の責務について考える
yukinm7
3
2.1k
Other Decks in Programming
See All in Programming
個人アプリを2年ぶりにアプデしたから褒めて / I just updated my personal app, praise me!
lovee
0
280
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
250
DevinとCursorから学ぶAIエージェントメモリーの設計とMoatの考え方
itarutomy
1
460
Amazon Nova Reelの可能性
hideg
0
240
バックエンドのためのアプリ内課金入門 (サブスク編)
qnighy
1
190
Rubyでつくるパケットキャプチャツール
ydah
0
340
functionalなアプローチで動的要素を排除する
ryopeko
1
770
Amazon Bedrock Multi Agentsを試してきた
tm2
1
180
PHPで学ぶプログラミングの教訓 / Lessons in Programming Learned through PHP
nrslib
4
1.1k
オニオンアーキテクチャを使って、 Unityと.NETでコードを共有する
soi013
0
380
AWS re:Invent 2024個人的まとめ
satoshi256kbyte
0
140
Compose でデザインと実装の差異を減らすための取り組み
oidy
1
220
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Docker and Python
trallard
43
3.2k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
Speed Design
sergeychernyshev
25
750
Thoughts on Productivity
jonyablonski
68
4.4k
A Tale of Four Properties
chriscoyier
157
23k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.8k
What's in a price? How to price your products and services
michaelherold
244
12k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.5k
A designer walks into a library…
pauljervisheath
205
24k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
Transcript
ϞμϯJavaScriptϑϨʔϜϫʔΫͰ ٕज़తෛ࠴Λ࡞Βͳ͍ͨΊʹ גࣜձࣾϠϓϦ َ༔و
َ༔و ▸ 20172݄ʹϠϓϦʹೖࣾ ▸ ೖࣾޙΠϯϑϥɺόοΫΤϯυɺϑϩϯτΤϯυΛܦݧ ▸ AWSɺAnsibleɺPHPɺLaravelɺRubyɺRuby on RailsɺJavaScriptɺ TypeScriptɺReact.jsɺVue.jsɺGolang
▸ ݱࡏ৽CMSͷαʔόʔαΠυʢGolangʣ࣮ɺϑϩϯτΤϯυ ʢVue.jsɺNuxt.jsʣ࣮ɺઃܭ ࣗݾհ
ݱࡏ͍ͬͯΔ͜ͱ CMS2 CMS3 ৽CMS ʢ࣮தʣ Replace
ϞμϯJavaScriptϑϨʔϜϫʔΫͰ ͍͠ͱײ͍ͯͨ͡ͱ͜Ζ
ϞμϯJavaScriptϑϨʔϜϫʔΫͰ͍͠ͱײ͍ͯͨ͡ͱ͜Ζ ▸ ॻ͖ํͷࣗ༝͕ߴ͘ɺઃܭɾνʔϜͰ౷Ұ͢Δͷ͕͍͠ ▸ ίϯϙʔωϯτࢦΏ͑ʹɺ͓͓ͱͷσʔλؔͷ Ѳ͕͍͠ ▸ σβΠφʔͱͷྖҬ͕ᐆດ
ίϯϙʔωϯτࢦΏ͑ʹɺ͓͓ͱͷσʔλؔͷѲ͕͍͠
ϞμϯJavaScriptϑϨʔϜϫʔΫͰ͍͠ͱײ͍ͯͨ͡ͱ͜Ζ ▸ ॻ͖ํͷࣗ༝͕ߴ͘ɺઃܭɾνʔϜͰ౷Ұ͢Δͷ͕͍͠ ▸ ίϯϙʔωϯτࢦΏ͑ʹɺ͓͓ͱͷσʔλؔͷ Ѳ͕͍͠ ▸ σβΠφʔͱͷྖҬ͕ᐆດ
ϑϩϯτΤϯυͱαʔόʔαΠυͷνʔϜମ੍ ϑϩϯτΤϯυ ΤϯδχΞ αʔόʔΤϯυ ΤϯδχΞ ໊̎ʢʴ໊̎ʣ ໊̓ HTMLɺCSSͳͲ σβΠϯҎ֎ͷ ෦Λ࣮͢Δ
σβΠφʔͱͷྖҬ͕ᐆດ ▸ (αʔόʔαΠυΤϯδχΞઢͰ)࣮ࡍʹॲཧ͕ಈ͘ͱ͜Ζ ·ͰΖ͏ͱ͢Δͱɺίϯϙʔωϯτ͕ͳ͍ͱ࣮Ͱ͖ͳ ͍ ▸ ্هͷΑ͏ͳ෦͕ઌߦޙଓؔʹͳΔ ▸ ྆νʔϜͰ༻͢ΔϥΠϒϥϦنΛॊೈʹ͚ΒΕͳ ͍
ରॲ͢ΔͨΊʹߦͬͨ͜ͱ
ը໘্Ϣʔεέʔεͷू
ը໘্Ϣʔεέʔεͷू Vue.js σʔλ ؔ ίϯϙʔωϯτ
ը໘্Ϣʔεέʔεͷू Vue.js Vuex ίϯϙʔωϯτ σʔλ ΞΫγϣϯ
changeFieldTitle changeFieldTitle changeFieldTitle changeFieldTitle changeFieldTitle changeFieldTitle changeFieldTitle changeFieldBody addField changeFavicon
changeField LinkTitle changeField LinkIcon onFocus outFocus save Vuex
ը໘্Ϣʔεέʔεͷू Vue.js Vuex Golang ϑϩϯτΤϯυ ΤϯδχΞ αʔόʔαΠυ ΤϯδχΞ
ϢʔεέʔεूʹΑͬͯड͚ͨԸܙ ▸ ϑϩϯτ։ൃΛߦ͏αʔόʔαΠυΤϯδχΞ͕࣮͢Δ෦ ͕Vuexʹू͞ΕΔ͜ͱͰɺVue.jsͷࣄલ͕ࣝগͳͯ͘ ։ൃʹೖΔ͜ͱ͕Ͱ͖Δ ▸ σβΠφʔίϯϙʔωϯτ࡞ʹूதͰ͖Δ ▸ ֓ཁॻͱVuexͷactionsʢϢʔεέʔεʣΛݟΕɺը໘্ ͷϢʔεέʔεͱͦͷॲཧΛѲͰ͖Δ
▸ ڥք͕໌֬ͳͷͰదͳείʔϓͰنܾΊͳͲΛߦ͑Δ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰ ઃܭ͢Δ͜ͱ ઃܭΛ௨ͯ͠େࣄͩͱࢥͬͨ͜ͱ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰઃܭ͢Δ͜ͱ ▸ نΛܾΊΔ͜ͱ ▸ ڞ௨ݴޠΛܾΊΔ͜ͱ ▸ είʔϓΛܾΊΔ͜ͱ ▸ ্هΛΓ͍͢Α͏ͳΈΛ࡞Δ͜ͱ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠