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.5k
モダンJavaScriptフレームワークで技術的負債を作らないために
yukinm7
November 30, 2018
Tweet
Share
More Decks by yukinm7
See All by yukinm7
Flux層の責務について考える
yukinm7
3
2.3k
Other Decks in Programming
See All in Programming
AI OCR API on Lambdaを Datadogで可視化してみた
nealle
0
180
TDD 実践ミニトーク
contour_gara
0
150
AI時代のドメイン駆動設計-DDD実践におけるAI活用のあり方 / ddd-in-ai-era
minodriven
23
9k
TanStack DB ~状態管理の新しい考え方~
bmthd
2
340
パスタの技術
yusukebe
1
400
LLMOpsのパフォーマンスを支える技術と現場で実践した改善
po3rin
8
990
兎に角、コードレビュー
mitohato14
0
150
「リーダーは意思決定する人」って本当?~ 学びを現場で活かす、リーダー4ヶ月目の試行錯誤 ~
marina1017
0
240
STUNMESH-go: Wireguard NAT穿隧工具的源起與介紹
tjjh89017
0
390
Kiroの仕様駆動開発から見えてきたAIコーディングとの正しい付き合い方
clshinji
1
150
Flutterと Vibe Coding で個人開発!
hyshu
1
270
あのころの iPod を どうにか再生させたい
orumin
2
2.5k
Featured
See All Featured
Faster Mobile Websites
deanohume
309
31k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Docker and Python
trallard
45
3.5k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Six Lessons from altMBA
skipperchong
28
4k
Music & Morning Musume
bryan
46
6.7k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
RailsConf 2023
tenderlove
30
1.2k
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ʢϢʔεέʔεʣΛݟΕɺը໘্ ͷϢʔεέʔεͱͦͷॲཧΛѲͰ͖Δ
▸ ڥք͕໌֬ͳͷͰదͳείʔϓͰنܾΊͳͲΛߦ͑Δ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰ ઃܭ͢Δ͜ͱ ઃܭΛ௨ͯ͠େࣄͩͱࢥͬͨ͜ͱ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰઃܭ͢Δ͜ͱ ▸ نΛܾΊΔ͜ͱ ▸ ڞ௨ݴޠΛܾΊΔ͜ͱ ▸ είʔϓΛܾΊΔ͜ͱ ▸ ্هΛΓ͍͢Α͏ͳΈΛ࡞Δ͜ͱ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠