Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
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.4k
Other Decks in Programming
See All in Programming
[堅牢.py #1] テストを書かない研究者に送る、最初にテストを書く実験コード入門 / Let's start your ML project by writing tests
shunk031
12
7.1k
30分でDoctrineの仕組みと使い方を完全にマスターする / phpconkagawa 2025 Doctrine
ttskch
3
790
ハイパーメディア駆動アプリケーションとIslandアーキテクチャ: htmxによるWebアプリケーション開発と動的UIの局所的適用
nowaki28
0
380
生成AIを利用するだけでなく、投資できる組織へ
pospome
0
190
AIエンジニアリングのご紹介 / Introduction to AI Engineering
rkaga
5
1.9k
宅宅自以為的浪漫:跟 AI 一起為自己辦的研討會寫一個售票系統
eddie
0
490
チームをチームにするEM
hitode909
0
290
LLM Çağında Backend Olmak: 10 Milyon Prompt'u Milisaniyede Sorgulamak
selcukusta
0
110
社内オペレーション改善のためのTypeScript / TSKaigi Hokuriku 2025
dachi023
1
550
AIエージェントを活かすPM術 AI駆動開発の現場から
gyuta
0
350
AIコーディングエージェント(skywork)
kondai24
0
150
スタートアップを支える技術戦略と組織づくり
pospome
8
16k
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Testing 201, or: Great Expectations
jmmastey
46
7.8k
GraphQLとの向き合い方2022年版
quramy
50
14k
Designing for Performance
lara
610
69k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
10
710
Thoughts on Productivity
jonyablonski
73
5k
What's in a price? How to price your products and services
michaelherold
246
12k
Bootstrapping a Software Product
garrettdimon
PRO
307
120k
Build The Right Thing And Hit Your Dates
maggiecrowley
38
3k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
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ʢϢʔεέʔεʣΛݟΕɺը໘্ ͷϢʔεέʔεͱͦͷॲཧΛѲͰ͖Δ
▸ ڥք͕໌֬ͳͷͰదͳείʔϓͰنܾΊͳͲΛߦ͑Δ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰ ઃܭ͢Δ͜ͱ ઃܭΛ௨ͯ͠େࣄͩͱࢥͬͨ͜ͱ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰઃܭ͢Δ͜ͱ ▸ نΛܾΊΔ͜ͱ ▸ ڞ௨ݴޠΛܾΊΔ͜ͱ ▸ είʔϓΛܾΊΔ͜ͱ ▸ ্هΛΓ͍͢Α͏ͳΈΛ࡞Δ͜ͱ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠