• Windows Azure 概要
• Windows Azure モバイルサービスとは
• Xamarinとは
• マルチプラットフォーム開発
• 請負の開発会社に所属
• 社名は表には出せない
• 開発内容は守秘義務があるので公開できない
• 請負の開発会社に所属
• 社名は表には出せない
• 開発内容は守秘義務があるので公開できない
• 自己紹介
• Windows Azure モバイルサービスとは
• Xamarinとは
• マルチプラットフォーム開発
クラウド プラットフォーム
物理 PaaS SaaS仮想化 IaaS
ストレージ
サーバー
ネットワーク
OS
ミドルウエア
仮想化
データ
アプリケーション
ランタイム
OS
ミドルウエア
データ
アプリケーション
ランタイムユ
ー
ザ
ー
管
理
アプリケーション
データ
仮想マシンWindows Serve...
ネットワーク
仮想
ネットワーク
トラフィック
マネージャー
コンピューティング
仮想
マシン
クラウド
サービス
Web
サイト
モバイル
サービス
開発言語
キャッシュ メディア CDN データ分析HPC 統合ID サービスバス
アプリケー...
仮想マシン
Webサイト
モバイルサービス(イチオシ)
ネットワーク
仮想
ネットワーク
トラフィック
マネージャー
コンピューティング
仮想
マシン
クラウド
サービス
Web
サイト
モバイル
サービス
開発言語
キャッシュ メディア CDN データ分析HPC 統合ID サービスバス
アプリケー...
 Windows Server と Linux のサポート
 多くの既存ワークロードを稼動可能
 オンプレミスと仮想マシンを移動可能
 Windows ベースの汎用 PaaS
 事実上無限のスケーラビリティ
 運用管理の自動化
 ...
Java (New!)
• Tomcat OR Jetty
PYTHON
PHP
• WordPressをワンクリックで実行
Ruby
 ちょっと裏技的
 Webサイトの実態はIIS
 Javaに対応したことで、
httpPlatformHandlerが追加
 詳細はしばやんさんの記事参照
 http://shiba-
yan.hatenablog.jp/entry/20140315/1...
Windows Azure 事例 (企業向けサービス)
TOYOTA が考える新たなモビリ
ティ社会・低炭素・省エネルギー
社会の実現に向けて、2015年ま
でに次世代テレマティクス向け
グローバル クラウド プラット
フォームを構築する
デジ...
Windows Azure 事例 (コンシューマーサービス)
2011年に続き、2012 年
も mixi Christmas は
Windows Azure を 採用
250万会員が集中アクセス
するクラウド向きアプリ
Docomo の動画配...
仮想マシン(無料プランなし)
Webサイト(1年無料)
モバイルサービス(1年無料)
• 自己紹介
• Windows Azure 概要
• Windows Azure モバイルサービスとは
• Xamarinとは
• マルチプラットフォーム開発
東アジアを選ぶ
• 残念ながら日本は準備中。リクエスト
中なので清き一票を!
• http://bit.ly/1hPmZVB
.NETを選ぶ
WINDWOS AZURE
モバイルサービス
認証 データ
カスタムAPI
スケジューラ
プッシュ
ログ
デバイス モバイル
サービス
.NET
ID
twitter
facebook
Google
Microsoft
開発期間の短縮
クライアントアプリ開発 サーバーサイド開発
クライアントアプリ開発 サーバーサイド開発
モバイルサービス導入前
モバイルサービス導入後
Windows Azure Mobile Services
⇒ WAMS
Windows Azure Media Servicesとかぶる
Windows Azure Mobile Services
 ZUMO(ずーも?)
動的スキーマ
.NET Framework
Git
New Relic
動的スキーマ
.NET Framework
Git
New Relic
NO SQLではない
SQL Serverにカラムが追加される
本番運用時は設定でOFFすること
が可能
動的スキーマ
.NET Framework
Git
New Relic
折り返し地点
動的スキーマ
.NET Framework
Git
New Relic
バージョン管理が可能に
サーバーにプッシュすれば即時反
映
動的スキーマ
.NET Framework
Git
New Relic
運用管理が楽に
ボトルネックの可視化
JavaScriptよりポータルで出来る
ことが減ります
VisualStudioが必須
JavaScriptよりポータルで出来る
ことが減ります
VisualStudioが必須
赤枠の部分が.NETには無い
データについてはAzure SQLで確
認可能
• ダッシュボードの右下のリンクをク
リック
• 画面下部の管理をクリック
データについてはAzure SQLで確
認可能
APIはメニューには無いがVisual
Studioから作れます
 ダウンロード出来ないプラットフォー
ムはJavaScriptから持ってくる
APIキーを確認する
URLとAPIキーを変えれば良い
JavaScriptよりポータルで出来る
ことが減ります
VisualStudioが必須
• ダウンロードしてビルドして発行する必要
があります
• バックエンドがJavaScriptの場合は不要で
す
• メンドクセーって人はJavaScriptのほうが良
いです。
• 自己紹介
• Windows Azure 概要
• Windows Azure モバイルサービスとは
• Xamarinとは
• マルチプラットフォーム開発
• 「ザマリン」と呼びます
• c#でAndroid・iOS・Windows・Macの開
発ができるプラットフォーム
Java
C#
PHP ObjC
Java
C#
PHP ObjCこんなに覚えられない!
C#
C#
C# C#
C#
C#
C# C#
これでかつる!
• AndroidはJITコンパイラで動作
• iOSはAOTコンパイラで動作
つまり、通常のアプリとまったく同じ実行形
式になります。
 1ヶ月の試用期間
があります
 サブスクリプショ
ン終了後も使用可
能
 キャンペーン中!
• 自己紹介
• Windows Azure 概要
• Windows Azure モバイルサービスとは
• Xamarinとは
• マルチプラットフォーム開発
サーバーサイド
Model
View
Controller
クライアント
WebView
肥大化
する
イベントを投げ
て表示するだけ
肥大
化する
従来のWebアプリ
クライアント
サーバーサイド
Model Controller
ViewModel
データに特
化してシン
プルに
最近のWebアプリ
View
HTML
から
データ
中心に
JSON
msgpack
View用の
Modelを追加
View...
クライアント
サーバーサイド
MBaaS
Controll
er
サーバー側は
コーディングし
ない
さらにこれからのアプリ
View
データのみ
JSON
msgpack
すべての実装がク
ライアントに集約
ViewMo
del
Model
Android Windows 8iOS
サーバーサイド
MBaaS
Control
ler
こんなことになるんじゃ?
View
JSON
msgpack
ViewM
odel
Model
Control
ler
View
ViewM
odel...
iOS
サーバーサイド
MBaaS
そこでXamarin
View
JSON
msgpack
View View
Xamarin Controller
Model
ViewModel
ロジックはXamarin
で管理して、
Viewは個別に作成
• 答えはNO
• Xamarinが共通化できるのはコアロジック
• Viewは個別に作成
iOS
View View View
Xamarin Controller
Model
ViewModel
• アプリのイベントはそれぞれのプラット
フォームで異なる
• 例えば画面表示のイベント名は違う
• Android:OnCreate
• iOS:ViewDidLoad
• Xamarinは薄いラッパーに過ぎない
各プラットフォームの
知識は必要
• 日本語入力でハングする
• ちょっと致命的。現状は他のテキストエディ
タからコピペするしかないです。
• https://bugzilla.xamarin.com/show_bug.c
gi?id=18385
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション
Upcoming SlideShare
Loading in …5
×

Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション

1,299 views

Published on

MVP Community Camp 2014 - Tohoku(エフスタ!!SENDAI 2)で発表した資料です。

http://atnd.org/event/E0023838

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,299
On SlideShare
0
From Embeds
0
Number of Embeds
281
Actions
Shares
0
Downloads
7
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide

Windows Azure と Xamarin で作るマルチプラットフォームアプリケーション

  1. 1. • Windows Azure 概要 • Windows Azure モバイルサービスとは • Xamarinとは • マルチプラットフォーム開発
  2. 2. • 請負の開発会社に所属 • 社名は表には出せない • 開発内容は守秘義務があるので公開できない
  3. 3. • 請負の開発会社に所属 • 社名は表には出せない • 開発内容は守秘義務があるので公開できない
  4. 4. • 自己紹介 • Windows Azure モバイルサービスとは • Xamarinとは • マルチプラットフォーム開発
  5. 5. クラウド プラットフォーム 物理 PaaS SaaS仮想化 IaaS
  6. 6. ストレージ サーバー ネットワーク OS ミドルウエア 仮想化 データ アプリケーション ランタイム OS ミドルウエア データ アプリケーション ランタイムユ ー ザ ー 管 理 アプリケーション データ 仮想マシンWindows Server Web サイト モバイルサービス Office 365 Dynamics CRM オンプレミス IaaS PaaS SaaS
  7. 7. ネットワーク 仮想 ネットワーク トラフィック マネージャー コンピューティング 仮想 マシン クラウド サービス Web サイト モバイル サービス 開発言語 キャッシュ メディア CDN データ分析HPC 統合ID サービスバス アプリケーション バックアップ データ管理 SQL データベース ビックデータ テーブル BLOB 世界規模のクラウド基盤 データセンター: 北米4か所、ヨーロッパ2か所、 アジア2か所にて稼働中 日本(2014年に東日本、西日本開設予定) 豪州(開設予定)、中国(中国国内から利用) CDN: 全世界に 24 カ所
  8. 8. 仮想マシン Webサイト モバイルサービス(イチオシ)
  9. 9. ネットワーク 仮想 ネットワーク トラフィック マネージャー コンピューティング 仮想 マシン クラウド サービス Web サイト モバイル サービス 開発言語 キャッシュ メディア CDN データ分析HPC 統合ID サービスバス アプリケーション バックアップ データ管理 SQL データベース ビックデータ テーブル BLOB 世界規模のクラウド基盤 データセンター: 北米4か所、ヨーロッパ2か所、 アジア2か所にて稼働中 日本(2014年に東日本、西日本開設予定) 豪州(開設予定)、中国(中国国内から利用) CDN: 全世界に 24 カ所 仮想マシン: IaaS Windows Server / Linux 選択可能 オンプレミスとの容易な連携 Webサイト: Web サイト構築専用 PaaS モバイルサービス: マルチデバイス向けアプリ用 バックエンドサービス
  10. 10.  Windows Server と Linux のサポート  多くの既存ワークロードを稼動可能  オンプレミスと仮想マシンを移動可能  Windows ベースの汎用 PaaS  事実上無限のスケーラビリティ  運用管理の自動化  Web サイト構築に最適なサービス  オープン ソース ソフトの活用  無償で開始、成長に合わせた利用  マルチデバイス向けアプリ構築に特化  Windows 8, iOS, Android に対応  開発工数を削減 仮想マシン クラウド サービス Web サイト IaaS PaaS モバイル サービス
  11. 11. Java (New!) • Tomcat OR Jetty PYTHON PHP • WordPressをワンクリックで実行 Ruby  ちょっと裏技的
  12. 12.  Webサイトの実態はIIS  Javaに対応したことで、 httpPlatformHandlerが追加  詳細はしばやんさんの記事参照  http://shiba- yan.hatenablog.jp/entry/20140315/1394 889702
  13. 13. Windows Azure 事例 (企業向けサービス) TOYOTA が考える新たなモビリ ティ社会・低炭素・省エネルギー 社会の実現に向けて、2015年ま でに次世代テレマティクス向け グローバル クラウド プラット フォームを構築する デジタル放送の未来へ備えるプ ラットフォームを Windows Azure メディア サービスで実現 NISSANディーラー マネジメントシステム (Microsoft Dynamics CRM ベース) の開発によるパートナー関係の維持 Linux ベースの学術 リポジトリ システム インターネット通販を中心に展開してきた Juliette は請求書 や納品書入力の大幅な時間短縮を実現。SQL データベース に 集積したデータをマーケティング分析に活用 高効率風力発電と太陽光発電、蓄電池 を組み合わせた最新エコ住宅を管理す るハウスマネージメントシステム 震災復興のために各府省、県、市町村と横断的 な情報連携を実施。数百の支援制度を横串検索 できる「復旧・復興支援制度データベース」を Windows Azure 上に構築 「GEOSPACE CDS」 GIS コンテンツをネット配信
  14. 14. Windows Azure 事例 (コンシューマーサービス) 2011年に続き、2012 年 も mixi Christmas は Windows Azure を 採用 250万会員が集中アクセス するクラウド向きアプリ Docomo の動画配信プラットフォームで ある、「dマーケット VIDEOストア」を ご支援 55万人の国内最大イベントで あるコミックマーケットにて 「コミケ Web Catalogue」 の構築・運用を サポート 即応性の高いクラウドベースのビッグ データ ソリューションを使用して BI 情報をすばやく 配信 PHPやUnityなどを利用 したソーシャルアプリ、 iPhone/Androidアプリ などの開発基盤として 採用 フィーチャーフォンの公式メニューや スマートフォンから利用できる デコ レーション メール サービス。 複数の映画会社と興行会社が参加する世界で も初の試みとなる、映画観賞券の前売券購入 と座席予約ができるオンライン サービス
  15. 15. 仮想マシン(無料プランなし) Webサイト(1年無料) モバイルサービス(1年無料)
  16. 16. • 自己紹介 • Windows Azure 概要 • Windows Azure モバイルサービスとは • Xamarinとは • マルチプラットフォーム開発
  17. 17. 東アジアを選ぶ • 残念ながら日本は準備中。リクエスト 中なので清き一票を! • http://bit.ly/1hPmZVB .NETを選ぶ
  18. 18. WINDWOS AZURE モバイルサービス 認証 データ カスタムAPI スケジューラ プッシュ ログ
  19. 19. デバイス モバイル サービス .NET ID twitter facebook Google Microsoft
  20. 20. 開発期間の短縮 クライアントアプリ開発 サーバーサイド開発 クライアントアプリ開発 サーバーサイド開発 モバイルサービス導入前 モバイルサービス導入後
  21. 21. Windows Azure Mobile Services ⇒ WAMS Windows Azure Media Servicesとかぶる Windows Azure Mobile Services  ZUMO(ずーも?)
  22. 22. 動的スキーマ .NET Framework Git New Relic
  23. 23. 動的スキーマ .NET Framework Git New Relic
  24. 24. NO SQLではない SQL Serverにカラムが追加される 本番運用時は設定でOFFすること が可能
  25. 25. 動的スキーマ .NET Framework Git New Relic
  26. 26. 折り返し地点
  27. 27. 動的スキーマ .NET Framework Git New Relic
  28. 28. バージョン管理が可能に サーバーにプッシュすれば即時反 映
  29. 29. 動的スキーマ .NET Framework Git New Relic
  30. 30. 運用管理が楽に ボトルネックの可視化
  31. 31. JavaScriptよりポータルで出来る ことが減ります VisualStudioが必須
  32. 32. JavaScriptよりポータルで出来る ことが減ります VisualStudioが必須
  33. 33. 赤枠の部分が.NETには無い
  34. 34. データについてはAzure SQLで確 認可能 • ダッシュボードの右下のリンクをク リック • 画面下部の管理をクリック
  35. 35. データについてはAzure SQLで確 認可能
  36. 36. APIはメニューには無いがVisual Studioから作れます
  37. 37.  ダウンロード出来ないプラットフォー ムはJavaScriptから持ってくる
  38. 38. APIキーを確認する
  39. 39. URLとAPIキーを変えれば良い
  40. 40. JavaScriptよりポータルで出来る ことが減ります VisualStudioが必須
  41. 41. • ダウンロードしてビルドして発行する必要 があります • バックエンドがJavaScriptの場合は不要で す • メンドクセーって人はJavaScriptのほうが良 いです。
  42. 42. • 自己紹介 • Windows Azure 概要 • Windows Azure モバイルサービスとは • Xamarinとは • マルチプラットフォーム開発
  43. 43. • 「ザマリン」と呼びます • c#でAndroid・iOS・Windows・Macの開 発ができるプラットフォーム
  44. 44. Java C# PHP ObjC
  45. 45. Java C# PHP ObjCこんなに覚えられない!
  46. 46. C# C# C# C#
  47. 47. C# C# C# C# これでかつる!
  48. 48. • AndroidはJITコンパイラで動作 • iOSはAOTコンパイラで動作 つまり、通常のアプリとまったく同じ実行形 式になります。
  49. 49.  1ヶ月の試用期間 があります  サブスクリプショ ン終了後も使用可 能  キャンペーン中!
  50. 50. • 自己紹介 • Windows Azure 概要 • Windows Azure モバイルサービスとは • Xamarinとは • マルチプラットフォーム開発
  51. 51. サーバーサイド Model View Controller クライアント WebView 肥大化 する イベントを投げ て表示するだけ 肥大 化する 従来のWebアプリ
  52. 52. クライアント サーバーサイド Model Controller ViewModel データに特 化してシン プルに 最近のWebアプリ View HTML から データ 中心に JSON msgpack View用の Modelを追加 Viewが サーバーからクラ イアントへ移動
  53. 53. クライアント サーバーサイド MBaaS Controll er サーバー側は コーディングし ない さらにこれからのアプリ View データのみ JSON msgpack すべての実装がク ライアントに集約 ViewMo del Model
  54. 54. Android Windows 8iOS サーバーサイド MBaaS Control ler こんなことになるんじゃ? View JSON msgpack ViewM odel Model Control ler View ViewM odel Model Control ler View ViewM odel Model
  55. 55. iOS サーバーサイド MBaaS そこでXamarin View JSON msgpack View View Xamarin Controller Model ViewModel ロジックはXamarin で管理して、 Viewは個別に作成
  56. 56. • 答えはNO • Xamarinが共通化できるのはコアロジック • Viewは個別に作成 iOS View View View Xamarin Controller Model ViewModel
  57. 57. • アプリのイベントはそれぞれのプラット フォームで異なる • 例えば画面表示のイベント名は違う • Android:OnCreate • iOS:ViewDidLoad • Xamarinは薄いラッパーに過ぎない
  58. 58. 各プラットフォームの 知識は必要
  59. 59. • 日本語入力でハングする • ちょっと致命的。現状は他のテキストエディ タからコピペするしかないです。 • https://bugzilla.xamarin.com/show_bug.c gi?id=18385

×