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
Xamarin iOS
Search
USAMI Kosuke
November 16, 2018
Programming
0
670
Xamarin iOS
Mobile Act OSAKA #7
https://mobileact.connpass.com/event/99908/
USAMI Kosuke
November 16, 2018
Tweet
Share
More Decks by USAMI Kosuke
See All by USAMI Kosuke
Onsager代数とその周辺 / Onsager algebra tsudoi
usamik26
0
650
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
200
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
340
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
500
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
760
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
690
UICollectionView Compositional Layout
usamik26
0
810
Coding Swift with Visual Studio Code and Docker
usamik26
0
530
Swift Extension for Visual Studio Code
usamik26
2
1.1k
Other Decks in Programming
See All in Programming
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
620
CSC305 Lecture 10
javiergs
PRO
0
220
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
240
Le côté obscur des IA génératives
pascallemerrer
0
150
SwiftDataを使って10万件のデータを読み書きする
akidon0000
0
230
実践Claude Code:20の失敗から学ぶAIペアプログラミング
takedatakashi
15
6.4k
Go言語の特性を活かした公式MCP SDKの設計
hond0413
1
390
Developer Joy - The New Paradigm
hollycummins
1
300
Goで実践するドメイン駆動開発 AIと歩み始めた新規プロダクト開発の現在地
imkaoru
4
870
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
760
Catch Up: Go Style Guide Update
andpad
0
240
Go言語はstack overflowの夢を見るか?
logica0419
0
500
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
79
6k
Optimizing for Happiness
mojombo
379
70k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.2k
Thoughts on Productivity
jonyablonski
70
4.9k
Designing Experiences People Love
moore
142
24k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Mobile First: as difficult as doing things right
swwweet
225
10k
RailsConf 2023
tenderlove
30
1.3k
Git: the NoSQL Database
bkeepers
PRO
431
66k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
190
55k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
253
22k
Transcript
Xamarin Λͬͨ iOS ΞϓϦ։ൃͷݱ͔Β Ӊࠤݟެี Fenrir Inc.
Xamarin ͱ
Xamarin ͱ • ෳͷϓϥοτϑΥʔϜʹରԠͨ͠ΞϓϦ։ൃڥ • iOS / Android / ...
• .NET / Mono ϕʔε • C# Ͱͯ͢ͷίʔυ͕ॻ͚Δ • ʢC# Ҏ֎ʹ F# ͑Δʣ
ωΠςΟϒΞϓϦ • ֤ OS ͷωΠςΟϒ API ͕͑Δ • ωΠςΟϒ API
ͷ C# όΠϯσΟϯά • ֤ OS ͷωΠςΟϒ UI ͕͑Δ • ͦΕҎ֎ʹ Xamarin.Forms ͱ͍͏બࢶ͋Δ • ֤ OS ͷωΠςΟϒΞϓϦ͕ϏϧυͰ͖Δ
ϓϥοτϑΥʔϜؒͷίʔυڞ௨Խ
༻࣮
࣮ࡍʹͬͯΈͯ
࣮ࡍʹ iOS ΞϓϦ։ൃͰͬͯΈͯ • IDE • Storyboard • C#
IDE ˍ Storyboard
։ൃڥʢIDEʣ • બࢶ • Visual Studio for Mac • RiderʢJetBrains
IDEʣ • Windows + Visual Studio
࣮ࡍͷڥ • Visual Studio for Mac Ͱͻͱͱ͓Γͷ͜ͱ͕Ͱ͖Δ • ίʔσΟϯά Rider
Windows ্ͷ VS ͷํָ͕ • ͨͩɺσόοά Storyboard ฤूͳͲෆ͕҆͋Δ • ซ༻໘ͳͷͰɺ݁ہ VS for Mac Ͱશ෦͍ͬͯΔ
Xamarin.iOS ͱ Storyboard • Storyboard ্ʹ UIViewController Λஔ͘߹
Storyboard ฤू࣌ͷ • VS for Mac Ͱ Storyboard Λฤू͢Δ߹ •
⭕ ৽͍͠ class ໊ΛೖΕΔͱɺclass ϑΝΠϧΛੜ • ⭕ .designer.cs ϑΝΠϧͱͷ࿈ܞ • ❌ View ͷஔ่͕ΕΔ͜ͱ͕͋Δ • ❌ Auto Layout ͷ੍͕উखʹมΘΔ͜ͱ͕͋Δ
VS for Mac ͱ Xcode ͷซ༻ • ࠷ॳͷ࡞ .designer.cs ࿈ܞ
VS for Mac • View ஔϨΠΞτௐ Xcodeʢ݁ہɺซ༻ঢ়ଶʣ
̘ˌ
̘ˌ • Swift / Kotlin ʹൺΕݹ͍͕ɺݱࡏਐԽ͍ͯ͠Δ • ඪ४ͷݴޠػೳ͕༏Ε͍ͯΔ • namespace
• event • async / await • Reactive • ͳͲ
event class Hoge { public event EventHandler HogeEvent; HogeEvent.Invoke(); //
ΠϕϯτൃՐʢଆ͔ΒͷΈʣ } var hoge = new Hoge(); hoge.HogeEvent += ... // ΠϕϯτϋϯυϦϯάॲཧ
async / await async Task<bool> HogeAsync() { // Կ͔ͷඇಉظॲཧ }
var result1 = Hoge1(); var result = await HogeAsync(); // ඇಉظॲཧ͕ऴΘΔͷΛͭ var result2 = Hoge2();
await ͰΞϥʔτͷϘλϯԡԼͪ var tcs = new TaskCompletionSource<bool>(); var alert =
UIAlertController.Create(title, message, style); alert.AddAction(UIAlertAction.Create(name, style, action => { tcs.SetResult(true); // ϘλϯͷΞΫγϣϯͰ SetResult })); PresentViewController(alert, true, null); var result = await tcs.Task; // SetResult Λͭ
Reactive Extensions • ͍ΘΏΔ Rx • .NET ൃͷͷ͕֤ݴޠʹ·͍ͬͯΔ • Θ͟Θ͟ϥΠϒϥϦΛೖΕͣͱɺඪ४ͰରԠ͍ͯ͠Δͷ͕ڧ
Έ • ҎԼͷϥΠϒϥϦΛೖΕΔͱΑΓศར • ReactiveProperty • ReactiveCommand
·ͱΊ
·ͱΊ • IDE Visual Studio for Mac • Storyboard
ฤू Xcode • ซ༻ঢ়ଶʹͳΔͷ໘ • C# ݁ߏศར