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
640
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
580
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
140
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
300
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
450
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
710
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
640
UICollectionView Compositional Layout
usamik26
0
720
Coding Swift with Visual Studio Code and Docker
usamik26
0
480
Swift Extension for Visual Studio Code
usamik26
2
970
Other Decks in Programming
See All in Programming
Software Architecture
hschwentner
6
2.1k
Amazon S3 TablesとAmazon S3 Metadataを触ってみた / 20250201-jawsug-tochigi-s3tables-s3metadata
kasacchiful
0
100
なぜイベント駆動が必要なのか - CQRS/ESで解く複雑系システムの課題 -
j5ik2o
7
2.5k
ファインディの テックブログ爆誕までの軌跡
starfish719
2
1.1k
Flutter × Firebase Genkit で加速する生成 AI アプリ開発
coborinai
0
150
プログラミング言語学習のススメ / why-do-i-learn-programming-language
yashi8484
0
120
『GO』アプリ バックエンドサーバのコスト削減
mot_techtalk
0
130
Grafana Loki によるサーバログのコスト削減
mot_techtalk
1
110
“あなた” の開発を支援する AI エージェント Bedrock Engineer / introducing-bedrock-engineer
gawa
11
1.8k
Pythonでもちょっとリッチな見た目のアプリを設計してみる
ueponx
1
480
Honoのおもしろいミドルウェアをみてみよう
yusukebe
1
200
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
0
180
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
40
2k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Code Reviewing Like a Champion
maltzj
521
39k
The Language of Interfaces
destraynor
156
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
175
51k
Building Your Own Lightsaber
phodgson
104
6.2k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
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# ݁ߏศར