Submit Search
Upload
Xamarin.Mac をこれからはじめるあなたへ
•
12 likes
•
14,635 views
T
Tsubasa Hirano
Follow
JXUG #4での発表。 50分では到底収まらなかった。 サンプルコードを追加してあります。
Read less
Read more
Software
Report
Share
Report
Share
1 of 42
Download now
Download to read offline
Recommended
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
Shinichi Hirauchi
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~
Fujio Kojima
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
Xamarin の救世主 Unity !
Xamarin の救世主 Unity !
Tatsuji Kuroyanagi
Recommended
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
iOS の動画アプリ開発に Xamarin を使ってみた @JXUG #2 East
irgaly
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Xamarin de:code セッション:Windows Phone / iOS / Android アプリ同時開発のススメ
Yoshito Tabuchi
Xamarin.formsでのmvvm利用のコツ
Xamarin.formsでのmvvm利用のコツ
Masuda Tomoaki
Xamarin で今日から始めるクロスプラットフォーム開発
Xamarin で今日から始めるクロスプラットフォーム開発
友太 渡辺
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
この辺でXamarin導入による 効果と限界をしっかり把握してみよう MVP Community Camp 2015
Shinichi Hirauchi
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~
Xamarin ~ iOS/Android/Windows アプリをC# で作ろう~
Fujio Kojima
Visual Studio + xamarin で始めるモバイル アプリ開発
Visual Studio + xamarin で始めるモバイル アプリ開発
インフラジスティックス・ジャパン株式会社
Xamarin の救世主 Unity !
Xamarin の救世主 Unity !
Tatsuji Kuroyanagi
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
Hironov OKUYAMA
Xamarin Overview
Xamarin Overview
Madoka Chiyoda
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
Xamarin 概要 2015年5月版
Xamarin 概要 2015年5月版
Yoshito Tabuchi
Xamarin 101 ~環境構築からビルド・テストまで~
Xamarin 101 ~環境構築からビルド・テストまで~
Masaki Takeda
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Fujio Kojima
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
Visual Studio 2015 + Xamarin
Visual Studio 2015 + Xamarin
ShinichiAoyagi
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Akira Onishi
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
BoxViewの美味しい食べ方
BoxViewの美味しい食べ方
Shinichi Hirauchi
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
Ken Morishita
MVVM入門
MVVM入門
Kazutoshi Urabe
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
Daiki Kawanuma
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Yoshito Tabuchi
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
More Related Content
What's hot
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
Hironov OKUYAMA
Xamarin Overview
Xamarin Overview
Madoka Chiyoda
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
一希 大田
Xamarin 概要 2015年5月版
Xamarin 概要 2015年5月版
Yoshito Tabuchi
Xamarin 101 ~環境構築からビルド・テストまで~
Xamarin 101 ~環境構築からビルド・テストまで~
Masaki Takeda
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Fujio Kojima
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Tatsuji Kuroyanagi
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Yoshito Tabuchi
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
ShinichiAoyagi
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
ShinichiAoyagi
Visual Studio 2015 + Xamarin
Visual Studio 2015 + Xamarin
ShinichiAoyagi
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Yuta Matsumura
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Akira Onishi
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
Hiroshi Maekawa
BoxViewの美味しい食べ方
BoxViewの美味しい食べ方
Shinichi Hirauchi
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
Ken Morishita
MVVM入門
MVVM入門
Kazutoshi Urabe
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
Ken Morishita
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
Daiki Kawanuma
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
U-dai Yokoyama
What's hot
(20)
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin によるクロスプラットフォームモバイルアプリ開発
Xamarin Overview
Xamarin Overview
Prism + ReactiveProperty入門
Prism + ReactiveProperty入門
Xamarin 概要 2015年5月版
Xamarin 概要 2015年5月版
Xamarin 101 ~環境構築からビルド・テストまで~
Xamarin 101 ~環境構築からビルド・テストまで~
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Windows アプリケーション開発はじめに ~ Windows アプリケーション開発初学者の方向けVisual Studio を使ったアプリケーショ...
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
Xamarin で Prism を使いたい! ~「正式対応」 まで待てない人のための Prism 利用 Tips~
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
C#でのクロスプラットフォーム モバイル開発環境 Xamarin のご紹介
Xamarin+MVVMCross のあれこれ
Xamarin+MVVMCross のあれこれ
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
“なめらか”なメトロスタイルアプリを作るために ~WinRT の非同期性を活用したアプリ開発~
Visual Studio 2015 + Xamarin
Visual Studio 2015 + Xamarin
いまさら学ぶMVVMパターン
いまさら学ぶMVVMパターン
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
Xamarin + Visual Studio によるマルチプラットフォーム対応アプリ開発 - iOS, Android, Windows に対応しよう
塹壕よりLivetとMVVM
塹壕よりLivetとMVVM
BoxViewの美味しい食べ方
BoxViewの美味しい食べ方
iOSやAndroidアプリ開発のGoodPractice
iOSやAndroidアプリ開発のGoodPractice
MVVM入門
MVVM入門
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い
ゆるふわ Xamarin Tips
ゆるふわ Xamarin Tips
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
MVPパターンによる設計アプローチ「あなたのアプリ報連相できてますか」
Viewers also liked
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Yoshito Tabuchi
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Yoshito Tabuchi
前略,Xamarin.Mac使いより
前略,Xamarin.Mac使いより
Tsubasa Hirano
Xamarin.forms入門
Xamarin.forms入門
一希 大田
20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門
Shinichi Hirauchi
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
Yoshito Tabuchi
Xamarin 基礎講座
Xamarin 基礎講座
Yoshito Tabuchi
XAML入門
XAML入門
一希 大田
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へ
Yoshito Tabuchi
Xamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれ
Tomohiro Suzuki
Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements
Pine River
Formación continua online para profesores de idiomas
Formación continua online para profesores de idiomas
Net-Learning - Soluciones para E-learning
Cult Marketing - Instameet
Cult Marketing - Instameet
Rajath D M
Br20,br30 ,br40 led light
Br20,br30 ,br40 led light
Luminhome Lighting
Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017
RAFI SECURITIES (PVT.)LTD.
Filippo, Plain simple reality of entropy
Filippo, Plain simple reality of entropy
PacSecJP
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
Conferencia Sindrome Metabolico
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics
文献調査をどのように行うべきか?
文献調査をどのように行うべきか?
Yuichi Goto
Viewers also liked
(19)
10分でわかる無料になったXamarin
10分でわかる無料になったXamarin
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
Xamarin 概要 @ 「Xamarin」って何? Wエバンジェリストによる特濃「Xamarin」勉強会 Rev2
前略,Xamarin.Mac使いより
前略,Xamarin.Mac使いより
Xamarin.forms入門
Xamarin.forms入門
20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
Xamarin 基礎講座
Xamarin 基礎講座
XAML入門
XAML入門
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へ
Xamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれ
Fri. March 24th Pine River Announcements
Fri. March 24th Pine River Announcements
Formación continua online para profesores de idiomas
Formación continua online para profesores de idiomas
Cult Marketing - Instameet
Cult Marketing - Instameet
Br20,br30 ,br40 led light
Br20,br30 ,br40 led light
Distribution and ex dividend dates-upto 22 mar-2017
Distribution and ex dividend dates-upto 22 mar-2017
Filippo, Plain simple reality of entropy
Filippo, Plain simple reality of entropy
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
El polimorfismo 894G>T en el gen NOS3 y su relación con prehipertensión en po...
Searchmetrics eCommerce Ranking Factors Online Workshop
Searchmetrics eCommerce Ranking Factors Online Workshop
文献調査をどのように行うべきか?
文献調査をどのように行うべきか?
Similar to Xamarin.Mac をこれからはじめるあなたへ
Building Silverlight Large Scale Application Using MVVM
Building Silverlight Large Scale Application Using MVVM
Shotaro Suzuki
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
Atsushi Tadokoro
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Yoshito Tabuchi
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
Midori Oge
PhoneGap勉強会 - 実践編 -
PhoneGap勉強会 - 実践編 -
Katsumi Onishi
Android起動周りのノウハウ
Android起動周りのノウハウ
chancelab
Xamarin.iOS
Xamarin.iOS
Kosuke Usami
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
Masahito Zembutsu
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
Android sdk manual_1.02
Android sdk manual_1.02
Tomohiro Kondo
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
Kaz Aiso
ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
Midori Oge
RAD Studio勉強会@大阪 「スマートデバイスで簡易画面署名 etc (iOS / Android 、 IntraWeb)」
RAD Studio勉強会@大阪 「スマートデバイスで簡易画面署名 etc (iOS / Android 、 IntraWeb)」
yoshiwara
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
Atsushi Tadokoro
RoboVM
RoboVM
Satoshi Takami
StackStorm MeetupJP #11
StackStorm MeetupJP #11
Ohyama Hiroyasu
StackStorm MeetupJP #11
StackStorm MeetupJP #11
Ohyama Hiroyasu
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
Tomoaki Shimizu
mobylet ケータイサイト30分クッキング
mobylet ケータイサイト30分クッキング
Shin Takeuchi
Openshift 20191128
Openshift 20191128
Yasushi Osonoi
Similar to Xamarin.Mac をこれからはじめるあなたへ
(20)
Building Silverlight Large Scale Application Using MVVM
Building Silverlight Large Scale Application Using MVVM
メディア・アート II 第1回: ガイダンス openFrameworks入門
メディア・アート II 第1回: ガイダンス openFrameworks入門
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
Xamarin 20141212 モバイルカフェスペシャル 「C#で作るiOS/Androidのクロスプラットフォームスマホアプリ開発」
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
NTTコミュニケーションズ Cloudn勉強会資料 SDKでAPIをたたいてみよう
PhoneGap勉強会 - 実践編 -
PhoneGap勉強会 - 実践編 -
Android起動周りのノウハウ
Android起動周りのノウハウ
Xamarin.iOS
Xamarin.iOS
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
"NAZE? NANI? CloudStack" on OSC Sendai 2011 / May 21 2011
Android sdk manual_1.02
Android sdk manual_1.02
Android sdk manual_1.02
Android sdk manual_1.02
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
DELPHI BOOT CAMP / DELPHIでビジュアル開発に挑戦しよう ◆ DAY2: DELPHIでUI設計のポイントを学ぼう
ApacheCloudstack4.1最新情報ver2
ApacheCloudstack4.1最新情報ver2
RAD Studio勉強会@大阪 「スマートデバイスで簡易画面署名 etc (iOS / Android 、 IntraWeb)」
RAD Studio勉強会@大阪 「スマートデバイスで簡易画面署名 etc (iOS / Android 、 IntraWeb)」
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
BNN CAMP vol.3 インタラクションデザインの現在―プログラミング初心者のためのopenFrameworks入門 1
RoboVM
RoboVM
StackStorm MeetupJP #11
StackStorm MeetupJP #11
StackStorm MeetupJP #11
StackStorm MeetupJP #11
Cocos2d-x公開講座 in 鹿児島
Cocos2d-x公開講座 in 鹿児島
mobylet ケータイサイト30分クッキング
mobylet ケータイサイト30分クッキング
Openshift 20191128
Openshift 20191128
Xamarin.Mac をこれからはじめるあなたへ
1.
Xamarin.Mac を これからはじめるあなたへ 2015/04/11 #JXUG Tsubasa
HIRANO - @ailen0ada
2.
Self introduction 平野 翼
- @ailen0ada 映像ポストプロダクション WPF + Xamarin.Mac が主戦場 Cocoa での開発は卒業研究で少しやった程度
3.
ポスプロ is 何(ざっくり) 撮影現場から先,全ての工程が業務範囲です 編集=画つなぎ,色補正,合成… 納品=放送,Blu-ray,配信,アーカイブ… 企画
撮影 編集 納品 業務範囲
4.
Agenda 1. Introduction 2. Xamarin.Mac
をはじめる準備 3. Xamarin.Mac で Hello, world 4. Mac らしい挙動をさせる 5. フレームワークを使ってみる 6. まとめと今後
5.
導入前に知りたかった情報を 中心にお届けします 使い方ガイドではなく、 足を踏み入れるためのとっかかりとして
6.
Introduction Xamarin.Mac とはなにか、導入に至った経緯
7.
Xamarin.Mac • ネイティブ Mac
アプリケーションを C#/F# で書ける!! Windows UI MacOSX UI C#/F# Shared Code
8.
どれぐらい共通化できる? 体感4割ちょっと、工数はそれなりにかかる ビュー ファイルハンドリング 通信 ビュー ビュー ファイルハンドリング 通信 ファイルハンドリング 通信 Windows Mac Linux ビュー ファイルハンドリング 通信 ビュー ビュー Windows Mac Linux ビューのコード量がそれなりにある場合が多い
9.
Unified API • もうすぐXamarin.Mac
2.0として安定版リリース • iOS とのランタイム共通化、64bit 対応 • iOS の Unified API はすでに Stable • そちらの実装 - SGen, NewRefCount etc. を Mac側に輸入している段階 • OSX 10.6 SnowLeopard はサポート対象外に
10.
MonoMac ではだめ? • サポートされているAPIレベルが違う •
MonoMac は10.6相当くらい • Xamarin.Mac は最新に追従 • Mono ランタイムをバンドルできない • ここがクリアできるならMonoMacでもいい かも • Unified API 対応はもちろんない
11.
導入に至った経緯
12.
ひしめくプラットフォーム • 使用者のリテラシーも異なれば文化もまるで違う • マシン、使いどころによりファイルシステムもバラバラ •
NTFS, HFS+, ext4, exFAT, xfs, LTFS… • NFSでつないだりSMBでつないだり • ファイル取り扱いの印象 • しっかり←Win < Linux < (断絶)< Mac→ゆるふわ
13.
導入まで • 各プラットフォーム間の差異をできる限り少な い工数で吸収できることが求められた • Java,
Qt, Python, C++ を検討 • VisualStudio の生産性が決め手 • 開発者は3名なので障壁は低かった • デスクトップ開発は私だけになりつつあった
14.
Xamarin.Mac をはじめる準備 必要なものと注意点
15.
準備するもの • Mac -
52,800円から • Apple Mac Developer Program - 10,800円 • Xamarin.Mac Subscription - 月額25ドルから • コード署名用の証明書 - 無料 • 投げ出さない気持ち
16.
証明書について • Developer ID
Application App Store外で配布する際の証明書 Xcodeでは今発行できない様子 • 3rd Party Mac Developer Application (Mac App Distribution) App Store への公開に必要 Appleが再署名するまでアプリケーションは起動不可
17.
Business subscription • VisualStudio
って… • われわれにはXamarin Studioがあります。大丈夫です。 • 社内向けの配布って… • それはiOSのEnterprise Programの話です。 Macにはありません(必要もありません)。 • Xamarin.Forms って… • もしかして:Eto.Forms
18.
クリーンなXamMac環境を得る 1. Xcode 2. 証明書 3.
Mono MDK 4. Xamarin Studio 5. Xamarin.Mac iOS も Android もいない 美しい世界へ
19.
Hello, Xamarin.Mac なにはともあれ Hello,
world
20.
ウィンドウが表示されるまで 1.Main @ Main.cs 集約例外処理はここ 2.DidFinishLaunching
@ AppDelegate アセンブリ読み込み完了=DIとかの登録タイミング 3.AwakeFromNib @ controller UI初期化 コントロールへの操作が可能に 4.WindowDidLoad @ controller 表示された アニメーションをはじめる
21.
Mac らしい挙動をさせる 最低限求められそうなもの
22.
Mac らしさはなぜ必要? A. ユーザーのUIに対する期待が違うから! ※当社比 期待度
大 期待度 小 今回はこんな感じなのね… 無理にUIつけなくてもいいよ、動けば おっなんか華やかでかっこいい やることがわかりやすいのがいいな Finder ではこう見えるじゃん? メニューのこれはなんで動かないの? Safariのアレっぽくならない?( )
23.
Mac っぽさはどこから? https://developer.apple.com/library/mac/documentation/UserExperience/ Conceptual/OSXHIGuidelines/index.html
24.
見えてきた傾向 • Mac はガイドラインに則っているものが多い •
初見でもなんとなくなんとかなる • Windows のUIはOSレベルでもアプリレベルでも 多種多様に変化を遂げてきた • ユーザーも「いろんなやつがいる」ことに寛容 • Linux ベースシステムの業務で使用するアプリは 独自のUIを実装することが多い
25.
Mac っぽい挙動のいくつか • ウィンドウを閉じたとき •
シート • 通知センター • アニメーション
26.
AppDelegateで抑えるポイント • アプリケーションの動作を規定する • ApplicationShouldTerminate ユーザーが終了を要求した。キャンセルと延期が可能 •
DidFinishLaunching 起動完了、ウィンドウを表示する準備ができた • ApplicationShouldTerminateAfterLastWindowClosed 最後のウィンドウを閉じた時の動作 • ApplicationShouldHandleReopen Dockアイコンを再度クリックされた時など
27.
シート • アラート • NSAlert
を作る • RunSheetModal or BeginSheetForResponse • ウィンドウ • Window with Controllerを作る • VisibleAtLaunch を外しておく • StopModal まで状態維持 or CloseWindowを定義して 呼び出し側から閉じる or TaskCompletionSource
28.
NSAlert as sheet using(var
alert = new NSAlert()) { alert.MessageText = “タイトル”; alert.InformativeText = “メッセージテキスト”; alert.RunSheetModal(); } Qiita: NSAlert編 Qiita: NSWindow編 Qiita: FileDialog編
29.
通知センター • NSUserNotification • 10.8
以降 要バージョンチェック • 通知時間、表示期間、クリック時の動作 • DidActivateNotification, DidDeliverNotification • NSUserNotificationCenter • 表示を予約する感じ
30.
NSNotification sample public static
void Raise(string message, string title){ var not = new NSUserNotification (); not.Title = title; not.InformativeText = message; not.Subtitle = DateTime.Now.ToShortDateString (); not.DeliveryDate = NSDate.Now; var center = NSUserNotificationCenter.DefaultUserNotificationCenter; center.DidActivateNotification += (s,e ) => //クリックされた center.ShouldPresentNotification = (c, n) => true; // 表示を継続 center.ScheduleNotification (not); }
31.
フレームワークを使ってみる 深くはやりません
32.
ReactiveUI
33.
ReactiveUI • MVVM +
Rx で見通しはすごくいい • ドキュメントもしっかり,ユーザーも多い • Xamarin.Mac では様々なおまじないが必要 • おおむねNull回避, Reflection.TargetInvocationException回避
34.
Gtk# WPF Xamarin.Mac UI library w/Eto.Forms Core Business logic Xamarin.iOS Xamarin.Android Xaml Eto.Forms A
cross platform desktop/mobile user interface framework by Curtis Wensley, Vivek Jhaveri - BSD like license As you like System Eto Eto.Forms Eto.Drawing System Eto.Forms WIP
35.
Eto.Forms • コード量は一番少なくて済む • 各PFでやることはそのPFに合った方法で立ち上げ るだけ •
カスタムコントロール・プラットフォームごとのスタ イルも定義可能 • Gtk# 対応のせいでバンドルできない • Gtk2, Gtk3両対応しててアセンブリ名が被る • UI構築は Write & Pray
36.
まとめ ハマりどころと今後の展望
37.
導入効果のあるところ • C#/F# で書いた資産をうまく使い回したい •
素早くMacアプリケーションを書きたい • Xamarin Studio の生産性は Xcode より高い • アプリケーション配布の手間を減らしたい
38.
導入してからの変化 • Model =
ビジネスロジックを各PFで動くよう 意識して書くようになった • テストの時間・コード量が増大した • プラットフォームごとに実行 • Windows / Mac どちらから開発しても翌週に は同じことができる体制に
39.
Mono ≠ .NET
の再確認 • 同様の動作をすると「期待」できるだけ • ユニットテストは全プラットフォームで • Windows, Mac • Linux はディストロごとに • どうにもならなければサポートに投げる • Businessならメールで問い合わせ可能
40.
Xamarin.Mac 2.0 • Available
during summer. • Unified API対応 SGen, New Ref Count • Trial 対応 • モバイルプロファイル追加 • 名前空間をiOSと統一 などなど • OSX 10.6 がサポート対象外に • StoryBoard は未対応 • Alpha channel で入手可能
41.
まとめ • Xamarin.Mac は業務にがっつり導入して問題ないレベル にこなれてきている •
Win/Mac のデスクトップアプリケーション開発で高い生 産性を発揮できる • フレームワークを使えばさらに共通化部分が増える • ユーザー数も着々と増えている(と思う) • フォーラムは要チェック
42.
参考 • Xamarin.Mac -
Advanced Topics APIデザインやネイティブバインディング,例外の見方など http://developer.xamarin.com/guides/mac/advanced_topics/ • Mac Samples ADCのサンプル移植がほとんど C#っぽくないコードはそのせい https://developer.xamarin.com/samples/mac/all/ • ReactiveUI http://reactiveui.net/ • Eto.Forms https://github.com/picoe/Eto/
Download now