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
ReactiveProperty で Xamarin アプリの作り方が変わった
Search
Nobuhiro Ito
January 28, 2017
Programming
3
1.6k
ReactiveProperty で Xamarin アプリの作り方が変わった
2017/01/28(Sat) Japan Xamarin User Group Conference #22
Nobuhiro Ito
January 28, 2017
Tweet
Share
More Decks by Nobuhiro Ito
See All by Nobuhiro Ito
Bitriseで本をビルドする / Build a book with Bitrise
iseebi
0
130
BitriseでmacOSアプリをビルドする / Build macOS apps with Bitrise
iseebi
1
720
iOS/Androidアプリ転送ツール TransporterPadの紹介
iseebi
0
6k
Xamarinアプリとプッシュ通知
iseebi
2
1.6k
Apple Developer Enterprise Program でどこまでいけるのか
iseebi
0
730
ReactiveProperty を使ったアプリの設計に Realm Xamarin を組み合わせる
iseebi
0
610
600件のPull RequestからみたXamarinのはまりどころ
iseebi
3
4.1k
Yet Another Cross Platform Development
iseebi
0
4.1k
XamarinでPDFを作る
iseebi
1
1.7k
Other Decks in Programming
See All in Programming
[Do iOS '24] Ship your app on a Friday...and enjoy your weekend!
polpielladev
0
110
Kaigi on Rails 2024 〜運営の裏側〜
krpk1900
1
230
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
480
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
120
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
Micro Frontends Unmasked Opportunities, Challenges, Alternatives
manfredsteyer
PRO
0
100
CSC509 Lecture 13
javiergs
PRO
0
110
Streams APIとTCPフロー制御 / Web Streams API and TCP flow control
tasshi
2
350
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
subpath importsで始めるモック生活
10tera
0
310
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
Featured
See All Featured
Side Projects
sachag
452
42k
Making Projects Easy
brettharned
115
5.9k
Facilitating Awesome Meetings
lara
50
6.1k
10 Git Anti Patterns You Should be Aware of
lemiorhan
655
59k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Optimizing for Happiness
mojombo
376
70k
Docker and Python
trallard
40
3.1k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
97
Mobile First: as difficult as doing things right
swwweet
222
8.9k
The Cost Of JavaScript in 2023
addyosmani
45
6.8k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Transcript
3FBDUJWF1SPQFSUZͰ 9BNBSJOΞϓϦͷ࡞Γํ͕มΘͬͨ /PCVIJSP*UP
!JTFFCJ /PCVIJSP*UP 'FOSJS*OD .PCJMF"QQMJDBUJPO&OHJOFFS IUUQJTFFCJIBUFOBCMPHDPN
݄ େࡕ͔Β౦ژసۈ ౦ژΤϯδχΞνʔ ϜͷͱΓ·ͱΊ
ͱ͜ΖͰ
Βաڈ .WWN$SPTTʹ ྗΛೖΕ͍ͯͨ
IUUQTTQFBLFSEFDLDPNJTFFCJYBNBSJOTUVEJPEFIB[JNFSVTUPSZCPBSEQMVTBVUPMBZPVU
IUUQTTQFBLFSEFDLDPNJTFFCJYBNBSJOQMVTNWWNDSPTTEFUJNVLBJGBZBUVUFNJUB
None
େ͖ͳมԽͷ͋ͬͨͩͬͨ
9BNBSJOങऩ
9BNBSJOແঈԽ ˞ͨͩ͠اۀ7JTVBM4UVEJP͔.4%/ͷ4VCTDSJQUJPO͕ඞཁ
͕࣌ 9BNBSJOʹ͍͍ͭͨ w ࣄྫ͕૿͑ͨ w ্͕͕ͬͨ w ରԠ͢ΔϑϨʔϜϫʔΫ૿͑ͨ
ωΠςΟϒք۾Ͱ ৽ͨͳಈ͖͕
IUUQTUIMJHIUDPNCMPHVODMFCPCUIFDMFBOBSDIJUFDUVSFIUNM IUUQTGBDFCPPLHJUIVCJPqVYEPDTJOEFQUIPWFSWJFXIUNM
$MFBO"SDIJUFDUVSF 3FEVY 'MVY ΞʔΩςΫνϟϒʔϜ ʁ
࣌.WWN$SPTT ϕετͳબͩͬͨ w /V(FUೖΕΔ͚ͩͰ͏ w Ұ௨Γඞཁͳػೳ͕ἧ͏ w ใ͕ গͳ͍தͰ ଟ͍
˞
ͷબ͕ ͷࠓͰ ࠷దͳΘ͚Ͱͳ͍
.77.͚ͩͰ $PSF͕ ਏ͘ͳΔΛ ղܾͰ͖ͳ͔ͬͨ
3FBDUJWF1SPQFSUZͰ $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 Ϋϥε͕ଟ͗͢ɻ w .PEFMͱ&OUJUZΘ͟Θ͟มͨ͘͠ͳ͍ w ͬͯΔ໊લʹ͍ͨ͠ w 1SFTFOUFSͬͯ.WWN$SPTTతʹ7JFX.PEFM͡ΌΜ͔ w ը໘ʹ͔͔ΘΒͣมΘΔͷίϯτϩʔϧΛߟ͍͑ͨ
w Ϣʔβʔͷૢ࡞ͷ֎Ͱ͕มΘͬͨΓ͢Δཁ݅͋Γ
ॏཁͳͷ੍ޚͷํΛҰఆʹ͢Δ͜ͱ ΫϥεΛׂ͠·͘Δͷຊ࣭͡Όͳ͍ͣ
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$-
ͳΜͱ͔ ಄ʹೖ͖ͬͯͦ͏
ͷؒͷଓʁ
શ෦3YͰܨ͝͏ʂ
3FBDUJWF1SPQFSUZ w ʮ3YͰѻ͑ΔϓϩύςΟʯΛ࡞ΔϥΠϒϥϦ w ͯ͢*0CTFSWBCMFͱͯ͠ͱΒ͑Δ͜ͱ͕Ͱ͖Δ w *0CTFSWBCMF͔Βมͯ͠࡞Δ͜ͱͰ͖Δ w σʔλόΠϯυʹରԠ͍ͯ͠Δ
7JFX 7JFX.PEFM 4DFOF %BUB4UPSF .PEFM 3FQPTJUPSZ 4FSWJDF %BUB4UPSFΛ࠷Լͱͯ͠ Լͷ3FBDUJWF1SPQFSUZΛ ্͔Β4VCTDSJCF͢Δ
͜ͷਤͰ 4FSWJDF͚ͩٯͳͷͰҙ
ͳͥ*0CTFSWBCMF5 Ͱͳ͍ͷ͔ w ʮϓϩύςΟʯͱ͍͏ϝλϑΝ͕Θ͔Γ͍͢ w *0CTFSWBCMF5ͷੜ͢ΔΑΓΘ͔ΓΑ͍ w ͍͟ͱͳͬͨΒ7BMVFʹೖ͢Εྑ͍ w %BUB4UPSF7BMVFΛ͍࣋ͬͯΔ
w 3FQPTJUPSZҎ্3YΫΤϦͰऔΓѻ͏
࣮ྫ IUUQTHJUIVCDPNJTFFCJ31$MFBO"SDIJUFDUVSF%FNP
ͦͷଞͷϙΠϯτ
ΞϓϦͷॳظԽ w 1$-Λ"QQΫϥεΛಠࣗఆٛͯ͠ɺ *OJUJBMJ[FΛΤϯτϦϙΠϯτͰݺͿ w *6OJUZ$POUBJOFS w *4FSWJDF$POUBJOFS .WWN-JHIU༝དྷ
w *7JFX.PEFM-PDBUPS ಠࣗఆٛ
ը໘ભҠμΠΞϩά w .77.-JHIU5PPMLJUͷ /BWJHBUJPO4FSWJDF %JBMPH4FSWJDFΛ͏ w ݹͯ͘Πέͯͳ͍ͷͰιʔεऔΓࠐΜͰ͢ ࠓͷྫͰͦͷ··͍·ͨ͠
"OESPJEͷ"DUJWJUZ෮ؼ w όοΫάϥϯυʹૹΒΕͨޙɺଞͷΞϓϦ͕͋ΔఔΘΕͨͱ͖ʹ ൃੜɺ 4BWFE*OTUBODF4UBUF͔Β෮ؼͤ͞Δඞཁ͕͋Δ w ੜଘظ͕ؒʮϓϩηε࣮ߦதʯͷΛͭͷ%BUB4UPSFʹݻΊΔ w ͦΕҎ֎ͷॴʹফ͑ͯࠔΔঢ়ଶΛ࣋ͨͳ͍ʂ w
0O4BWF*OTUBODF4UBUFΛτϦΨʔʹ%BUB4UPSF͝ͱશ෦อଘʂ w "QQ4UBUF4FSWJDF͕୲
·ΓϙΠϯτ w 'VODͷத͔Βଞͷ3FBDUJWF1SPQFSUZΛࢀর͠ͳ͍ w εϨουͷ࣮ߦॱͱ͔Ͱঢ়ଶ͕Ұఆ͠ͳ͍ w $PNCJOF-BUFTUͰΛྲྀ͢͜ͱ w ॥ࢀরʹҙʂ w
8FBL3FGFSFODF5େࣄ
w /BWJHBUJPO4FSWJDFͷͨΊ͚ͩʹ.77.-JHIU5PPMLJUೖΕͯΔͷແବ w /BWJHBUJPO4FSWJDF͚ͩΓग़ͨ͠DPPMͳͭཉ͍͠ w #BTF7JFX$POUSPMMFS#BTF"DUJWJUZΛΕ͍ͯͳ͍ w ҋΛͨΊࠐΈ͘͢ͳΔͷͰΑΖ͘͠ͳ͍ w
6OJUZΦϫίϯઆ w OVJUT͞ΜͷCMPHࢀর
·ͱΊ
࠷ۙࢼͯ͠Δ 9BNBSJO/BUJWF ։ൃख๏Λհ͠·ͨ͠
7JFX 7JFX.PEFM 4DFOF %BUB4UPSF .PEFM 3FQPTJUPSZ 4FSWJDF
9BNBSJOΛ औΓר͘ঢ়گ େ͖͘มΘͬͨ
ৗʹྑ͍ํ๏ มΘ͍ͬͯΔ
͜ͷํ๏͕ ͍ͭ·Ͱ ࠷ળͰͳ͍
Ξϯςφ Γ͚ͭͮ·͠ΐ͏
ͦ͏͍͑
ͦͷଞࠓͷτϐοΫ 4XJGUϥΠϒϥϦͷऔΓࠐΈ ը૾͖ϓογϡ &YUFOTJPO ˠҋ ωΠςΟϒόΠϯσΟϯάΓΓ ແཧཧ'BCSJD͏ +FOLJOTͷͨΊʹDTQSPKʹखΛ͚ͭΔ
࠙ձͰ