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
大規模開発の中でbackbone.js、 marionette.jsを使う利点
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takayuki
PRO
January 01, 2018
Technology
690
0
Share
大規模開発の中でbackbone.js、 marionette.jsを使う利点
大規模開発の中でbackbone.js、
marionette.jsを使う利点
Takayuki
PRO
January 01, 2018
More Decks by Takayuki
See All by Takayuki
Build an MCP Server in Laravel to Enable “AI-Operated” Recruiting Tools(English)
bumptakayuki
PRO
0
29
Laravel Applications with DDD x Clean Architecture x Vibe Coding
bumptakayuki
PRO
1
120
Laravel × Clean Architecture
bumptakayuki
PRO
1
540
エンジニアのキャリア論
bumptakayuki
PRO
1
290
地方カンファレンス主催のススメ
bumptakayuki
PRO
1
260
Laravelで敢えて試す脆弱性のある書き方
bumptakayuki
PRO
2
1.3k
地方でのPHPエンジニア採用って実際どうなの?
bumptakayuki
PRO
0
790
沖縄観光、名物を一挙紹介!
bumptakayuki
PRO
2
780
Laravel ShiftでLaravelのバージョンアップしてみた話
bumptakayuki
PRO
1
3.4k
Other Decks in Technology
See All in Technology
【Gen-AX】20260530開催_JJUG CCC 2026 Spring
genax
0
360
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
200
BigQuery の Cross-cloud Lakehouse への歩み
phaya72
2
330
AIプラットフォームを運用し続けるための可観測性
tanimuyk
4
1.1k
Strands Agents超入門
kintotechdev
1
160
探して_入れて_作って_使う_Agent_Skills___LT.pdf
peintangos
2
150
AI フレンドリーなエラー監視を TypeScript で実現する
shinyaigeek
2
240
Databricks 月刊サービスアップデート 2026年05月号
tyosi1212
0
200
PHP と TypeScript の型システム比較:AI 時代の「型」は誰のためにあるのか? #frontend_phpcon_do / frontend_phpcon_do_2026
shogogg
1
240
イベントストーミングとKiroの仕様駆動開発で実現する要件の認識合わせプロセス
syobochim
7
1.1k
もりもり新機能を一挙紹介! AgentCoreに入門して、AWS上にAIエージェントを構築しよう
minorun365
PRO
6
680
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
4.5k
Featured
See All Featured
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
GitHub's CSS Performance
jonrohan
1033
470k
HDC tutorial
michielstock
2
680
Agile that works and the tools we love
rasmusluckow
331
21k
Amusing Abliteration
ianozsvald
1
190
Embracing the Ebb and Flow
colly
88
5.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Into the Great Unknown - MozCon
thekraken
41
2.5k
Optimising Largest Contentful Paint
csswizardry
37
3.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
Transcript
大規模開ൃの中でbackbone.js、 marionette.jsを使う利点 FullSpeed 鈴木孝之 2017/03/08
"KFOEB ձࣾɾࣗݾհ CBDLCPOFKTͷ֓ཁ େن։ൃͰͷCBDLCPOFKTͷϝϦοτɾಛ ࣄྫ
0.ձࣾɾࣗݾհ ◆໊લ ླ ೭(Suzuki Takayuki) ※ಉಉ໊ଟͯ͘ࠔͬͯ·͢ɻɻɻ ◆ࣗݾհ 1990ɺਆಸݝੜ·Εɻ ओʹۀγεςϜͷ։ൃΛܦݧޙɺ2015ʹϑϧεϐʔυʹೖࣾɻ ϑϧεϐʔυͰɺࠂ৴αʔϏεʮAdMatrixDSPʯͷ
։ൃΛ୲͠ɺཧը໘ͷϑϩϯταΠυͱ αʔόαΠυͷ։ൃʹैࣄɻ ◆झຯ ίεϓϨɺԻָϥΠϒɺϥϯχϯάɺٿ؍ઓ ◆εΩϧ PHP,Symfony2,CakePHP3,JavaScript,backbone.js,Angular.js,Java ʙࣗݾհʙ
0.ձࣾɾࣗݾհ ڌҰཡ ैۀһใ DSPɺಈըΞυωοτϫʔΫɺΞϑΟϦΤΠτΛ͡Ίͱ͢Δ ΞυςΫϊϩδʔࣄۀɺSEOίϯαϧςΟϯάɾӡ༻ܕࠂΛ ओ࣠ͱ͢ΔΠϯλʔωοτϚʔέςΟϯάࣄۀΛల։͢Δ ΞυςΫϊϩδʔˍϚʔέςΟϯάΧϯύχʔɻ ʙձࣾհʙ ࣗࣾαʔϏε
0.ձࣾɾࣗݾհ ʙձࣾհʙ ɾࠂࣄۀΛத৺ʹల։ ɾಠࣗΞυςΫϊϩδʔɾϓϥοτ ϑΥʔϜΛ։ൃ͠ɺϚʔέςΟϯά ࣄۀͱ߹ΘͤͯҰؾ௨؏ల։ ɾੵͨ͠σʔλɾϊϋΛ׆༻ ͠ɺߴਫ਼ͳϚʔέςΟϯά׆ಈࢧ ԉΛ࣮ݱ
0.ձࣾɾࣗݾհ ʙDSPͱʙ AD SSP DSP1 DSP3 DSP2 ϝσΟΞ RTB CPMΦʔΫγϣϯ
DSP1 80ԁ DSP2 110ԁ DSP3 100ԁ ᶃΠϯϓϨογϣϯൃੜ ᶄDSPೖࡳϦΫΤετ ᶅDSP͕݅ʹԊͬͯೖࡳ ᶆΦʔΫγϣϯ։࠵ ᶇࠂ৴
0.ձࣾɾࣗݾհ ʙAdMatrixDSPͰߦ͍ͬͯΔࣄʙ AD SSP Admatrix DSP ϝσΟΞ CPMΦʔΫγϣϯ DSP1 80ԁ
DSP2 110ԁ DSP3 100ԁ ᶃΠϯϓϨογϣϯൃੜ ᶄDSPೖࡳϦΫΤετ ᶅDSP͕݅ʹԊͬͯೖࡳ ᶆΦʔΫγϣϯ։࠵ ᶇࠂ৴ 䡧ཧը໘Ͱओʹߦ͏ૢ࡞ ɾେྔͷࠂϨϙʔτͷ֬ೝ ɾࠂͷ࡞ɾฤू ɾ৴ϢʔβͷλʔήςΟϯά ͳͲ RTB
0.ձࣾɾࣗݾհ ʙAdMatrixDSPͰߦ͍ͬͯΔࣄʙ
1.backbone.jsͷ֓ཁ ɾ20106݄ʹϦϦʔε͞ΕΔɻ ɾϑϨʔϜϫʔΫͷαΠζ͕খ͍͞ɻ AngularJs: 36KɺBackbone.js: 6.4Kɻ ɾBackbone.jsͦͷ໊ͷ௨ΓΈ͔͠ͳ͘ɺ ϕετϓϥΫςΟεͱݺΔͷ͕ଘࡏ͠ͳ͍ɻ ɾʮ͍ܰʯͱΑ͘ݴΘΕΔ͕ͦͷଞϥΠϒϥϦ(jQuery/ Underscore.js
etc)ʹґଘ͍ͯ͠ΔͷͰɺͦ͜ཁҙɻ
1.backbone.jsͷ֓ཁ ֶशίετߴ͍ ֶशίετ͍ ॏྔͰϑϧελοΫ ܰྔͰ൚༻ੑ͋Γ
1.backbone.jsͷ֓ཁ ʙੈքతͳτϨϯυʙ
2.ϝϦοτɾಛ ʙཧը໘Ͱ༻͍ͯ͠Δٕज़ʙ DB ϑϩϯταΠυ αʔόαΠυ ϏϧυɾλεΫཧ ɾAPIॲཧ ɾjob࣮ߦ ɾόον࣮ߦ ཧը໘
ɾViewͱTemplateΛΓ ͢͜ͱ͕Ͱ͖ɺ͔ͭCompile ࣌ʹTemplateΛjsͷϝιου ʹมͯ͘͠ΕΔͨΊɺඳ ը͍ɻ ɾ·ͨTempleteΛͷૉͷ HTMLʹۙ͘͢Δ͜ͱͰɺσ βΠφʔ͕Templateʹର͠ ͯमਖ਼ͯ͠σβΠϯΛ मਖ਼Ͱ͖Δɻ
ɾࣗ༝͕ߴ͍ͷͰɺΤϯδ χΞͷʹΑͬͯݟ௨͕͠ ѱ͍ίʔυʹͳΓ͍͢ɻ ɾBackBone.jsΛಋೖͯ͠ ίʔυྔ͕େ෯ʹݮΔͱ͍͏ ҹͳ͘ɺΓϝϯςφ ϯεͷ͢͠͞ɺظతͳ ੜ࢈ੑͷ্͕ಋೖͷϝϦο τʹͳΔɻ ɾModelɺViewɺCollection ͕͖ͬΓ͔Ε͓ͯΓɺࡉ ͔͍୯ҐͰཧͰ͖Δɻ ɾকདྷతͳ͍·Θ͠Λߟ͑ ΔͳΒ͜Ε͕׆͖ͯ͘Δͷ͔ ͠Εͳ͍͕ɺͦ͏͢Δͱͦ ͦ͜͜େنͰͳ͍ͱׂʹ߹ Θͳ͍ɻ ߴͰԠੑ͕ߴ͍ɻ େن։ൃʹ͍͍ͯΔɻ 2.ϝϦοτɾಛ ࣗ༝͕ߴ͍ɻ 1 3 2 ʙϝϦοτʙ
2.ϝϦοτɾಛ ʙ࣮ࡍʹ༻͞Ε͍ͯΔαʔϏεʙ ɾݱࡏͰTwitterɺPinterestɺ HuluɺFoursquareͱ͍ͬͨύϫϑ ϧͰେنͳ։ൃΛߦ͍ͬͯΔ WebαʔϏεʹΘΕ͍ͯΔɻ Compassbackbone.jsΛͬͯ ͍ΔͬΆ͍ɻ
Router Collection Model View Model Model Ajax௨৴ template /show ରͷURL͕ୟ͔Εͨ
ࡍʹৼΓ͚Δ ରͷViewͱtemplate ϑΝΠϧ͕ݺΕΔ ඞཁͳCollectionΛݺͼग़͢ 2.ϝϦοτɾಛ ʙ૬ؔਤʙ ωετͨ͠Viewͷ ཧΛิॿ
3.ࣄྫ MainView SummaryView TableView(Collection) ListView(Model) ʙཧը໘ͰͷViewͷ͚ํʙ
ʙͦΕͧΕͷॻ͖ํʙ Model 3.ࣄྫ
Collection ʙͦΕͧΕͷॻ͖ํʙ 3.ࣄྫ
View ʙͦΕͧΕͷॻ͖ํʙ 3.ࣄྫ
ɾMarionetteɺMVCͰ͍͏ɺίϯτϩʔ ϥͱϏϡʔʹରͯ͠ͷิॿΛ͢ΔػೳΛ࣋ ͭɻ ɾΞϓϦέʔγϣϯͷن͕େ͖͘ͳͬͯ ͘ΔͱɺBackboneͷΈͰViewͷཧ͕େ มʹͳͬͯ͘Δɻ ͦΜͳ࣌ʹmarionette.jsͷregionػೳ͕ศ རʂ ͜ͷΑ͏ʹDOMΛregionొͯ͠ɺ ผ్ཧͰ͖Δɻ
ʙͦΕͧΕͷॻ͖ํʙ 3.ࣄྫ
TVNNBSZ ɾ#BDLCPOFKTܰྔ͔ͭߴͰԠੑ͕ߴ͍ͱ͍͏ͷັྗͰ͋Δͷɺ ࣗ༝͕ߴ͍ͨΊܦݧ͕ઙ͍ͱແବͳίʔυ͕ࠞೖ͍͢͠ͷ͕ɻ ɾಋೖ͢Δ߹ॻ͖ํͷϧʔϧܾΊΛ͔ͬ͠Γߦ͑Δਓ͕͍Δͱྑ͍ɻ ɾେྔͷσʔλΛ͍εϐʔυͰऔಘ͠ͳ͍ͱ͍͚ͳ͍αʔϏεʹ͓͢͢Ί ɾ#BDLCPOFKTΛಋೖͯ͠ίʔυྔ͕େ෯ʹݮΔͱ͍͏ҹͳ͘ɺϝϯ ςφϯεͷ͢͠͞ɺظతͳੜ࢈ੑͷ্͕ಋೖͷϝϦοτʹͳΔɻ