Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
How we create our app using Xamarin;
ailen0ada
August 31, 2019
Business
3
1.9k
How we create our app using Xamarin;
2019/08/31 JXUG #25 at Microsoft Shinagawa; Seminor room A
ailen0ada
August 31, 2019
Tweet
Share
More Decks by ailen0ada
See All by ailen0ada
.NET Conf 2017 Tokyo, Japan
ailen0ada
1
170
Say hello to Cocoa development with Xamarin.Mac
ailen0ada
1
130
Porting Windows Forms App to Xamarin.Mac
ailen0ada
1
3.4k
Other Decks in Business
See All in Business
X Mile人事制度丸わかりBook
xmile
PRO
0
1.4k
DX推進側が現場と相対するときに考えておきたいこと
hrfr84
0
320
成長する企業・膨張する企業の違いがわかる資料
nyattx
PRO
1
190
CQ x Agile で価値観の違いを紐解き、人と組織の関係性に橋をかける #RSGT2023
spring_aki
PRO
0
3.1k
SendGridのチーム内オンボーディング
ichimura
0
120
Twitter Instagram キャンペーンツール「キャンつく」
pickles_staff
0
44k
キャンつく Twitter版
pickles_staff
0
6.3k
CHILLNN_Inc._会社説明資料
chillnn123
0
810
FastLabel / Product&Development向け / 採用資料
eisukeueta
0
310
株式会社WEIN Group_会社説明資料
weingroup0213
0
880
「分析組織でデータエンジニア組織を立ち上げた話」(バンダイナムコネクサス藤井 祐麻さん)
jdmc
0
170
キャンつく Instagram版
pickles_staff
0
42k
Featured
See All Featured
Infographics Made Easy
chrislema
235
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
120
29k
How to Ace a Technical Interview
jacobian
270
21k
A Tale of Four Properties
chriscoyier
149
21k
The Mythical Team-Month
searls
210
40k
Adopting Sorbet at Scale
ufuk
65
7.8k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
How GitHub (no longer) Works
holman
298
140k
Music & Morning Musume
bryan
37
4.6k
The World Runs on Bad Software
bkeepers
PRO
59
5.7k
Producing Creativity
orderedlist
PRO
335
37k
Designing for humans not robots
tammielis
245
24k
Transcript
)PXXFDSFBUF PVSBQQ +96( 5TVCBTB)*3"/0.BOBUP,".&:"
"CPVUVT Tsubasa Hirano Director @ailen0ada Manato Kameya CTO @grabacr07
ࠓ࣋ͪؼͬͯ΄͍͜͠ͱ 9BNBSJO֮ޛͱతҙࣝΛ ࣋ͬͯ͏
ࠓ࣋ͪؼͬͯ΄͍͜͠ͱ ʢҙʣ֮ޛͱతҙࣝΛ ࣋ͬͯ͏
͓͠ͳ͕͖ w ࡞ͬͨڥ w બఆٕͨ͠ज़ελοΫ w ͕͜͜ਏ͍Α9BNBSJO w બΕͳ͔ͬͨ9BNBSJO'PSNT w
ͦΕͰ9BNBSJOΛ͏
Ԋֵ • ઃཱ • J048FC൛αʔϏεΠϯ • "OESPJE൛αʔϏεΠϯ • Ϣʔβʔສ •
ϦϓϨΠε։࢝ • Ϣʔβʔ ສ • ϦϓϨΠε J04 ϦϦʔε
9BNBSJOબఆͷϞνϕʔγϣϯ w ॳظίʔυϕʔε ʙ w *OGSB"84 &$ 3%4
w 4FSWFS3BJMT w J04BQQ0CKFDUJWF$ w %SPJEBQQ+BWB w ӡ༻ͻͲ͍ ख࡞ۀଟ
9BNBSJOબఆͷϞνϕʔγϣϯ w ։ൃɺӡ༻ w ʮ͍͔ʹૣ͘ϦϦʔε͢Δ͔ʯͷ࣌ظ w ى͜Δͯ͘͠ى͜Δෛ࠴ w ฦࡁ͠ͳ͔ͬͨ Ͱ͖ͳ͔ͬͨ
w Ҏޙͷେنͳվमෆೳ
9BNBSJOબఆͷϞνϕʔγϣϯ w ϦϓϨΠεର4FSWFSJ04"OESPJE8FC w ͯ͢ʂ w গਫ਼ӶνʔϜ w αʔόʔɾΞϓϦઐ෦ୂΛ࡞Εͳ͍
9BNBSJOબఆͷϞνϕʔγϣϯ w େͷιϦϡʔγϣϯͱͯ͠ͷબࢶ w গϝϯόʔ ίετ w $ͷʹ֮͑ͷ͋Δϝϯόʔ w
ਓࣄݖɺ࠾༻ͷΞς͕͋Δ͜ͱ w ωΠςΟϒΑΓۤ࿑͢Δ֮ޛ
ٕज़ελοΫ֓؍ w "84 &,4 3%4 w %PDLFS ,VCFSOFUFT
w "41/&5$PSF.7$ w 9BNBSJOJ04 w 9BNBSJO"OESPJE
͓͠ͳ͕͖ w ࡞ͬͨڥ w બఆٕͨ͠ज़ελοΫ w ͕͜͜ਏ͍Α9BNBSJO w બΕͳ͔ͬͨ9BNBSJO'PSNT w
ͦΕͰ9BNBSJOΛ͏
ࠂ4%,ͷόΠϯσΟϯά w όΠϯσΟϯάϥΠϒϥϦ࡞ࣗମ͞΄Ͳ͘͠ͳ͍ w ֎෦ϑΝΠϧͷؚΊΕͰϥϯλΠϜΤϥʔͱ͔ w UYU͔ͩΒ͍Βͳ͍ͩΖ͏ͱࢥͬͨΒத+BWB4DSJQUͩͬͨͱ͔ w %FQFOEFODZ)FMM w
'JSFCBTFWT"E.PC w ෆҙͷ4%,Ξοϓσʔτ͔ΒͷϥϯλΠϜΤϥʔ w ্࠭ͷ࿖ֳඍົͳόϥϯε
όΠϯσΟϯάϥΠϒϥϦͷ044αεςφϏϦςΟ w όΠϯσΟϯάϥΠϒϥϦ࡞ࣗମ͞΄Ͳ͘͠ͳ͍ʢ࠶ʣ w 'JSFCBTFͷΑ͏ʹਐԽ͕ૣ͘ػೳ͕େͳϥΠϒϥϦͲ͏͢Δʁ w ͏ʹ͋ͨͬͯࠐΈ͕ඞཁͳػೳςετ͍͠ w 9BNBSJO'JSFCBTFJ04 /V(FUύοέʔδͷ࠷ऴߋ৽͍ͭʁ
w ࣗࣾͷ͏෦͚ͩΛόΠϯσΟϯάϥΠϒϥϦʹى͜͢ w ݕূࣗࣾϦιʔεΛ͍֘Օॴ͚ͩͰࡁΉ w ͜ΕΛίϛοτ͖͔͢ʁू߹ͱͳΓಘΔ͔ʁ
.FUIPE4XJ[[MJOH w طଘΫϥεͷϝιου࣮Λ͛͢ସ͑Δࠇຐज़ w 0CKFDUJWF$3VOUJNFͷػೳmethod_exchangeImplementations w άϩʔεɼΞφϦςΟΫεܥͷϥΠϒϥϦͰසൟʹݟΔ w ॳظԽॲཧͱ͔௨ͷड৴ͱ͔Λ͠Εͬͱ͓͍ͬͯͯ͘ΕΔ w
͍͍ͨͯݏͳਓͷͨΊʹΦϓτΞτͯࣗ͠ݾ࣮͢Δ͜ͱͰ͖ ΔΑ͏ʹͳ͍ͬͯΔ w ΦϓτΞτͰ͖ͳ͍ϥΠϒϥϦͷͨΊʹํసΛ༨ّͳ͘͞Εͨ
.FUIPE4XJ[[MJOH w গ͠ͰߦّΑ͘͢ΔͨΊγάωνϟνΣοΫΛߦ͏DG344XJ[[MF w /4.FUIPE4JHOBUVSF ΄ͱΜͲDIBS<>Έ͍ͨͳͷ w ͜ΕΛTUSDNQ͍ͯͨ͠ͷͰແݶʹࣦഊ͢Δ userNotificationCenter:willPresentNotification:withCompletionHandler: Xamarin
[email protected]
:@@^v void function(v) selector of object(@:) take 2 object-args (@@) and 1 pointer to void (^v) Objective-C
[email protected]
:
[email protected]
@
[email protected]
?32 =
[email protected]
:@@@? void function(v40) selector of object (@0:8) take 2 object-args(@
[email protected]
) and 1 pointer to function (@?32) w όΠϯσΟϯάΛॻ͚ԿͰ͑Δͱ͍͏ݴઆਅ࣮Ͱͳ͍
ηϧϥʔωοτϫʔΫܦ༝Ͱ௨৴Ͱ͖ͳ͘ͳΔࣄ݅ w ௨৴தʹόοΫάϥϯυʹճΔͱ*OWBMJE0QFSBUJPO&YDFQUJPOൃใ w 9BNBSJOͰઃఆ͞ΕΔίʔϧόοΫίʔυͷඇಉظपΓͷෆ࢝ w ֻ͔͍ͬͯΔϦΫΤετΛΩϟϯηϧͯ͠ճΖ͏ͱͯͨ͠·ʹࢮ͵ w ࣌Ͱ9BNBSJOJ04͜ͷΛ๊͍͑ͯΔ w
DGYBNBSJONBDJPTJTTVF w ͡Θ͡ΘΫϥογϡϨϙʔτ্͕͕͖ͬͯͯͱͯβ͍ͷͰରࡦ
ηϧϥʔωοτϫʔΫܦ༝Ͱ௨৴Ͱ͖ͳ͘ͳΔࣄ݅ w )UUQ$MJFOUDUPSͰ)UUQ.FTTBHF)BOEMFSΛࠩ͠ࠐΉ w /46SM4FTTJPO)BOEMFSDTΛYBNBSJONBDJPTNBTUFS͔Β࣋ͬͯ ͖ͯ*0&ൃใͷݪҼΛ௵͢ w NBTUFSͷ/46SM4FTTJPO)BOEMFSDTʹ͕͋ͬͨʢ͋Δʣ w CPPMBMMPXT$FMMVMBS"DDFTTϑΟʔϧυʹ୭ΛೖΕ͍ͯͳ͍͠ɼ
ೖΕΔํ๏ͳ͍ w ηϧϥʔωοτϫʔΫܦ༝Ͱ௨৴͕ඞࣦͣഊ w ͦΜͳͱ͜ΖͰյΕΔͱࢥ͍͠ͳ͔ͬͨ
ܧঝ͕αϙʔτ͞Εͳ͍ͳΒTFBMFEͯ͠΄͍͠ w 6*,JUͷυΩϡϝϯτʹΑΔͱαϒΫϥεԽඇରԠ w FYUFOTJPOͱ͔͋ΔͷͰ͞΄ͲࠔΒͳ͍ w 9BNBSJOͷόΠϯσΟϯάTFBMFE͞Εͯͳ͍ w 7JFX%JE"QQFBSʹॲཧΛڬΈ͔ͨͬͨ w
ΧςΰϦ֦ுͱ͔ͳ͍͠ w Ϗϧυ4%,ʹؔΘΒͣJ04Ͱݟࣄʹരൃ w 4XJGUͰαϒΫϥεԽͯ͜͠ͷى͖ͳ͍
"OESPJE൛9BNBSJO'PSNTͷເΛݟΔ͔ w ෳࡶͳϥΠϑαΠΫϧͷ໘Λݟͯ͘ΕΔظ w 04όʔδϣϯͷࠩҟΛຒΊ͍͍ͯײ͡ʹڞ௨ԽΛ࣋ͯΔظ w φϏήʔγϣϯαʔϏε͔ͬͬͯϏϡʔ͚ͩωΠςΟϒ͔ΒΒ͑ ͍͍ͩΖ͏ͱ͍͏ظ
ͦΕͰ9BNBSJOΛ͏ w গਓͰͳΜͱ͔͢ΔͨΊͷڥΛ͖ͬͪΓ͑ͨ w ࣍ͷϦϓϨΠε9BNBSJOϕʔε͔Ͳ͏͔Θ͔Βͳ͍ w ϓϥοτϑΥʔϜͷಛΛ͍ΔͳΒͦͷ͓࡞๏Ͱॻ͘ w 9BNBSJO͕͍͍ͷ͔ͩΒબΜͰ͍ΔΘ͚Ͱͳ͍ w
ʮݱஈ֊ͷ৫ʹͱͬͯʯ͍͍ͷͰ͋Δͱೲಘͯ͠Β͏ w ϔΠτཷ·ΔҰํ૯߹ྗͰ͍͜ͳ͢
8FSFIJSJOH ·͓ͣ͠͠·͠ΐ͏