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
2.1k
なるべく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
DROBEの生成AI活用事例 with AWS
ippey
0
230
みんなでQAしてる話
ippey
0
120
AIで生成したものをAIでチェックしてる話
ippey
0
2.1k
『WordPressコミュニティで学ぶ』OSS貢献の多様性
ippey
0
970
25分で理解する!Symfonyの魅力とその実践的活用法
ippey
1
7.3k
素早いバリュー提供のための DROBEの新戦略
ippey
0
1.4k
Symfony 6.3のおすすめ新機能まとめ
ippey
1
2k
PhpStorm + GitHub Copilotはいいぞ
ippey
0
2.8k
それぞれの特徴から考えるフレームワーク選び
ippey
1
1k
Other Decks in Programming
See All in Programming
私の後悔をAWS DMSで解決した話
hiramax
4
210
スケールする組織の実現に向けた インナーソース育成術 - ISGT2025
teamlab
PRO
1
100
機能追加とリーダー業務の類似性
rinchoku
2
1.3k
速いWebフレームワークを作る
yusukebe
5
1.7k
1から理解するWeb Push
dora1998
7
1.9k
今から始めるClaude Code入門〜AIコーディングエージェントの歴史と導入〜
nokomoro3
0
190
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
2
500
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
390
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
230
The Past, Present, and Future of Enterprise Java with ASF in the Middle
ivargrimstad
0
130
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
530
rage against annotate_predecessor
junk0612
0
170
Featured
See All Featured
Become a Pro
speakerdeck
PRO
29
5.5k
YesSQL, Process and Tooling at Scale
rocio
173
14k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Designing for humans not robots
tammielis
253
25k
Typedesign – Prime Four
hannesfritz
42
2.8k
Writing Fast Ruby
sferik
628
62k
How to Ace a Technical Interview
jacobian
279
23k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
How to train your dragon (web standard)
notwaldorf
96
6.2k
KATA
mclloyd
32
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
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 ϊϋͦ͜·Ͱཷ·ͬͯͳ͍ͷͰɺτϥΠˍΤϥʔ͕ඞཁ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠