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を書かないで SymfonyのUIをリッチにする Symfony UX
Search
Ippei Sumida
September 24, 2022
Programming
1
1.8k
なるべくJavaScriptを書かないで SymfonyのUIをリッチにする Symfony UX
PHP Conference Japan 2022でお話しした内容です。
#phpcon #phpcon2022
Ippei Sumida
September 24, 2022
Tweet
Share
More Decks by Ippei Sumida
See All by Ippei Sumida
AIで生成したものをAIでチェックしてる話
ippey
0
1.9k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
620
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
0
6.2k
素早いバリュー提供のための DROBEの新戦略
ippey
0
1.2k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
1.7k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
2.2k
それぞれの特徴から考えるフレームワーク選び
ippey
1
850
はじめてのCI - 実践編 -
ippey
1
270
はじめてのCI - 概要と準備編 -
ippey
0
420
Other Decks in Programming
See All in Programming
게임 개발하던 학생이이 세계에선 안드로이드 개발자?
pangmoo
0
120
今日で分かる!カスタムコップの作り方
krpk1900
2
140
組織に自動テストを書く文化を根付かせる戦略(2024秋版) / Building Automated Test Culture 2024 Autumn Edition
twada
PRO
8
3.3k
Повторное использование кода в ML: почему ML-пайплайны могут помочь?
lamodatech
0
370
Modern Angular with Lightweight Stores: New Rules and Options
manfredsteyer
PRO
0
160
CSC509 Lecture 04
javiergs
PRO
0
160
Going Staff - Keynote edition
pragtob
0
340
LangChain & LangServeでAPIを爆速作成
kijitorabuti
2
350
Why I Choose NetBeans for Jakarta EE
ivargrimstad
0
740
CSC509 Lecture 06
javiergs
PRO
0
130
現場から考えるソフトウェアエンジニアリングの価値と実験
nomuson
1
140
2024-10-01 dev2next - Observability for Modern JVM Applications
jonatan_ivanov
1
140
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
231
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
How STYLIGHT went responsive
nonsquared
95
5.1k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.6k
Designing the Hi-DPI Web
ddemaree
280
34k
GitHub's CSS Performance
jonrohan
1030
450k
Become a Pro
speakerdeck
PRO
24
4.9k
The Pragmatic Product Professional
lauravandoore
31
6.2k
How to Ace a Technical Interview
jacobian
275
23k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
46
4.9k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
250
Transcript
1)1$POGFSFODF+BQBO ͳΔ͘+BWB4DSJQUΛॻ͔ͳ͍Ͱ 4ZNGPOZͷ6*ΛϦονʹ͢Δ 4ZNGPOZ69
֯ాɹҰฏʢ͢Έ͍͍ͩͬʣ w ౡݝग़ɺେࡕࡏॅ w ϑϦʔϥϯε8FCσϕϩούʔ w 4ZNGPOZ.FFUVQ,BOTBJӡӦ ίϛϡχςΟ׆ಈͬͯ·͢
"(&/%" w 4ZNGPOZ69ͱ w 4ZNGPOZ69Λ͏ͱԿ͕ྑ͍͔ w 4ZNGPOZ69ͷ͓͢͢Ίίϯϙʔωϯτ
4ZNGPOZ69ͱ
όοΫΤϯυͱϑϩϯτΤϯυΛ ͭͳ͙ڮ
ϑϩϯτΤϯυ όοΫΤϯυ
4ZNGPOZ69 ϑϩϯτΤϯυ όοΫΤϯυ ˣͳΔ͘؆୯ʹϑϩϯτΤϯυͷΧελϚΠζΛߦ͑ΔΑ͏ʹ
4ZNGPOZ69 8FCQBDL&ODPSF 4ZNGPOZ 5XJH 4ZNGPOZ69ߏ ˡϑϨʔϜϫʔΫ ˡςϯϓϨʔτΤϯδϯ ˡ8FCQBDL౷߹ϥΠϒϥϦ ˡ69ϥΠϒϥϦ
ओͳػೳ w 69ܥ+BWB4DSJQUϥΠϒϥϦΛར༻ w 69༻ςϯϓϨʔτλάɾΫϥεͰ+BWB4DSJQUͷࣗಈੜ w 1)1ͷΛ+BWB4DSJQUεϜʔζʹ͢ 69ʹؔΘΔػೳ֦ு Λఏڙ
ݟͨܥ ϑΥʔϜܥ 5XJHܥ w5XJH$PNQPOFOU w-JWF$PNQPOFOU w$IBSUKT w-B[Z*NBHF w4XVQ w5VSCP w5ZQFE
w/PUJGZ w"VUPDPNQMFUF w*NBHF$SPQQFS w4UZMJ[FE%SPQ[POF ౷߹ܥ w3FBDU w7VF /FX
1)1ύοέʔδΠϯετʔϧ QBDLBHFKTPOه Πϯετʔϧ
4ZNGPOZ69Λ͏ͱԿ͕ྑ͍͔
ݟͨେࣄͩΑʂ Ξχϝʔγϣϯ͍ͨ͠ ͳΜ͔γϡοͱ͍ͨ͠ ݕࡧΛ͔ͬ͜Αͯ͘͠ ཧը໘͍ͮΒ͍ʂ ʑɺ͍Ζ͍Ζͳཁ͕ͱͲ͖·͢
+BWB4DSJQUʹ ςϯϓϨʔτͷίʔυΛ ॻ͘߹͕͋Δɻ
+BWB4DSJQUͷͨΊͷ"1*Λ ࡞Δඞཁ͕͋Δɻ
69༻ΦϒδΣΫτΛ࡞Δ 69༻ςϯϓϨʔτ ؔλάΛ͏ جຊ͜ͷ̎ύλʔϯ
+BWB4DSJQUͰॻ͍ͨ߹ ྫ͑$IBSUKTΛ
DIBSU#VJMEFSDSFBUF$IBSU \άϥϑछผ^ ˠάϥϑΦϒδΣΫτ࡞ DIBSUTFU%BUB \σʔλ^ ˠάϥϑͷσʔλΛηοτ +BWB4DSJQUͰઃఆ͢ΔσʔλΛ
1)1Ͱهड़ 4ZNGPOZ69ͩͱ
\\SFOEFS@DIBSU ^^Ͱ+BWB4DSJQUੜ
None
w ඞཁҎ্ʹ+BWB4DSJQUΛॻ͔ͳͯ͘Α͘ͳΔ w ඞཁҎ্ʹ"1*Λ࡞Δඞཁ͕ͳ͘ͳΔ w طଘͷϓϩδΣΫτʹ؆୯ʹಋೖͰ͖Δ w ຌϛε͕ݮΔʢྫɿ+4ͷจࣈྻ݁߹Ͱzzͬͯͨʣ 4ZNGPOZ69Λ͏͜ͱͰʜ গͳ͍࿑ྗͰݟͨΛվળʂ
4ZNGPOZ69ͷछྨ
ݟͨܥ ϑΥʔϜܥ 5XJHܥ w5XJH$PNQPOFOU w-JWF$PNQPOFOU w$IBSUKT w-B[Z*NBHF w4XVQ w5VSCP w5ZQFE
w/PUJGZ w"VUPDPNQMFUF w*NBHF$SPQQFS w4UZMJ[FE%SPQ[POF ౷߹ܥ w3FBDU w7VF ࠓճհ͢Δίϯϙʔωϯτ /FX
ϖʔδʹΞΫγϣϯΛ͚ͭΔͷʹศར ϖʔδ ϖʔδ " # ΠϯλϥΫςΟϒͳ ϖʔδ " $
ݟͨܥ ϑΥʔϜܥ 5XJHܥ w5XJH$PNQPOFOU w-JWF$PNQPOFOU w$IBSUKT w-B[Z*NBHF w4XVQ w5VSCP w5ZQFE
w/PUJGZ w"VUPDPNQMFUF w*NBHF$SPQQFS w4UZMJ[FE%SPQ[POF ౷߹ܥ w3FBDU w7VF ࠓճհ͢Δίϯϙʔωϯτ /FX ͦΕͧΕʹಛੑ͋Γ
)PUXJSF5VSCPΛͬͯ41"ʢͬΆ͍ಈ͖ʣʹ͠·͢ 5VSCP TZNGPOZVYUVSCP
5VSCPछྨ 5VSCP w 5VSCP%SJWF ˠϖʔδશମʹ࡞༻ w 5VSCP'SBNF ˠϖʔδͷ̍Օॴʹ࡞༻
w 5VSCP4USFBN ˠϖʔδͷෳՕॴʹ࡞༻
5VSCP%SJWF ೖΕΔ͚ͩͰɺϦϯΫઌͷϖʔδΛ"KBYͰऔಘ͠දࣔΛࠩ͠ସ͑·͢
ϑΥʔϜૹ৴࣌ɺಉҰ63-Λ࠶ඳը͢Δ͜ͱ͕Ͱ͖ͳ͍ʂʂ
5VSCP'SBNF ը໘ͷҰ෦͚ͩΞΫγϣϯઌͷϖʔδΛ"KBYͰऔಘ͠දࣔΛࠩ͠ସ͑·͢
UVSCPGSBNFͰғΉͱ͚ͦͩ͜࠶ඳը͠·͢
TSDࢦఆͰԆಡࠐ͠·͢
ϑΥʔϜૹ৴࣌ɺෳՕॴΛ࠶ඳը͢Δ͜ͱ͕Ͱ͖ͳ͍ʂʂ
5VSCP4USFBN ΞΫγϣϯͰෳՕॴΛ"KBYͰऔಘ͠දࣔΛࠩ͠ସ͑·͢
lUVSCP@TUSFBNz ͱ͍͏ϑΥʔϚοτͰ ಛघͳσʔλΛग़ྗ
UVSCPTUSFBNͰғΉ λʔήοτ*%Λத৺ʹ࠶ඳը
BDUJPOlVQEBUFzɿλʔήοτͰࢦఆͨ͠*%λάΛ࠶ඳը͠·͢
5VSCP4USFBNΞΫγϣϯͷछྨ UVSCPTUSFBNBDUJPOl\͜͜^z w BQQFOE ˠࢦఆ*%λάͷ࠷ޙʹՃ w QSFQFOE ˠࢦఆ*%λάͷ࠷ॳʹՃ
w SFQMBDF ˠࢦఆ*%λάΛॻ͖͑ w VQEBUF ˠࢦఆ*%λάΛॻ͖͑ w SFNPWF ˠࢦఆ*%λάΛআ w CFGPSF ˠࢦఆ*%λάͷલʹՃ w BGUFS ˠࢦఆ*%λάͷޙΖʹՃ
None
.&3$63& "114&37&3 .&3$63&͕44&ʢ4FSWFS4FOU&WFOUTʣͷϋϒͱͯ͠ಈ࡞ 1045 44& 44& 44&
5VSCP4USFBN 5VSCP4USFBN 5VSCPTUSFBN .&3$63& "114&37&3 44&Ͱ5VSCP4USFBNΛૹ৴͢Δ͜ͱ͕Մೳ 1045
IVCQVCMJTI OFX6QEBUF ࢦఆ͞ΕͨτϐοΫͰ44&ૹ৴ τϐοΫ 5VSCP4USFBN
lDIBUz τϐοΫΛϦοεϯ 44&Λड͚औΔͱ࠶ඳը ʢෳ*%Մೳʣ
QVCTVC͕+BWB4DSJQUΛߦॻ͔ͣʹ࣮ݱͰ͖·͢
w ϦΞϧλΠϜੑͷඞཁͳΟδΣοτ w ࠲੮ࢦఆ w ͍͍ͶϘλϯʢ݅ʣ w QVCTVC w ίϝϯτ
w νϟοτ w JEཧ͕͔ͬ͠Γඞཁ w ηΩϡϦςΟͷߟྀ͕ඞཁ ˠᷖᮣʹͭ͘Δͱݸਓใ࿙Ӯ͢Δ 5VSCP )PUXJSF5VSCPΛͬͯ41"ʢͬΆ͍ಈ͖ʣʹ͠·͢ ҙ γʔϯ
˞ల։͞Εͨ)5.-͕࠶ඳը͞Ε·͢
5XJHͱΫϥεΛͬͯίϯϙʔωϯτΛ࡞Γ·͢ 5XJH$PNQPOFOU TZNGPOZVYUXJHDPNQPOFOU
None
None
QVCMJD QSJWBUFʹΑΔΞΫηε੍ޚ Կܧঝ͍ͯ͠ͳ͍Ϋϥε ΦʔτϫΠϠϦϯάʹΑΔ%* 5XJHͰࢦఆ͞ΕΔ͜ͱͰ ɹ࣮ߦ͞ΕΔϝιου
DPNQVUFEΛ͏ͱ࣮ߦ݁ՌΛอ࣋͠ɺ࣍ճҎ࣮߱ߦ݁ՌΛฦ͠·͢
5XJH$PNQPOFOUʹঢ়ଶอ࣋ͱΞΫγϣϯΛՃ͠·͢ -JWF$PNQPOFOU TZNGPOZVYMJWFDPNQPOFOU
<-JWF1SPQT> <-JWF"DUJPO> ˠεςʔτϑϧͳϓϩύςΟ ˠΞΫγϣϯϝιου <"T-JWF$PNQPOFOU> ˠ-JWF$PNQPOFOUએݴ
\\BUUSJCVUF^^ ˠඞཁͳଐੑΛՃ EBUBBDUJPOlMJWFBDUJPOz EBUBBDUJPOOBNFlϝιου໊z ˠࢦఆͨ͠ϝιουΛ࣮ߦ EBUBNPEFMlϓϩύςΟ໊z ˠࢦఆͨ͠ϓϩύςΟΛඥ͚ όΠϯυ
-JWF$PNQPOFOU ϖʔδ ίϯϙʔωϯτͷಈ͖Λࢹͯ͠ɺϦΫΤετɾϨεϙϯε όΠϯυͨ͠ϓϩύςΟͷมߋɾΞΫγϣϯ࣮ߦ ϝιου࣮ߦ BKBY௨৴ Ϩεϙϯε ϨεϙϯεΛ֘෦ʹө
None
ϦΞϧλΠϜʹϑΥʔϜͷόϦσʔγϣϯ͕ՄೳʹͳΓ·͢
w ຊےϢʔεέʔεͱؔͳ͍෦Ͱ w ະಡ݅ w %#֎෦࿈ܞ͕ඞཁͳ෦ w ݕࡧϑΥʔϜ w ͓߹ͤϑΥʔϜ
w ݱࡏͷΧʔτ w ༣ศ൪߸Ͱͷॅॴݕࡧ w एׯಈ͖͕͍͋͠ͱ͖͕͋Δ w ࣮ߦ࣌ؒͪΐͬͱ͔͔Δ -JWF$PNQPOFOU ҙ γʔϯ 5XJH$PNQPOFOUʹঢ়ଶอ࣋ͱΞΫγϣϯΛՃ͠·͢
3FBDUίϯϙʔωϯτΛར༻͠·͢ 3FBDU TZNGPOZVYSFBDU
None
ίϯϙʔωϯτͷωετՄೳ
7VFίϯϙʔωϯτΛར༻͠·͢ 7VF
ҙ γʔϯ w طଘͷ3FBDUίʔυͷҠ২ w ίϯϙʔωϯτͦͷ··ར༻Մ w 3FBDUґଘͳͳ6*Λ࠾༻ w ϑϩϯτΤϯυΤϯδχΞͱۀ
w 3FBDUଆϑϩϯτΤϯυ w ͷҾ͖͠ར༻όοΫΤϯυ w Ϟμϯͳ8FCϑϩϯτΤϯυͷ ਐతͳಋೖ w 3FBDUͰ5XJHͷػೳ͑ͳ͍ w ಈతͳ5XJHଆ͔Β͢ w ͔͜͜Βઌ+4ͷੈք 3FBDU 3FBDUίϯϙʔωϯτΛར༻͠·͢
·ͱΊ
հͨ͠ίϯϙʔωϯτ·ͱΊ 5VSCP -JWF 3FBDU w উखʹ41"Խ w ϦΞϧλΠϜʹ ࠷৽ͷঢ়ଶʹมߋͰ͖Δ
w ෳՕॴͷมߋ͕༰қ w एׯ͕ͤͭ͘Α͍ w ͍׳Εͨ4ZNGPOZͷ ॻ͖ํͰ࡞Ͱ͖Δ w ϑΥʔϜͷόϦσʔγϣϯ w +4΄΅օແ w طଘͷ3FBDUͷҠ২͕ Ͱ͖Δ w ϑϩϯτΤϯυͱۀՄ w ͔͜͜Β͖͞+4
4ZNGPOZ69 w +4ΛͳΔ͘ॻ͔ͣʹϑϩϯτΤϯυΛϦονʹ͢Δ w େ·͔ʹݟͨɺϑΥʔϜɺ5XJHɺ౷߹ͷछྨ w طଘʹ৽نʹಋೖൺֱత༰қʢҰ෦ͰՄʣ w ϊϋͦ͜·Ͱཷ·ͬͯͳ͍ͷͰɺτϥΠˍΤϥʔ͕ඞཁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠