×
Copy
Open
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
iOS ΤϯδχΞ͕ Xamarin Λ࢝Ίͨ Ӊࠤݟ ެี
Slide 2
Slide 2 text
About Me 4 Ӊࠤݟެีʢtwitter : @usamik26ʣ 4 ϑΣϯϦϧגࣜձࣾ ڞಉ։ൃ෦ 4 iOS ΞϓϦ։ൃ 4 ϓϥΠϕʔτ 4 OS X ΞϓϦ։ൃ : CotEditorʢςΩετΤσΟλʣ
Slide 3
Slide 3 text
Xamarin ྺ 4 ΄Ͳલ͔Β։࢝ 4 ࣾʹ࣮ܦݧ͕͋Δৄ͍͠ਓ͕طʹԿਓ͔͍ͨ 4 ࣮Ͱ Xamarin + MvvmCross Λ༻ 4 MvvmCross github ʹ pull request Λૹͬͨ͜ͱ
Slide 4
Slide 4 text
ͳͥ Xamarin ΛΖ͏ͱ ࢥ͔ͬͨ
Slide 5
Slide 5 text
C# ͕͑Δʁ 4 εϚϗΞϓϦ։ൃ͕ C# ͰͰ͖Δ 4 ɾɾɾ͜Εʹແؔ 4 iOS ΞϓϦ։ൃͰ͖Δ 4 C# / .NET ͋·ΓΒͳ͍
Slide 6
Slide 6 text
ΫϩεϓϥοτϑΥʔϜ։ൃ 4 iOS / Android ΞϓϦ։ൃ͕ڞ௨ԽͰ͖Δ 4 ͜Εେ͖ͳϝϦοτ 4 ্࣮ɺ྆ํͷΞϓϦ։ൃ͕ฒߦͯ͠ߦΘΕΔ͜ͱ ଟ͍ 4 iOS ΞϓϦ։ൃऀͱ Android ΞϓϦ։ൃऀͱͰɺΞ ϓϦͷ༷ೝࣝҧ͍Λ͙ͷҊ֎͍ͨΜ
Slide 7
Slide 7 text
ଞͷπʔϧͱͷൺֱ (1) 4 ଞͷπʔϧͰɺ֤ϓϥοτϑΥʔϜ։ൃͷྑ͞Λੜ͔ͤ ͳ͍͜ͱ͕ଟ͍ 4 Xamarin ωΠςΟϒ SDK Λੜ͔͍ͯ͠Δ 4 ͞Βʹ࠷৽ڥͷରԠૣ͍
Slide 8
Slide 8 text
ଞͷπʔϧͱͷൺֱ (2) 4 ଞͷπʔϧͰɺϓϥοτϑΥʔϜʹ͋ΘͤͨڍಈΛͤ͞ Δͷ͕Ҋ֎͍͠ 4 iOS ΞϓϦ͕ Android ΞϓϦͬΆ͍ಈ͖Λͨ͠Γɺ Android ΞϓϦ͕ iOS ΞϓϦͬΆ͍ಈ͖Λͨ͠Γ͢Δ ͷෆࣗવ
Slide 9
Slide 9 text
MVVM 4 εϚϗΞϓϦ։ൃ͕ MVVM ͰͰ͖Δ 4 ݸਓతʹܾఆଧͱͳͬͨͷ͜ͷ 4 iOS ΞϓϦ։ൃͰ ReactiveCocoa Λ͏ͱ͍͏બ ͕͋Δ͕ɺ·ͩϓϥΫςΟεཱ͕֬͞Ε͍ͯͳ͍ײ ͡ 4 C# / .NET จԽݍͰ͔ͭͪΘΕ͖ͯͨઃܭख๏͔ͩ ΒɺXamarin ૬ੑ͕Α͍
Slide 10
Slide 10 text
݁ہɺXamarin Λ࢝Ίͨཧ༝ ɾɾɾ 4 MVVM Ͱ։ൃͰ͖Δ 4 ϏϡʔͱϩδοΫͷ 4 ΫϩεϓϥοτϑΥʔϜ։ൃͱͷੑ
Slide 11
Slide 11 text
վΊͯ MVVM
Slide 12
Slide 12 text
MVVM (Model - View - ViewModel) 4 View ϓϥοτϑΥʔϜґଘ 4 View ͱ ViewModel Binding Ͱ࿈ܞ 4 ViewModel / Model ͕ϩδοΫ෦ɺϓϥοτϑΥʔϜඇ ґଘ
Slide 13
Slide 13 text
MVVM ͱϓϥοτϑΥʔϜͷؔ 4 C# / .NET จԽݍͰ͔ͭͪΘΕ͖ͯͨ 4 ॳओʹ Windows ϓϥοτϑΥʔϜ্ͷΈͰΘΕͯ ͍ͨʁ 4 ͔͠͠ɺViewModel ΛϓϥοτϑΥʔϜඇґଘʹͰ͖Δͨ ΊɺΫϩεϓϥοτϑΥʔϜ։ൃͱ૬ੑ͕Α͍
Slide 14
Slide 14 text
MVVM ͱεϚϗϓϥοτϑΥʔϜ 4 View Λ֤ϓϥοτϑΥʔϜͰ։ൃ͢Δ 4 ͜ͷͨΊɺ֤ϓϥοτϑΥʔϜͷੈք؍Λେࣄʹ͢Δ͜ͱ ͕Ͱ͖Δ 4 iOS Β͠͞ɺAndroid Β͠͞େࣄ 4 ΫϩεϓϥοτϑΥʔϜ։ൃͰͦ͜ MVVM ͷྑ͕͞ੜ͖Δ ͷͰɺͱউखʹࢥ͍ͬͯΔ
Slide 15
Slide 15 text
࣮ࡍʹ Xamarin.iOS Λ ͬͯΈΔ
Slide 16
Slide 16 text
·ͣ࠷ॳʹ 4 C# Θ͔Βͳ͍ 4 ৮ͬͨ͜ͱ͚͋ͬͨͲ C# 1.0 / 2.0 ͘Β͍ 4 ͱΓ͋͑ͣجຊతͳจ๏Λ͞Βͬͱݟͯɺ͋ͱ࣮ͱ ฒߦͰษڧ
Slide 17
Slide 17 text
C# ʹ׳Εͯ͘Δͱ 4 ݴޠ͕ҧ͏͚ͩͰࠜͬ͜ͷϑϨʔϜϫʔΫಉ͡ 4 ϑϨʔϜϫʔΫؔ࿈͜Ε·Ͱͷ͕ࣝ΄΅ͦͷ··௨ ༻͢Δ 4 ίʔυ͕ॻ͖͍͢͜ͱʹؾͮ͘ 4 ݸਓతʹϥϜμࣜͱ͔ LINQ ͱ͔͖
Slide 18
Slide 18 text
Α͘Δϛε 4 Xamarin Studio ্Ͱ Objective-C ͷίʔυΛॻ͍ͯ͠· ͏ 4 [UIImage ima ͘Β͍·Ͱॻ͍ͯɺ͋Εิ͞Εͳ͍ͳ ͋ɺͱ͔ 4 ϝιου໊͕Θ͔Βͳ͘ͳΔ 4 ໋໊نଇ͕ Objective-C ෩ͱ C# ෩Ͱҧ͍ͬͯΔ
Slide 19
Slide 19 text
Α͘Δϛεͷٯύλʔϯ 4 ׳Εͯ͘ΔͱٯύλʔϯΒ͔ͨ͠ 4 Xcode ্Ͱ UIImage image = ͱ͔ॻ͍͍ͯͯɺͳΜͰ ϏϧυΤϥʔͳͷ͔ͳ͋ɺͱ͔ ʢΞελϦεΫΛΕΔʣ
Slide 20
Slide 20 text
υΩϡϝϯτʁ 4 MonoDoc ͷυΩϡϝϯτ͕ͪΐͬͱใෆʁ 4 ରԠ͢Δϝιουͷ Xcode υΩϡϝϯτΛࢀরͨ͠Γ 4 Xamarin ͷαΠτʹ͍Ζ͍ΖυΩϡϝϯτ͕͋ͬͨ
Slide 21
Slide 21 text
ศརΫϥε 4 UITableViewSource 4 UITableViewDataSource ͱ UITableViewDelegate ͷ ౷߹ 4 ͍ͭ͜Β͍͍ͩͨ͋Θͤͯ͏͜ͱ͕ଟ͍ͷͰͪΐͬ ͱָʹͳΔ 4 UICollectionViewSource ͋Δ
Slide 22
Slide 22 text
Storyboard 4 ໊લೖΕΔ͚ͩͰউखʹϓϩύςΟՃͯ͘͠ΕΔͱ͔ศ ར 4 μϒϧΫϦοΫͰΞΫγϣϯੜͰ͖Δͱ͔ศར 4 Xcode ʹ͜͏͍͏ͷͳ͔ͬͨͳɾɾɾ
Slide 23
Slide 23 text
AutoLayout 4 Constraint ͷՃͷํ͕ͪΐͬͱҧ͏ 4 ׳ΕΔͱָ 4 Constraint μϒϧΫϦοΫͰฤूͰ͖Δ
Slide 24
Slide 24 text
API 100% ରԠ 4 AVFoundation ͱ͔͍͍ͨΜ͚ͩͲɾɾɾ 4 ͱࢥͬͨΒɺԿʹߟ͑ͳͯ͑ͨ͘ using MonoTouch.AVFoundation; var session = new AVCaptureSession(); ...
Slide 25
Slide 25 text
MVVM ͷಋೖ
Slide 26
Slide 26 text
MvvmCross 4 Γํ͍Ζ͍Ζ͋Δ͚Ͳɺ୲ϓϩδΣΫτͰ MvvmCross Λ࠾༻ 4 ࣾʹઌۦऀ͕ଟ͍ 4 ΦʔϓϯιʔεͳͷͰͳΜͳΒमਖ਼͢Δʢ࣮ࡍͨ͠ʣ
Slide 27
Slide 27 text
͜Ε࠷ॳʹ 4 MVVM Θ͔Βͳ͍ 4 ࣮ࡍʹίʔυॻ͍ͯΈΔͱ࠷ॳҊ֎ॻ͚ͳͯ͘ͱ·Ͳ ͏ 4 ͳΜ͔खറΒΕͯΔײ͕͋Δ
Slide 28
Slide 28 text
MVVM ʹ׳Εͯ͘Δͱ 4 ٯʹͳΜͰ MVVM ʹͨ͘͠ͳΔ 4 Xamarin ͳ͠Ͱ iOS ΞϓϦʁ ͩͬͨΒ ReactiveCocoa ͓͏͔ʁ
Slide 29
Slide 29 text
ศརΫϥε 4 Binding Λָʹͯ͘͠ΕΔ 4 MvxTableViewCell 4 MvxImageView 4 URL ͨ͠Βউखʹը૾औಘͯ͘͠ΕΔͱ͔
Slide 30
Slide 30 text
MvvmCross ϓϩδΣΫτߏ 4 Core ϓϩδΣΫτ : Model / ViewModel 4 Touch ϓϩδΣΫτ : iOS View 4 Droid ϓϩδΣΫτ : Android View
Slide 31
Slide 31 text
Α͘Δʢʁʣϛε 4 MonoTouch ͷΫϥε͕͑ͳ͍ɺͱࢥͬͨΒ ViewModel ͩͬͨ 4 ViewModel : Core ϓϩδΣΫτ 4 View : Touch ϓϩδΣΫτ
Slide 32
Slide 32 text
Α͘Δʢʁʣϛε (2) 4 View ʹ͕Γ͕Γ࣮ͯ͠͠·͏ɾɾɾ 4 ςϯύ͖ͬͯͨͱ͖ʹΒ͔͢ 4 MVVM ͷྑ͞Λແ͠ʹ͢Δ
Slide 33
Slide 33 text
ϓϥάΠϯ 4 ϓϥοτϑΥʔϜґଘͷػೳΛ ViewModel ͔Β͍͍ͨ 4 ΠϯλʔϑΣʔεఆٛ Core ϓϩδΣΫτ 4 ࣮ Touch ϓϩδΣΫτ
Slide 34
Slide 34 text
ϓϥάΠϯͷΑ͋͠͠ 4 ਖ਼Θ͟Θ͟ϓϥάΠϯԽ͢Δͷ໘͍͘͞ 4 ͚ͩͲͦ͏͠ͳ͍ͱ View ʹ͕Γ͕Γॻ͘͜ͱʹͳΔ 4 Ұॻ͍ͯ͠·͖͑ͬ͢Γͨ͠ίʔυ͕ॻ͚Δ
Slide 35
Slide 35 text
ݒ೦ 4 64ϏοτରԠɾɾɾʁ 4 Xamarin ͷ Unified ͷΈʹ MvvmCross ͕ରԠ͠ ͯ͘Εͳ͍ͱͭΒ͍ 4 Forms ʹҠߦͨ͠΄͏͕͍͍ͷʁ 4 Forms Ͱ iOS / Android ͦΕͧΕͷੈք؍ΛେࣄʹͰ ͖ΔͳΒ
Slide 36
Slide 36 text
·ͱΊ
Slide 37
Slide 37 text
·ͱΊ 4 Xamarin Ͱ C# / MVVM Ͱ iOS ΞϓϦ࡞Δͷؾ࣋ͪΑ͘ ͳ͖ͬͯͨ 4 ͍·ઈࢍ Xamarin Ҋ͍݅͠ͷͰࢮͳͳ͍ఔʹ͕Μ Δ