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
GraphQLとGigaViewer for Apps
Search
Nabe
September 19, 2024
Programming
4
870
GraphQLとGigaViewer for Apps
はてなのモバイル開発大紹介!
https://hatena.connpass.com/event/329455/
Nabe
September 19, 2024
Tweet
Share
More Decks by Nabe
See All by Nabe
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
550
Material 3で Material 2ぽい見た目にする
numeroanddev
2
430
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
350
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
390
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
820
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
630
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.4k
Refreshing widgets in Android 12
numeroanddev
2
580
既存のAndroidプロジェクトを Jetpack Composeに移行してみる / Migrate existing Android project to Jetpack Compose
numeroanddev
1
820
Other Decks in Programming
See All in Programming
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
5
190
CSC509 Lecture 02
javiergs
PRO
0
140
[PHPカンファレンス沖縄2024]「無理なくできるだけ安全に」テストもないレガシーコードをリファクタリングするテクニック
ikezoemakoto
3
110
Go製CLIツールGatling Commanderによる負荷試験実施の自動化
okmtz
3
630
Patched fetch did not work
quramy
6
480
App Router 悲喜交々
quramy
7
370
Quarto Clean Theme
nicetak
0
220
Интеграционное тестирование: как приручить хаос
mariyasaygina
0
460
Compose Multiplatform과 Ktor로 플랫폼의 경계를 넘어보자
kwakeuijin
0
200
C#および.NETに対する誤解をひも解く
ymd65536
0
180
Pythonで改めて考える「クラス(class)」の使いどころ
os1ma
13
3.4k
tsconfig.jsonの最近の新機能 ファイルパス編
uhyo
6
1.1k
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
230
17k
Done Done
chrislema
180
16k
How to train your dragon (web standard)
notwaldorf
87
5.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
How to name files
jennybc
76
98k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
663
120k
How STYLIGHT went responsive
nonsquared
93
5.1k
GitHub's CSS Performance
jonrohan
1030
450k
Navigating Team Friction
lara
183
14k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
30
2.6k
Bash Introduction
62gerente
608
210k
The Illustrated Children's Guide to Kubernetes
chrisshort
47
48k
Transcript
ͯͳͷϞόΠϧ։ൃେհʂ ,B[VLJ8BUBOBCF (SBQI2-ͱ(JHB7JFXFSGPS"QQT
1SPGJMF w ͳ w 5XJUUFS!/BCF$PUU w (JU)VC/6NFSP"OE%FW w גࣜձࣾͯͳ w
"OESPJEBQQMJDBUJPOFOHJOFFS w +FUQBDL$PNQPTF w .BUFSJBM%FTJHO
͜͜Ͱग़ͯ͘ΔίʔυงғؾΛ͑ΔͷͰ͋Γ࣮ࡍͷίʔυͱҟͳΓ·͢
(JHB7JFXFSGPS"QQTͰ (SBQI2-Λ͍ͬͯ·͢
(SBQI2-ͱ
(SBQI2-ͱ w "1*༻ͷΫΤϦݴޠ w ΫϥΠΞϯτଆ͕ඞཁͳͷ͚ͩΛऔಘͰ͖Δ w ͑Δσʔλ͕هड़͞ΕͨεΩʔϚͱɺΫϥΠΞϯτଆ͔Βͷૢ࡞ͱͯ͠ 2VFSZͱ.VUBUJPOͱ4VCTDSJQUJPOͷΫΤϦ͔ΒͳΔ εΩʔϚ ΫΤϦ
ͳͥ(SBQI2-Λ͍ͬͯΔͷ͔
ͳͥ(SBQI2-Λ͍ͬͯΔͷ͔ w (JHB7JFXFSશମͰݟͨ࣌ʹ3&45ͱൺͯϝϦοτ͕େ͖͍ w ΤϯυϙΠϯτ͕૿͑ͯཧ͕͍͠ͱ͍ͬͨ͜ͱ͕ͳ͍ w ΞϓϦ߹Ͱऔͬͯ͘Δใͷ૿ݮ͕Մೳ w ͋ΔϝσΟΞͰ࡞ͬͨεΩʔϚͷ fi
FMEΛผͷϝσΟΞʹ͍·ΘͤΔ w αʔόɾΞϓϦؒͰεΩʔϚΛத৺ʹ͕ٞͰ͖ΔͷͰೝࣝᴥᴪΛݮΒͤΔ w ΞϓϦଆ͔ΒݟͯϝϦοτ͕͋Δ w ΫϥΠΞϯτଆͷϥΠϒϥϦͰ͋Δ"QPMMPʹΑΔܕͷࣗಈੜ w "QPMMPʹڧྗͳΩϟογϡͷػߏ͕උΘ͓ͬͯΓɺΩϟογϡػߏΛར༻ͨ͠ঢ়ଶཧ͕ ͍͢͠
(JHB7JFXFSGPS"QQT ͷϓϩδΣΫτߏ
(JHB7JFXFSGPS"QQTͷϓϩδΣΫτߏ
(JHB7JFXFSGPS"QQTͷϓϩδΣΫτߏ w εΩʔϚ྆ϓϥοτϑΥʔϜڞ ௨ w (JU)VC"DUJPOTͰࣗಈߋ৽
(JHB7JFXFSGPS"QQTͷϓϩδΣΫτߏ w ΫΤϦ֤ϓϥοτϑΥʔϜ͝ͱ w (JHB7JFXFSGPS"QQT։ൃॳ ظΫΤϦϓϥοτϑΥʔϜ Ͱڞ௨ʹ͍͕ͯͨ͠ɺΫΤϦ ͷมߋͰ྆ϓϥοτϑΥʔϜͷ ίʔυͷมߋ͕ൃੜ͢Δ͜ͱ ʹରͯ͠։ൃ͕ग़ͳ͘ͳ
ͬͨͷͰ
(JHB7JFXFSGPS"QQTͷϓϩδΣΫτߏ w "OESPJEGFBUVSFϞδϡʔϧʹ ͦͷػೳͰඞཁͳRVFSZΛஔ͍ͯ ͓Γɺڞ௨Ͱ༻͢ΔGSBHNFOU "QPMMPΛ֦ுͨ͠ίʔυʹͭ ͍ͯHSBQIRMϞδϡʔϧʹஔ
(JHB7JFXFSGPS"QQT "OESPJEͷΞʔΩςΫνϟ
"OESPJEͷΞʔΩςΫνϟ w (JHB7JFXFSGPS"QQTͷ"OESPJEͰ(SBQI2-ΫϥΠΞϯτʹ"QPMMP,PUMJO Λ༻ w J04"QPMMPJ04Λ༻ w "OESPJEʹ͓͍ͯ(SBQI2-ͷΫϥΠΞϯτʹ"QPMMP,PUMJOҎ֎ͷબࢶ͕ ΄΅ͳ͍
"OESPJEͷΞʔΩςΫνϟ "QPMMP,PUMJOͷհ w ,PUMJOͷ(SBQI2-ΫϥΠΞϯτ w DPSPVUJOFTɺ,PUMJO.VMUJQMBUGPSNରԠ w "OESPJE4UVEJP*OUFMMJ+1MVHJO w (SBQI2-ϑΝΠϧฤूޙͷࣗಈίʔυੜ
w ίʔυδϟϯϓɺ༻͍ͯ͠ͳ͍ fi FMEͷϋΠϥΠτ w FUD IUUQTHJUIVCDPNBQPMMPHSBQIRMBQPMMPLPUMJO
"OESPJEͷΞʔΩςΫνϟ w (JHB7JFXFSGPS"QQTͷ"OESPJEͰ"QPMMP,PUMJO "OESPJEެࣜͷΞʔΩ ςΫνϟΨΠυ IUUQTEFWFMPQFSBOESPJEDPNUPQJDBSDIJUFDUVSF
w 6*-BZFSͷ7JFX.PEFMPS %PNBJO-BZFSͷ6TF$BTF͕ "QPMMP,PUMJOΛѻ͏ܗʹ͍ͯ͠Δ w "QPMMP,PUMJOͷੜͨ͠Ϋϥε Λͦͷ··͍͍ͨͷͰɺܕͷ ٧Ίସ͑Ӆṭ͕ඞཁͳ͍ w Ωϟογϡͷػߏ͕"QPMMP
,PUMJOʹ͋ΔͨΊɺΩϟογϡ ͷϩδοΫ࣮͕ෆཁ "OESPJEͷΞʔΩςΫνϟ
(SBQI2-ͷ׆༻
(SBQI2-ͷ׆༻ Ωϟογϡ w "QPMMPͰਖ਼نԽ͞ΕͨσʔλΛϝϞϦPSσʔλϕʔεʹอ࣋͢Δ͜ͱ͕Ͱ ͖Δ /PSNBMJ[FEDBDIF w ͜ͷΩϟογϡܦ༝ͰͷͷมߋΛߪಡ͢Δ͜ͱͰ͖Δ w
(JHB7JFXFSGPS"QQTͰ"QPMMPͷΩϟογϡΛ׆༻͍ͯ͠Δ
(SBQI2-ͷ׆༻ Ωϟογϡ w ࡞ৄࡉͷ͓ؾʹೖΓՃΛྫʹ w Α͋͘Δ͍͍ͶϘλϯ
(SBQI2-ͷ׆༻ Ωϟογϡ ͓ؾʹೖΓͷϑϥάΛ࣋ͭRVFSZ
(SBQI2-ͷ׆༻ Ωϟογϡ ͦͷRVFSZΛ7JFX.PEFMͰߪಡ
(SBQI2-ͷ׆༻ Ωϟογϡ ͓ؾʹೖΓʹՃ͍ͯ͠ͳ͚ΕNZMJTUFEGBMTFΛ࣋ͬͨσʔλ͕ྲྀΕͯ͘Δ
(SBQI2-ͷ׆༻ Ωϟογϡ ͓ؾʹೖΓͷঢ়ଶߋ৽ͷNVUBUJPO
(SBQI2-ͷ׆༻ Ωϟογϡ NVUBUJPOΛݺͿॲཧΛ࣮͓ͯ͘͠
(SBQI2-ͷ׆༻ Ωϟογϡ NVUBUJPOͷ݁Ռ͕ฦͬͯ͘Δͱߪಡ͍ͯͨ͠෦Ͱߋ৽͞Εͨσʔλ͕ྲྀΕͯ͘Δ
(SBQI2-ͷ׆༻ Ωϟογϡ NVUBUJPOͷ݁ՌΛݩʹΩϟογϡσʔλΛߋ৽ͯ͘͠ΕΔ
w ͓ؾʹೖΓՃͰͷ0QUJNJTUJDVQEBUFT ָ؍తߋ৽ ͷ༻ w ௨ৗNVUBUJPOͷ݁Ռ͕αʔό͔Βฦͬͯ͘Δ·Ͱʹ͕͔͔࣌ؒΔͨΊɺ ૢ࡞ޙ͔Β݁Ռ͕ը໘ʹө͞ΕΔ·Ͱʹϥά͕ੜ͡Δ w 0QUJNJTUJDVQEBUFTఆ͞ΕΔ݁ՌΛ͋Β͔͡Ίөͤ͞Δ͜ͱͰɺϥ άͷൃੜͳ͘ը໘ʹ݁ՌΛөͰ͖Δ
w Τϥʔ࣌ʹঢ়ଶ͕Δ (SBQI2-ͷ׆༻ Ωϟογϡ
(SBQI2-ͷ׆༻ Ωϟογϡ ͓ؾʹೖΓՃࡁΈͷঢ়ଶΛઌʹөͤ͞Δ
(SBQI2-ͷ׆༻ ϖʔδϯά w (SBQI2-ͰͷϖʔδϯάɺΫΤϦ͝ͱʹબͨ͠ൣғͷϨεϙϯε͕ฦͬ ͯ͘ΔͷͰɺ͏ଆ͔ΒͦΕ·ͰͷσʔλΛอ࣋Ϛʔδ͢Δඞཁ͕͋Δ w ࠷ॳͷΫΤϦͰdɺ࣍ͷΫΤϦͰd w "QPMMP,PUMJOͷߪಡҾؚΉΫΤϦʹର͢ΔߪಡͳͷͰɺ୯ʹσʔλΛอ ࣋Ϛʔδ͍ͯ͠Δ͚ͩͩͱϖʔδϯάͰΫΤϦͷҾ͕มΘͬͯ͠·͏ͨ
ΊʹΩϟογϡͷมߋΛߪಡ͢Δ͜ͱ͕Ͱ͖ͳ͍ w (JHB7JFXFSGPS"QQTͰΩϟογϡมߋʹରԠͰ͖ΔΑ͏ͳ࣮Λ༻ҙ ͍ͯ͠Δ
(SBQI2-ͷ׆༻ ϖʔδϯά
w ࠷ॳͷΫΤϦʹରͯ͠ϖʔδϯ άͨ͠σʔλΛ·ͱΊͨͷΛ ඥ͚ͯΩϟογϡʹೖΕΔ͜ ͱͰɺ࠷ॳͷΫΤϦΛߪಡ͢Δ ͚ͩͰϖʔδϯάͨ͠શͯͷσ ʔλʹର͢ΔมߋΛड͚औΕΔ Α͏ʹ͍ͯ͠Δ (SBQI2-ͷ׆༻ ϖʔδϯά
w "QPMMP4UPSFSFBE0QFSBUJPOͰ ࠷ॳͷΫΤϦʹରͯ͠ͷΩϟο γϡΛऔಘ (SBQI2-ͷ׆༻ ϖʔδϯά
w ॳճͳΒ࠷ॳͷϖʔδɺͦ͏Ͱ ͳ͍ͳΒ࣍ϖʔδͷσʔλΛऔ ಘ (SBQI2-ͷ׆༻ ϖʔδϯά
w Ωϟογϡͱऔಘͨ͠σʔλΛ Ϛʔδ w Ϛʔδ͢Δσʔλͷ༰Ϋ ΤϦ͝ͱͰҧ͏ͷͰɺ͏ଆ Ͱ੍ޚ͢ΔΑ͏ʹ͍ͯ͠Δ (SBQI2-ͷ׆༻ ϖʔδϯά
w Ϛʔδͨ͠σʔλΛ࠷ॳͷΫΤ ϦͷΩϟογϡͱͯ͠ "QPMMP4UPSFXSJUF0QFSBUJPOͰ อଘ (SBQI2-ͷ׆༻ ϖʔδϯά
(SBQI2-ͷ׆༻ ෛՙରࡦ w গδϟϯϓ ͷΞΫηεΛࡹ͘ͷαʔόଆ͚ͩͷෛՙରࡦͰ͍͔ͭ ͳ͍ͷͰɺΞϓϦଆͰ(SBQI2-Λ׆༻ͨ͠ෛՙରࡦΛ͍ͯ͠Δ w લఏͱͯ͠ɺαʔόଆͰΫΤϦ୯ҐͰΩϟογϡ͢ΔΈ͕͋Γɺ࡞ͷ λΠτϧ࡞ऀ໊ͱ͍ͬͨมΘΔ͜ͱ͕ͳ͍ fi
FME͚ͩͰߏ͞ΕͨΫΤϦ αʔόଆͰΩϟογϡ͞ΕΔ͕ɺ࡞ͷߪೖঢ়ଶݱࡏ͍࣋ͬͯΔίΠϯ ͷϢʔβʹؔ͢Δ fi FMEΛؚΉͱͦͷΫΤϦαʔόଆͰΩϟογϡ͞Εͳ͍ w ΞϓϦଆͰΫΤϦΛαʔόଆͰΩϟογϡͰ͖ΔͷͱͰ͖ͳ͍ͷΛׂ ͍ͯ͠Δ
(SBQI2-ͷ׆༻ ෛՙରࡦ ΩϟογϡՄ ΩϟογϡෆՄ
ͬͱ(SBQI2-Λ׆༻͍ͨ͠
ͬͱ(SBQI2-Λ׆༻͍ͨ͠ w (SBQI2-Ͱ͏͜ͱ͕Ͱ͖͍ͯͳ͍ػೳ͋Δ w 1FSTJTUFE2VFSZͷ༻ w ఆ֎ͷΫΤϦΛ͍ͩΓ(&5ϦΫΤετʹΑΔ$%/ͷΩϟογϡར༻ w ΫϥΠΞϯτଆ͕NVUBUJPOΛ1045ʹ͢Δڍಈʹରͯ͠αʔόଆͰͷରԠ͕Ͱ ͖͍ͯͳ͍
w %JSFDUJWFͷ׆༻ w (JHB7JFXFSͱͯ͠!IBT'FBUVSFͱ͍͏ΧελϜ%JSFDUJWF͕༻ҙ͞Ε͓ͯ Γɺ8FCଆͰϝσΟΞʹΑͬͯ͑ΔػೳΛεΩʔϚʹදݱ͞Ε͍ͯΔ w ͔͠͠"QPMMPJ04,PUMJOʹΧελϜ%JSFDUJWF͕αϙʔτ͞Ε͍ͯͳ͍
·ͱΊ
·ͱΊ w Ϛϧνςφϯτͳ(JHB7JFXFSͰ(SBQI2-Λͬͯԣల։ͷ͢͠͞։ൃ ମݧ͕ྑ͘ͳͬͨ w "QPMMPͷΩϟογϡػߏศར w "QPMMPΛ׆༻ͯ͠՝Λղܾ͍ͯ͠Δ w ·ͩ·ͩ׆༻Ͱ͖͍ͯͳ͍ػೳ͋ΔͷͰͬͱ׆༻͍͖͍ͯͨ͠
5IBOLZPV