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
680
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
680
Apple HIG 正式名称クイズ結果発表 / HIG Quiz Result
usamik26
0
230
ゆめみ大技林製作委員会の立ち上げの話 / daigirin project
usamik26
0
360
@ViewLoadingプロパティラッパの紹介と自前で実装する方法 / @ViewLoading property wrapper implementation
usamik26
0
530
これからUICollectionViewを実践活用する人のためのガイド / Guide to UICollectionView
usamik26
1
780
Xcodeとの最近の付き合い方のはなし / Approach To Xcode
usamik26
2
700
UICollectionView Compositional Layout
usamik26
0
840
Coding Swift with Visual Studio Code and Docker
usamik26
0
540
Swift Extension for Visual Studio Code
usamik26
2
1.1k
Other Decks in Programming
See All in Programming
AI Agent Tool のためのバックエンドアーキテクチャを考える #encraft
izumin5210
6
1.8k
MUSUBIXとは
nahisaho
0
130
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
210
CSC307 Lecture 05
javiergs
PRO
0
500
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
160
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
710
組織で育むオブザーバビリティ
ryota_hnk
0
170
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
Grafana:建立系統全知視角的捷徑
blueswen
0
330
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
300
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
130
LLM Observabilityによる 対話型音声AIアプリケーションの安定運用
gekko0114
2
430
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
820
Facilitating Awesome Meetings
lara
57
6.8k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Designing for Timeless Needs
cassininazir
0
130
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
92
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
380
Side Projects
sachag
455
43k
Abbi's Birthday
coloredviolet
1
4.7k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Building an army of robots
kneath
306
46k
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# ݁ߏศར