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
3.8k
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
0
410
GraphicsLayerのBitmap作成
numeroanddev
0
160
Android アプリのプロジェクトをモダンにし続ける工夫
numeroanddev
1
670
Material 3で Material 2ぽい見た目にする
numeroanddev
2
580
Google I/O 2023 の 個人的おすすめセッションの紹介 / Introducing interesting sessions at Google IO 2023
numeroanddev
1
410
Jetpack ComposeのTalkback対応/Improve Talkback in Jetpack Compose
numeroanddev
0
510
Baseline Profilesでアプリのパフォーマンスを向上させる / Improve app performance with Baseline Profiles
numeroanddev
0
900
Jetpack Composeでアプリを開発して遭遇した問題
numeroanddev
0
700
Material3(Material You) の変更点 / Changes in Material3(Material You)
numeroanddev
4
1.5k
Other Decks in Programming
See All in Programming
Prism.parseで 300本以上あるエンドポイントに 接続できる権限の一覧表を作ってみた
hatsu38
1
110
CSC307 Lecture 17
javiergs
PRO
0
110
GoのGenericsによるslice操作との付き合い方
syumai
2
450
Spring gRPC で始める gRPC 入門 / Introduction to gRPC with Spring gRPC
mackey0225
2
480
PT AI без купюр
v0lka
0
230
RubyKaigiで得られる10の価値 〜Ruby話を聞くことだけが RubyKaigiじゃない〜
tomohiko9090
0
140
AWS CDKの推しポイント 〜CloudFormationと比較してみた〜
akihisaikeda
3
200
2度もゼロから書き直して、やっとブラウザでぬるぬる動くAIに辿り着いた話
tomoino
0
150
Benchmark
sysong
0
130
赤裸々に公開。 TSKaigiのオフシーズン
takezoux2
0
130
TypeScript LSP の今までとこれから
quramy
1
490
インターフェース設計のコツとツボ
togishima
2
700
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The Language of Interfaces
destraynor
158
25k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
43
2.4k
Optimizing for Happiness
mojombo
379
70k
It's Worth the Effort
3n
184
28k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Build The Right Thing And Hit Your Dates
maggiecrowley
36
2.7k
Music & Morning Musume
bryan
46
6.6k
Side Projects
sachag
454
42k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
137
34k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
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