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
100
Bitriseで本をビルドする / Build a book with Bitrise
iseebi
0
150
BitriseでmacOSアプリをビルドする / Build macOS apps with Bitrise
iseebi
1
790
iOS/Androidアプリ転送ツール TransporterPadの紹介
iseebi
0
6.1k
Apple Developer Enterprise Program でどこまでいけるのか
iseebi
0
780
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
PipeCDのプラグイン化で目指すところ
warashi
1
310
Model Pollution
hschwentner
1
160
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
0
120
Rails Frontend Evolution: It Was a Setup All Along
skryukov
0
280
PicoRuby on Rails
makicamel
3
140
ニーリーにおけるプロダクトエンジニア
nealle
0
950
LT 2025-06-30: プロダクトエンジニアの役割
yamamotok
0
870
はじめてのWeb API体験 ー 飲食店検索アプリを作ろうー
akinko_0915
0
140
Flutterで備える!Accessibility Nutrition Labels完全ガイド
yuukiw00w
0
170
バイブコーディング超えてバイブデプロイ〜CloudflareMCPで実現する、未来のアプリケーションデリバリー〜
azukiazusa1
0
360
Goで作る、開発・CI環境
sin392
0
260
AI コーディングエージェントの時代へ:JetBrains が描く開発の未来
masaruhr
1
200
Featured
See All Featured
Designing for humans not robots
tammielis
253
25k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Designing for Performance
lara
610
69k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
520
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Faster Mobile Websites
deanohume
308
31k
Statistics for Hackers
jakevdp
799
220k
Automating Front-end Workflow
addyosmani
1370
200k
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ʹखΛ͚ͭΔ
࠙ձͰ