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
180
Bitriseで本をビルドする / Build a book with Bitrise
iseebi
0
180
BitriseでmacOSアプリをビルドする / Build macOS apps with Bitrise
iseebi
1
890
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
生成AIで高い生産性を求められて、 悩み、乗り越えた話
mot_techtalk
2
160
Deep Data Security 機能解説
oracle4engineer
PRO
2
770
Running Kotlin + Quarkus with Lambda
nealle
0
410
AI駆動開発の時代になったのでトヨタ生産方式から見直す
terurou
7
5.8k
転んだ話が背中を預ける理由になる / A_story_about_falling_down_gives_you_a_reason_to_watch_each_other_s_backs.pdf
pauli
3
350
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
220
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
490
事業成長とデータ活用を止めないためのマネジメントへ挑戦
hiracky16
0
150
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
180
ゲームのリアルタイム通信から見た QUIC と MoQ
segadevtech
0
110
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
160
全人類(ほぼ)AWS Organizations の上でAWSを利用している、その世界を知る話
htan
1
130
Featured
See All Featured
ラッコキーワード サービス紹介資料
rakko
1
5.3M
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
320
So, you think you're a good person
axbom
PRO
2
2.2k
Navigating Weather and Climate Data
rabernat
0
550
Optimizing for Happiness
mojombo
378
71k
First, design no harm
axbom
PRO
2
1.3k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Automating Front-end Workflow
addyosmani
1369
210k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
4 Signs Your Business is Dying
shpigford
187
23k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
720
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 $ͷศརͰָ͍͠ϥΠϒϥϦ ͍ͬͺ͍͋ΔͷͰ ·ͩͷਓҰ৮ͬͯΈ·͠ΐ͏ʂ