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
プロジェクト新規参入者のリードタイム短縮の観点から見る、品質の高いコードとアーキテクチャを保つメリット
d_endo
1
1.1k
Webの技術スタックで マルチプラットフォームアプリ開発を可能にするElixirDesktopの紹介
thehaigo
2
1k
タクシーアプリ『GO』のリアルタイムデータ分析基盤における機械学習サービスの活用
mot_techtalk
4
730
ActiveSupport::Notifications supporting instrumentation of Rails apps with OpenTelemetry
ymtdzzz
1
210
Amazon Bedrock Agentsを用いてアプリ開発してみた!
har1101
0
310
Hotwire or React? ~アフタートーク・本編に含めなかった話~ / Hotwire or React? after talk
harunatsujita
1
110
Duckdb-Wasmでローカルダッシュボードを作ってみた
nkforwork
0
110
PLoP 2024: The evolution of the microservice architecture pattern language
cer
PRO
0
2.5k
From Subtype Polymorphism To Typeclass-based Ad hoc Polymorphism- An Example
philipschwarz
PRO
0
200
as(型アサーション)を書く前にできること
marokanatani
1
190
型付き API リクエストを実現するいくつかの手法とその選択 / Typed API Request
euxn23
4
1.3k
推し活としてのrails new/oshikatsu_ha_iizo
sakahukamaki
3
2k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Fashionably flexible responsive web design (full day workshop)
malarkey
405
65k
Facilitating Awesome Meetings
lara
50
6.1k
Faster Mobile Websites
deanohume
305
30k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Making Projects Easy
brettharned
115
5.9k
Scaling GitHub
holman
458
140k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.8k
Rails Girls Zürich Keynote
gr2m
93
13k
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ʢϢʔεέʔεʣΛݟΕɺը໘্ ͷϢʔεέʔεͱͦͷॲཧΛѲͰ͖Δ
▸ ڥք͕໌֬ͳͷͰదͳείʔϓͰنܾΊͳͲΛߦ͑Δ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰ ઃܭ͢Δ͜ͱ ઃܭΛ௨ͯ͠େࣄͩͱࢥͬͨ͜ͱ
ϓϩμΫτΛ࡞ΔνʔϜϕʔεͰઃܭ͢Δ͜ͱ ▸ نΛܾΊΔ͜ͱ ▸ ڞ௨ݴޠΛܾΊΔ͜ͱ ▸ είʔϓΛܾΊΔ͜ͱ ▸ ্هΛΓ͍͢Α͏ͳΈΛ࡞Δ͜ͱ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠