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.7k
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
Introduction of Aizome - 多言語対応とスタイル適用を両立する書式付き文字列ライブラリ
iseebi
0
97
Bitriseで本をビルドする / Build a book with Bitrise
iseebi
0
140
BitriseでmacOSアプリをビルドする / Build macOS apps with Bitrise
iseebi
1
790
iOS/Androidアプリ転送ツール TransporterPadの紹介
iseebi
0
6.1k
Apple Developer Enterprise Program でどこまでいけるのか
iseebi
0
770
ReactiveProperty を使ったアプリの設計に Realm Xamarin を組み合わせる
iseebi
0
650
600件のPull RequestからみたXamarinのはまりどころ
iseebi
3
4.2k
Yet Another Cross Platform Development
iseebi
0
4.2k
XamarinでPDFを作る
iseebi
1
1.7k
Other Decks in Programming
See All in Programming
PT AI без купюр
v0lka
0
230
レガシーシステムの機能調査・開発におけるAI利活用
takuya_ohtonari
0
600
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
180
コードに語らせよう――自己ドキュメント化が内包する楽しさについて / Let the Code Speak
nrslib
6
1.4k
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
440
ワンバイナリWebサービスのススメ
mackee
10
7.7k
インターフェース設計のコツとツボ
togishima
2
710
WindowInsetsだってテストしたい
ryunen344
1
140
「兵法」から見る質とスピード
ickx
0
270
Benchmark
sysong
0
170
Gleamという選択肢
comamoca
6
710
エラーって何種類あるの?
kajitack
5
140
Featured
See All Featured
How to train your dragon (web standard)
notwaldorf
92
6.1k
The Invisible Side of Design
smashingmag
299
51k
Testing 201, or: Great Expectations
jmmastey
42
7.5k
Being A Developer After 40
akosma
90
590k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
41
7.3k
Faster Mobile Websites
deanohume
307
31k
GitHub's CSS Performance
jonrohan
1031
460k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.5k
Become a Pro
speakerdeck
PRO
28
5.4k
Code Review Best Practice
trishagee
68
18k
Designing for Performance
lara
609
69k
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ʹखΛ͚ͭΔ
࠙ձͰ