Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
ReactiveProperty を使ったアプリの設計に Realm Xamarin を組み合わせる
Search
Nobuhiro Ito
March 19, 2017
Technology
680
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ReactiveProperty を使ったアプリの設計に Realm Xamarin を組み合わせる
2017/03/19 Realm World Tour
Demo Project:
https://github.com/iseebi/RP-CleanArchitecture-Demo
Nobuhiro Ito
March 19, 2017
More Decks by Nobuhiro Ito
See All by Nobuhiro Ito
Introduction of Aizome - 多言語対応とスタイル適用を両立する書式付き文字列ライブラリ
iseebi
0
170
Bitriseで本をビルドする / Build a book with Bitrise
iseebi
0
180
BitriseでmacOSアプリをビルドする / Build macOS apps with Bitrise
iseebi
1
880
iOS/Androidアプリ転送ツール TransporterPadの紹介
iseebi
0
6.2k
Apple Developer Enterprise Program でどこまでいけるのか
iseebi
0
810
ReactiveProperty で Xamarin アプリの作り方が変わった
iseebi
3
1.8k
600件のPull RequestからみたXamarinのはまりどころ
iseebi
3
4.4k
Yet Another Cross Platform Development
iseebi
0
4.3k
XamarinでPDFを作る
iseebi
1
1.8k
Other Decks in Technology
See All in Technology
Azure Serverless 2026:Production-ready な AI エージェント基盤 / Azure Serverless 2026: Production-Ready AI Agent Platform
miyake
2
200
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
360
「守り」で活用するオンデバイスLLM 〜写ってはいけないを総力戦で防ぐ〜 / iOSDC Japan 2026
nakamuuu
0
170
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
5
1.8k
目の前の楽しいが人生を変える - コミュニティの螺旋の歩き方と楽しむコツ / change your life
soudai
PRO
5
640
Railsのように考える: See through the Master
snoozer05
PRO
4
1k
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
150
品質と信頼性を地続きにする
grimoh
1
760
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
おい、エージェントを使って終わらせろ
nwiizo
1
650
データ_AIの事業の勝敗をわけるもの
nek0128
1
450
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
760
Site-Speed That Sticks
csswizardry
13
1.5k
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
How GitHub (no longer) Works
holman
316
150k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
GitHub's CSS Performance
jonrohan
1033
470k
Imperfection Machines: The Place of Print at Facebook
scottboms
270
14k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
430
Evolving SEO for Evolving Search Engines
ryanjones
0
300
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
500
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Transcript
3FBDUJWF1SPQFSUZΛͬͨΞϓϦͷઃܭʹ 3FBMN9BNBSJOΛΈ߹ΘͤͯΈͨ /PCVIJSP*UP
ࣗݾհ w ҏ౻৳༟ w ϑΣϯϦϧגࣜձࣾΞϓϦέʔγϣϯڞಉ։ൃ෦νʔϑΤϯδχΞ w ݉ɹ৽نࣄۀ෦#PMU[&OHJOFϓϩμΫτΦʔφʔ w ओʹεϚʔτϑΥϯΞϓϦͷઃܭɾ։ൃΛ୲ɻ࠷ۙϚωʔδϝϯτɻ w
J04 4XJGU 0CKFDUJWF$ "OESPJE +BWB 9BNBSJO $
None
9BNBSJO w $ͰJ04"OESPJE.BDͷ։ൃ͕Ͱ͖ΔπʔϧΩοτ w ࡢ.JDSPTPGU͕ങऩͯ͠ɺݸਓ͚ʹແঈԽ w ๏ਓ͚ؒສਓˠສԁͪΐ͍ʹ 9BNBSJO.BD7JTVBM4UVEJPɺ8JOEPXT͍ͭͯ͘Δ w
ຊͷϢʔβʔάϧʔϓͱͯ͠ +BQBO9BNBSJO6TFS(SPVQ +96( ͕͋Δ
9BNBSJOΛͬͨ։ൃख๏ 9BNBSJO'PSNT 9BNBSJO/BUJWF
%FNP
σϞͷཁࢫ w ҰཡදࣔɾՃɾৄࡉද͔ࣔΒͳΔ؆୯ͳΞϓϦ w σʔλϕʔεͪΖΜ3FBMNΛ༻ɻ w 3FBMN0CKFDU4FSWFSͰಉظɻ w ݩωλ$POOFDU ͱ͍͏ΦϯϥΠϯΠϕϯτͰͷɺ
.JHVFMEF*DB[BͷσϞ ͜ͷͱ͖"[VSF"QQ4FSWJDF͕όοΫΤϯυͩͬͨ
͋ΔΞϓϦͷڞ௨ԽʴߏԽͷྺ࢙ ୈ̍ੈ ωΠςΟϒʴ4JOHMFUPOͳ.BOBHFS͕͍͔ͭ͘ɻ ظؒूதܕͷνʔϜ։ൃʹ͔ͳ͔ͬͨɻ ୈ̎ੈ 9BNBSJO .WWN$SPTTʹΑΔڞ௨Խ 7JFXͷͰ͖͕ͨڞ௨෦ʹΰουΫϥεग़ݱ ୈ̏ੈ $MFBO"SDIJUFDUVSFΛج࣠ʹڞ௨෦ڧԽ
ͷׂΛ໌֬ʹͯ͠ݟ௨͠ޮ͖ͨ͘͢͠
$MFBO"SDIJUFDUVSF w υϝΠϯۦಈ։ൃ %%% ͳͲΛҙࣝͯ͠ɺ ϏδωεϩδοΫΛʹׂ͚ͯͱΛׂ͢Δख๏ w ʮ.77.ͰϞσϧͱϏϡʔͷΛʙʯͱ͍͏ଟ͔͕ͬͨɺ ʮ͡Ό͋ͦͷϞσϧͲͳ͍͢ΜͶΜʯͱ͍͏෦ʹର͢ΔղͷҰͭ ͱೝ͍ࣝͯ͠Δ
w .77.͚ͩͰ$PSF͕ਏ͘ͳΔΛղফͰ͖ͳ͍
7JFX 1SFTFOUFS 6TF$BTF 5SBOTMBUPS .PEFM %BUB4UPSF &OUJUZ 3FQPTJUPSZ IUUQRJJUBDPNLPVUBMPVJUFNTBGDGBEFDED
7JFX 1SFTFOUFS 6TF$BTF 5SBOTMBUPS .PEFM %BUB4UPSF &OUJUZ 3FQPTJUPSZ IUUQRJJUBDPNLPVUBMPVJUFNTBGDGBEFDED ը໘දࣔɾΠϕϯτͷ1SFTFOUFSͷ௨
7JFXͱ6TF$BTFͷؒͰͷσʔλΓͱΓ ඞཁͳϩδοΫΛॻ͘ͱ͜ΖɻσʔλͷऔಘͳͲɻ 3FQPTJUPSZ͔Βग़͖ͯͨ&OUJUZΛ.PEFMʹม͢Δ 7JFXͰ༻͢ΔͨΊʹ࠷దԽͨ͠σʔλϞσϧ υϝΠϯͱσʔλͷ*' 6TF$BTFͰ༻͢Δσʔλͷ$36%ॲཧΛ୲ σʔλΛ࣮ࡍʹऔಘߋ৽͢Δ σʔλͰ༻͢ΔσʔλϞσϧ
͏Ε͘͠ͳ͍ w Ϋϥεଟ͗͢ .PEFMͱ&OUJUZΘ͟Θ͟ม͢Δඞཁ͋Δʁ w ࣅͨΑ͏ͳͷ͏গͬͯ͠Δ໊લʹͰ͖ͳ͍͔ʁ 1SFTFOUFSͬͯ.77.Ͱ͍͏ͱ͜Ζͷ7JFX.PEFMΑͶʁ w
ը໘ʹ͔͔ΘΒͣมԽ͢ΔͷัଊΛͲ͏͢Δʁ 8FC4PDLFUϙʔϦϯάͰڥ֎͔ΒมԽ͢Δଟ
ॏཁͳͷ੍ޚͷํΛҰఆʹ͢Δ͜ͱ ΫϥεΛׂ͠·͘Δͷຊ࣭͡Όͳ͍ͣ
7JFX 1SFTFOUFS 6TF$BTF 5SBOTMBUPS .PEFM %BUB4UPSF &OUJUZ 3FQPTJUPSZ ࠓճΘ͟Θ͟ม͢Δ ඞཁͳͦ͞͏
7JFX 1SFTFOUFS 6TF$BTF %BUB4UPSF &OUJUZ 3FQPTJUPSZ 4FSWJDF όοΫάϥϯυ͔ΒΛม͑Δॲཧ )551ϙʔϦϯάɺ8FC4PDLFUͰͷมԽ
%BUB4UPSFΛૢ࡞͢Δ͜ͱʹͨ͠ ˞"OESPJEଆͰ*OUFOU4FSWJDFͱ͔ͱ͔ͿΔ͔Β8PSLFSʹ͖ͩͬͨ͢
7JFX 7JFX.PEFM 4DFOF %BUB4UPSF .PEFM 3FQPTJUPSZ 4FSWJDF ͜Ε·Ͱݟ֮͑ͷ͋Δ໊લʹม͑ͨ ɾ1SFTFOUFS͜Ε·Ͱͷ7JFX.PEFM૬ͷಈ͖ ɾ&OUJUZ͜Ε·Ͱͷ.PEFM૬ͷಈ͖
ɹ 7JFXҎ্͜ΕΛͦͷ··ར༻͢Δ ɾ6TF$BTF͍͍ͬͯϫʔυ͔ͪΐͬͱࣗ৴ͳ͔ͬͨ ɹͷͰɺ৽͘͠4DFOF໊ͬͯલΛ͚ͭͨ
7JFX 7JFX.PEFM 4DFOF %BUB4UPSF .PEFM 3FQPTJUPSZ 4FSWJDF ͜ͷ෦͕1$- ڞ௨ίʔυ
ͷؒͷଓ w ͯ͢3FBDUJWF1SPQFSUZͰܨ͍Ͱ͍Δɻ w IUUQTHJUIVCDPNSVODFFM3FBDUJWF1SPQFSUZ w !PLB[VLJ͞Μ࡞ɻ ϓϩύςΟΛ3FBDUJWF&YUFOTJPOͱଊ͑ͯૢ࡞Ͱ͖ΔΑ͏ʹͳΔɻ w ຊདྷ7JFX.PEFM7JFXؒͰ͏͖ͱҰ෦ͰݴΘΕ͍ͯΔ͕ɺ
ϓϩύςΟͱ͍͏ϝλϑΝ͕Θ͔Γ͍͢ͷͰͯ͢ͷͰར༻ɻ
3FBDUJWF1SPQFSUZͷΑ͍ͱ͜Ζ w 31ʹΛηοτ͢Δͱ3YετϦʔϜʹ͕ྲྀΕΔ Θ͔Γ͍͢ w *0CTFSWBCMF5ΛͳΜͰ3FBDUJWF1SPQFSUZʹͰ͖Δ 5P3FBDUJWF1SPQFSUZ ศར
w 3FBDUJWF1SPQFSUZ4FMFDU YBOZ 5P3FBDUJWF1SPQFSUZ ͱ͍͏ͷՄೳ w ͦͷ··7JFXΦϒδΣΫτʹόΠϯσΟϯάͰ͖Δ 4FU#JOEJOH w J04ͷࠓͷόʔδϣϯյΕ͍ͯΔ मਖ਼13ϚʔδࡁΈ
7JFX 7JFX.PEFM 4DFOF %BUB4UPSF .PEFM 3FQPTJUPSZ 4FSWJDF %BUB4UPSFΛ࠷Լͱͯ͠ Լͷ3FBDUJWF1SPQFSUZΛ ্͔Β4VCTDSJCF͢Δ
ԼͷΛ্ʹఏڙ͢Δͷ5P3FBDUJWF1SPQFSUZ͢Δ ͜ͷਤͰ 4FSWJDF͚ͩٯͳͷͰҙ
֤ͷߟ͑ํ%BUB4UPSF w σʔλϕʔεΛ৮ͬͯྑ͍ϨΠϠʔ w ࣮ࡍͷΞϓϦͰҎԼͷΑ͏ͳͷΛ༻ҙͨ͠ ࠓճͷσϞʹؚ·ͣ w &QIFNFSBM%BUB4UPSFىಈ࣌ʹ"1*͔Βऔಘ͢ΔҰ࣌తσʔλΛอ࣋ w
"QJ%BUB4UPSF"1*ͱ௨৴ͯ͠σʔλΛऔΔ w 4UPSFE%BUB4UPSFϑΝΠϧͰμϯϩʔυͨ͠ϦετσʔλΛอ࣋
֤ͷߟ͑ํ4FSWJDF w %BUB4UPSFͷΛѻͬͯߋ৽͢Δɻ ࠓճͷσϞʹؚ·ͣ w λΠϚʔͰҰఆ͓͖࣌ؒʹ"QJ%BUB4UPSF͔ΒΛऔ͖ͬͯͯɺ &QIFNFSBM%BUB4UPSFʹॻ͖ࠐΉͳͲɻ
֤ͷߟ͑ํ3FQPTJUPSZ w %BUB4UPSFͷ֤छૢ࡞Λߦ͍ɺ্ͷʹΛఏڙ͢Δɻ w 3FBDUJWF1SPQFSUZϝιουΛ্ͷʹެ։ w ݁Ռతʹػೳ͝ͱʹ༻ҙ͞ΕΔ͜ͱͱͳͬͨɻ
"OESPJEͷϦδϡʔϜରԠ w &QIFNFSBM%BUB4UPSFΛ0O4BWF*OTUBODF4UBUFͰ·Δͬͱอଘ ϦετΞ࣌ʹ·Δͬͱ෮ݩ w 3FBDUJWF1SPQFSUZͰͭͳ͕͍ͬͯΔ͔Β্ʹྲྀΕͯͯ͢ݩʹΔ w 4UPSFE%BUB4UPSFεςʔτ͕ফ͑ͯ࠶ಡࠐͰ෮ݩ͞ΕΔ w ͜ͷϦδϡʔϜॲཧͷͨΊʹ"QQ4UBUF4FSWJDFͱ͍͏ͷΛ༻ҙͨ͠ɻ
֤ͷߟ͑ํ4DFOF w ಉ͡ػೳͷෳͷը໘Ͱڞ༗͞ΕΔػೳΛఏڙ͢Δɻ ݱஈ֊ͰΛҰ࣌తʹอ࣋ͨ͠Γ͍ͯ͠Δ͕ɺ&QIFNFSBM%BUB4UPSFୡ͞ΕΔ͖ 4DFOF
͜͜·Ͱͷ·ͱΊ w 3FBDUJWF1SPQFSUZΛ͍ɺ$MFBO"SDIJUFDUVSFΛҙࣝͯ͠ઃܭͨ͠Βɺ ͦͦ͜͜͏·͍ͬͨ͘ײ͕͢͡Δ w ·ͩ͜Ε͕࠷దղͱࢥ͍ͬͯ·ͤΜͷͰɺ ࠓޙϒϥογϡΞοϓ͍ͯ͜͠͏ͱࢥ͍·͢ɻ
9BNBSJOϢʔβʔ͔ΒΈͨ 3FBMN
ϥΠϒϥϦͷܗଶ w ωΠςΟϒόΠϯσΟϯάϥΠϒϥϦΛϥοϓ͍ͯ͠Δ༷ࢠ w #BJUBOE4XJUDIͰϥοϓ͞Ε͍ͯΔͷͰɺ ωΠςΟϒίʔυΛ͑ͳ͍1$-͔Βͦͷ··͑Δɻ w 'PEZͱ͍͏/&5ͷதؒݴޠ .4*- Λมߋ͢Δπʔϧ͕ΘΕ͍ͯΔɻ
w Ϗϧυ࣌ɺ5PPMT3FBMN8FBWFS'PEZEMMͱϑΝΠϧ͕ ιϦϡʔγϣϯσΟϨΫτϦʹੜ͞ΕΔ͕HJUJHOPSFͯ͠Α͍ɻ
None
͍ํ w 3FBMN(FU*OTUBODF ͰΠϯελϯεΛऔΔɻ w SFBMN"MM*UFN8IFSF ʜ ͱ͍ͬͨɺ $Ϣʔβʔʹ͓ͳ͡Έͷ-*/2ͰߜΓࠐΈՄೳ w
ඌʹ4FMFDUॻ͖ͨ͘ͳΔͷ͕͓ଋͰ͕͢ɺ ͦͷ··ͩͱ/PU*NQMFNFOUFE&YDFQUJPO͕ฦͬͯ͘ΔͷͰ Ұ5P-JTUͰྻڍ͢Δඞཁ͋Γɻ ύϑΥʔϚϯεɾ݅ҙ
มߋࢹ Ϧετ w "T3FBMN$PMMFDUJPO͢Δͱ*3FBMN$PMMFDUJPO5͕औಘͰ͖ɺ */PUJGZ$PMMFDUJPO$IBOHFE5ͷΠϕϯτͰࢹͰ͖Δɻ w 3FBDUJWF1SPQFSUZͱͷ૬ޓӡ༻తʹ*3FBMN$PMMFDUJPO5ʹ 5P3FBDUJWF$PMMFDUJPO͕΄͍͠ͱ͜Ζ Ζ͏ͱͯ͠அ೦ ˞͜Ε͍ͩͿࡶͳͷͰ͏ͪΐͬͱߟ͑ͨํ͕͍͍
มߋࢹ ༰ w 3FBMN0CKFDU*/PUJGZ1SPQFSUZ$IBOHFEΛఏڙ͍ͯ͠ΔͷͰɺ ͜ΕͰࢹ͢Δɻ w ͕ɺ3FBDUJWF1SPQFSUZΛͬͨࠓ͔ͳΓͭΒ͍ʜϥούʔ͕ඞཁ͔ɻ
ॻ͖ࠐΈ w σʔλͷॻ͖ࠐΈछྨ͋Δ w ϕʔγοΫͳͷ#FHJO8SJUFͰVTJOHϒϩοΫΛ͏ w USBOTBDUJPO$PNNJU͞ΕΕอଘɻ $PNNJU͞Εͣʹൈ͚Δͱ3PMMCBDL USBOTBDUJPO%JTQPTF
w VTJOH͏·͔ͭͬͯͯ͘DPPM
ॻ͖ࠐΈ w ίϛοτલఏͰ͋Ε8SJUF "DUJPO3FBMN ͕ศརɻ όοΫάϥϯυͰ࣮ߦ͢Δ8SJUF"TZODΛBXBJU͢Δ͜ͱՄɻ w தͰྫ֎͕ى͖ͳ͚Εอଘ͞ΕΔ
3FBMN.PCJMF1MBUGPSN w 3FBMN(FU*OTUBODF ͷҾʹ$POpHVSBUJPO͚ͩ͢ͰରԠྃ w ͳʹ͜Εઈ؆୯͗͢Δʂʂʂײಈͨ͠ʂʂʂ w -PHJO"TZOD͕ฦͬͯ͘Δͷʹ͔͔࣌ؒΔΑ͏Ͱɺ ͑Δ·Ͱʹ͔͔࣌ؒΔͷ͕ʁγϦΞϥΠζͯ͠ΩϟογϡͰ͖Δʁ ௐࠪෆ
3FBMN.PCJMF1MBUGPSN w 0CKFDU4FSWFS্ʹ֤ϢʔβʔͷSFBMNϑΝΠϧ͕͓͔Εͯɺ ඞཁʹԠͯ͡ڞ༗ઃఆ͕Մೳɺͱ͍͏ܗͰߟ͑Εྑ͍ͱཧղ͠·ͨ͠ɻ ͱͯΘ͔Γ͍͢ʂ
3FBMN.PCJMF1MBUGPSN w ࣗࣾอ༗ͷαʔόʔʹઃஔ͢ΔϞσϧͳͷͰɺ σʔλΛ֎ʹग़ͤͳ͍େاۀͳͲͰΑͦ͞͏ʜ w ͋Εɺ͜Ε͏ͪͷͰಉ͡ࣄ͍ͬͯͨͳʜ
3FBMN9BNBSJOશମతͳײ w -*/2 BTZODBXBJU */PUJGZ$PMMFDUJPO$IBOHFE5 */PUJGZ1SPQFSUZ$IBOHFE5ͱ͍ͬͨɺ $Ϣʔβʔ͕ීஈ͔Β͍ͬͯΔͷΛͪΌΜͱ͑Δ w ֤छϥΠϒϥϦͱͷΈ߹Θ͖ͤͬ͢͞ͱྑͦ͞͏ɻ
3FBDUJWF1SPQFSUZͱ࿈ಈ͢ΔͨΊͷϥούʔͳͲ࡞ΒΕΔͱྑ͍ͳɻ w $PDPB+BWBʹൺͯߋ৽Ίͳͷ͕͔ɻ .BD 8JOEPXT·ͩ
9BNBSJO $ͷศརͰָ͍͠ϥΠϒϥϦ ͍ͬͺ͍͋ΔͷͰ ·ͩͷਓҰ৮ͬͯΈ·͠ΐ͏ʂ