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
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
Hypervel - A Coroutine Framework for Laravel Artisans
albertcht
1
110
Go1.25からのGOMAXPROCS
kuro_kurorrr
1
830
PHPでWebSocketサーバーを実装しよう2025
kubotak
0
230
GoのGenericsによるslice操作との付き合い方
syumai
3
700
What Spring Developers Should Know About Jakarta EE
ivargrimstad
0
330
システム成長を止めない!本番無停止テーブル移行の全貌
sakawe_ee
1
150
型付きアクターモデルがもたらす分散シミュレーションの未来
piyo7
0
810
XP, Testing and ninja testing
m_seki
3
220
PipeCDのプラグイン化で目指すところ
warashi
1
220
Deep Dive into ~/.claude/projects
hiragram
10
2.1k
VS Code Update for GitHub Copilot
74th
1
480
#kanrk08 / 公開版 PicoRubyとマイコンでの自作トレーニング計測装置を用いたワークアウトの理想と現実
bash0c7
1
640
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
351
20k
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
How to Think Like a Performance Engineer
csswizardry
24
1.7k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
StorybookのUI Testing Handbookを読んだ
zakiyama
30
5.8k
Facilitating Awesome Meetings
lara
54
6.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Practical Orchestrator
shlominoach
188
11k
4 Signs Your Business is Dying
shpigford
184
22k
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ʹखΛ͚ͭΔ
࠙ձͰ