SlideShare ist ein Scribd-Unternehmen logo
1 von 25
アプリケーション・デベロッパー
Xamarinによるクロスプラットフォーム開発
Daiki KAWANUMA
CbD Migration Factory, Cloud Application Migration Service
2018/04/14 IBM Way Day
本資料は私自身の見解であり、必ずしも所属組織の立場、戦略、
意見を代表するものではありません.
川沼 大輝
プロジェクト: 銀行様の Open API開発
スキルセット: Cloud, Mobile, .NET
JXUGC #17
@Microsoft
CbD Migration Factory
1. モバイルアプリについて
Webアプリ モバイルアプリ
今日はモバイルアプリの話をします
ブラウザ
(SafariとかChrome)
で見るやつ
LINEみたいに
アプリになってるやつ
モバイルOSと言えば…
iOS
55.2%
Android
44.8%
2017/12, kantarworldpanel.com調べ
日本のモバイルOSシェアは?
Android
68.4%
iOS
30.6%
2017/12, Net Applications調べ
世界のモバイルOSシェアは?
【参考】Android が売れているわけ
この数字からわかること
• 片方の OS しかリリースしないと
半数近くの潜在ユーザーを失う
両方リリースしたら
いいじゃない!!
開発言語 Swift, Objective-C Java, Kotlin
開発環境 Xcode Android Studio
iOS と Android の違い
iOS, Android それぞれ実装しなくてはならず、2つ分の工数が必要
百聞一見に如かず
プチ・ライブコーディング
2. クロスプラットフォーム開発
〜iOS と Android を共通化する〜
2つのOSの違いがわかったところで、今回のアプリの
要件はどうだったか
① OS 要件
⇨ 新入社員の全員が使えなければならないので当然両OS対応
② 期間の制約
⇨ プロジェクト業務時間外の約1ヶ月で完成させなければならない
③ アプリの規模
⇨ そこそこ大きめのアプリ(結果的に画面数は16画面、 7,200行)
一番の問題はなにか
① OS 要件
=> 新入社員の全員が使えなければならないので当然両OS対応
iOS, Android のどちらかだったらなんとかなる
⇨ 2つの OS を統合開発できる Xamarin
3. Xamarin
Xamarinとは
• Microsoft のクロスプラットフォーム開発環境
• iOSアプリ(Xamarin.iOS)
• Androidアプリ(Xamarin.Android)
• macOSアプリ(Xamarin.Mac)
• Windows(UWP) アプリ
• .NET Framework, C# を用いてコーディングする
開発環境 Xcode Android Studio
C#
Visual Studio
iOS, Android 2つ分の工数が必要
共通化することで
約半分の工数で実装可能
開発言語 Swift, Objective-C Java, Kotlin
iOS と Android の違い
共通化範囲
UI の共通化
ロジックの共通化
UI の共通化
ProfileView.xaml
⇦ API 呼び出し部分を
共通化(C#)
ロジックの共通化
IbmWayDayClient.cs
FriendDetailPageViewModel.cs
⇦ データ初期化部分を
共通化(C#)
少しだけソースコードを
覗いてみる
Xamarin はいいぞ!
GitHub にソースコード公開 JXUG コミュニティーもよろしく!

Weitere ähnliche Inhalte

Was ist angesagt?

Xamarin の概要と活用事例
Xamarin の概要と活用事例Xamarin の概要と活用事例
Xamarin の概要と活用事例Yoshito Tabuchi
 
Computer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたComputer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたYoshito Tabuchi
 
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Yoshito Tabuchi
 
Xamarin の特徴と開発手法概要
Xamarin の特徴と開発手法概要Xamarin の特徴と開発手法概要
Xamarin の特徴と開発手法概要Yoshito Tabuchi
 
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へXamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へYoshito Tabuchi
 
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方20171202 Xamarinの歩き方
20171202 Xamarinの歩き方Yoshito Tabuchi
 
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめにJXUGC 13 東京 はじめに
JXUGC 13 東京 はじめにYoshito Tabuchi
 
めとべや東京5_XAML
めとべや東京5_XAMLめとべや東京5_XAML
めとべや東京5_XAML一希 大田
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話Takuya Kikuchi
 
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜Shinichi Hirauchi
 
Realm Mobile Platform 概要
Realm Mobile Platform 概要Realm Mobile Platform 概要
Realm Mobile Platform 概要Yoshito Tabuchi
 
Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発Tsukasa Kato
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン一希 大田
 
Xamarin 基礎講座 2016年7月版
Xamarin 基礎講座 2016年7月版Xamarin 基礎講座 2016年7月版
Xamarin 基礎講座 2016年7月版Yoshito Tabuchi
 
Prism.Formsについて
Prism.FormsについてPrism.Formsについて
Prism.Formsについて一希 大田
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法Yoshito Tabuchi
 
ちょっとエモい話
ちょっとエモい話ちょっとエモい話
ちょっとエモい話Yoshito Tabuchi
 

Was ist angesagt? (20)

Xamarin の概要と活用事例
Xamarin の概要と活用事例Xamarin の概要と活用事例
Xamarin の概要と活用事例
 
Xamarin 概要
Xamarin 概要Xamarin 概要
Xamarin 概要
 
Computer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみたComputer Vision と Translator Text API 使ってみた
Computer Vision と Translator Text API 使ってみた
 
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
Xamarin 概要~Windows Embedded の業務用端末から Android へのシームレスな移行~
 
Xamarin の特徴と開発手法概要
Xamarin の特徴と開発手法概要Xamarin の特徴と開発手法概要
Xamarin の特徴と開発手法概要
 
Xamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へXamarinをこれから始める皆様へ
Xamarinをこれから始める皆様へ
 
20171202 Xamarinの歩き方
20171202 Xamarinの歩き方20171202 Xamarinの歩き方
20171202 Xamarinの歩き方
 
JXUGC 13 東京 はじめに
JXUGC 13 東京 はじめにJXUGC 13 東京 はじめに
JXUGC 13 東京 はじめに
 
Xamarin概要
Xamarin概要Xamarin概要
Xamarin概要
 
めとべや東京5_XAML
めとべや東京5_XAMLめとべや東京5_XAML
めとべや東京5_XAML
 
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話Win/Mac/Android/iOS向けクロスプラットフォーム開発にXamarinがうまくハマりそうだった話
Win/Mac/Android/iOS向け クロスプラットフォーム開発にXamarinが うまくハマりそうだった話
 
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
ソフト屋が挑戦した電子工作 〜力ずくの10か月〜
 
Xamarinの歩き方
Xamarinの歩き方Xamarinの歩き方
Xamarinの歩き方
 
Realm Mobile Platform 概要
Realm Mobile Platform 概要Realm Mobile Platform 概要
Realm Mobile Platform 概要
 
Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発Xamarin.forms+azureで始めるモバイル開発
Xamarin.forms+azureで始めるモバイル開発
 
Xamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターンXamarin.Forms アプリケーション 設計パターン
Xamarin.Forms アプリケーション 設計パターン
 
Xamarin 基礎講座 2016年7月版
Xamarin 基礎講座 2016年7月版Xamarin 基礎講座 2016年7月版
Xamarin 基礎講座 2016年7月版
 
Prism.Formsについて
Prism.FormsについてPrism.Formsについて
Prism.Formsについて
 
Xamarin概要と活用方法
Xamarin概要と活用方法Xamarin概要と活用方法
Xamarin概要と活用方法
 
ちょっとエモい話
ちょっとエモい話ちょっとエモい話
ちょっとエモい話
 

Ähnlich wie アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜

スマートフォンアプリ開発の傾向とBaaSの活用
スマートフォンアプリ開発の傾向とBaaSの活用スマートフォンアプリ開発の傾向とBaaSの活用
スマートフォンアプリ開発の傾向とBaaSの活用大介 秋本
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3shimay
 
Xamarin ハンズオン Android の部
Xamarin ハンズオン Android の部Xamarin ハンズオン Android の部
Xamarin ハンズオン Android の部m ishizaki
 
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-Takaaki Suzuki
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方Mori Ken
 
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネントXamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネントMasuda Tomoaki
 
Xamarin.Android ハンズオン 2018/11
Xamarin.Android ハンズオン 2018/11Xamarin.Android ハンズオン 2018/11
Xamarin.Android ハンズオン 2018/11m ishizaki
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略Developers Summit
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Saiki Iijima
 
Metroアプリの作り方 (COD2012)
Metroアプリの作り方 (COD2012)Metroアプリの作り方 (COD2012)
Metroアプリの作り方 (COD2012)Yasuhiko Yamamoto
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスアシアル株式会社
 
androidアプリの狙い所と事例|ビヨンド株式会社
androidアプリの狙い所と事例|ビヨンド株式会社androidアプリの狙い所と事例|ビヨンド株式会社
androidアプリの狙い所と事例|ビヨンド株式会社Katsuaki Sato
 
Androidが変えたもの
Androidが変えたものAndroidが変えたもの
Androidが変えたものYuki Yamakido
 
サイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオサイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオCRI Japan, Inc.
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワークKaz Furukawa
 
Hotサービスの傾向
Hotサービスの傾向Hotサービスの傾向
Hotサービスの傾向Eiji Kuroda
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解Monaca
 

Ähnlich wie アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜 (20)

スマートフォンアプリ開発の傾向とBaaSの活用
スマートフォンアプリ開発の傾向とBaaSの活用スマートフォンアプリ開発の傾向とBaaSの活用
スマートフォンアプリ開発の傾向とBaaSの活用
 
20110824 android apps_endo
20110824 android apps_endo20110824 android apps_endo
20110824 android apps_endo
 
アンドロイド勉強会第二回 080525 3
アンドロイド勉強会第二回  080525 3アンドロイド勉強会第二回  080525 3
アンドロイド勉強会第二回 080525 3
 
20110824 android apps_endo
20110824 android apps_endo20110824 android apps_endo
20110824 android apps_endo
 
20110824 android apps_endo
20110824 android apps_endo20110824 android apps_endo
20110824 android apps_endo
 
Xamarin ハンズオン Android の部
Xamarin ハンズオン Android の部Xamarin ハンズオン Android の部
Xamarin ハンズオン Android の部
 
Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-Universal Appとは? -デバイスに依存しないアプリケーション開発-
Universal Appとは? -デバイスに依存しないアプリケーション開発-
 
ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方ROSによる今後のロボティクスのあり方
ROSによる今後のロボティクスのあり方
 
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネントXamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
Xamarinで作るiPhoneとwindowsストアアプリの共通コンポーネント
 
Xamarin.Android ハンズオン 2018/11
Xamarin.Android ハンズオン 2018/11Xamarin.Android ハンズオン 2018/11
Xamarin.Android ハンズオン 2018/11
 
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
【17-A-1】Mobile Future Conference開会のご挨拶/世界へ挑むDeNAの「X-border」「X-device」戦略
 
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
Androidをやっただけで iOSアプリもできればいいのに 〜MOEという選択〜
 
Metroアプリの作り方 (COD2012)
Metroアプリの作り方 (COD2012)Metroアプリの作り方 (COD2012)
Metroアプリの作り方 (COD2012)
 
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンスHTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
HTML5によるモバイルアプリ開発 が拓拓くビジネスチャンス
 
androidアプリの狙い所と事例|ビヨンド株式会社
androidアプリの狙い所と事例|ビヨンド株式会社androidアプリの狙い所と事例|ビヨンド株式会社
androidアプリの狙い所と事例|ビヨンド株式会社
 
Androidが変えたもの
Androidが変えたものAndroidが変えたもの
Androidが変えたもの
 
サイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオサイネージを使う顧客創出のシナリオ
サイネージを使う顧客創出のシナリオ
 
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
非エンジニアのためのIT勉強会 ハイブリッドフレームワーク
 
Hotサービスの傾向
Hotサービスの傾向Hotサービスの傾向
Hotサービスの傾向
 
HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解HTML5 クロスプラットフォームアプリ開発の現実解
HTML5 クロスプラットフォームアプリ開発の現実解
 

アプリケーション・デベロッパー 〜Xamarinによるクロスプラットフォーム開発〜