Microsoft MVP ComCamp – Webcast 1st round.
Universal Appとは?- デバイスに依存しないアプリケーション開発 -
Today’s goal
今後の展望背景 トレンド 開発方法
Name
鈴木 孝明
Twitter Account
@xin9le
Award
Microsoft MVP for Visual C#
Web Site
http://xin9le.net
About Me
デバイス非依存なアプリケーションの必要性
背景
様々なデバイスの登場
多様な画面サイズ
PhoneTabletPC
加速する IoT (Internet of Things)
モノとネットの融合
さらに広がるIT
Apple Watch
Google Glass
別端末でも同一のサービスを提供
モバイルとビジネスの融合
既存サービスの活用
注目されるBYOD (個人端末活用)
個人所有のデバイスはバラバラ
企業側のコスト削減 2台持ち不要
効率的な業務の遂行
モバイル開発のアプローチ
リッチな体験
Cross-platform apps
Universal Windows apps
Browser-based apps
クロスプラットフォームなモバイルアプリケーション開発
対象プラットフォームiOS / Android / Mac
Xamarinの中身ネイティブAPIのC#ラッパー + 基本クラスライブラリ (BCL) 群
上記プラットフォームで動作する.NET環境
Xamarinとは
開発プラットフォーム
Native UIC# + AXML
Native UIC# + XAML
Native UIC# + XIB
コード共有
統合された開発環境
ネイティブ API カバー率 100%Xamarin.iOS Xamarin.Android
Xamarin.AndroidXamarin.iOS
アプリのビルド
Xamarin.Forms
ネイティブ実行
ひとつのC#コード
主要な3つのMobilePlatform
40以上のコントロール
製品 グレード 価格 (1ユーザー/年)
Xamarin.AndroidBusiness ¥127,800
Enterprise ¥243,000
Xamarin.iOSBusiness ¥127,800
Enterprise ¥243,000
Xamarin.MacBusiness ¥127,800
Enterprise ¥243,000
価格
http://www.xlsoft.com/jp/products/xamarin/price.html
オンライン講座
http://xamarin.com/university
製品ダウンロード
http://xamarin.com/download
さあ、Xamariましょう
Windowsデバイスにおけるプラットフォームを超えたアプリケーション構築
Univarsal Windows App
各社のモバイル展開アプローチ
対象プラットフォームWindowsストアアプリ / Windows Phone / Xbox One※
コード共有による開発生産性を提供ロジックやコントロール、アセット等を共有
デバイスごとに発生していた開発/保守コストを削減
Universal Windows Appとは
※ 将来的にできるようになる予定だが、対応時期などは未発表
Shared Project
3つのプロジェクト構成
デバイス用からSharedを参照
Xamarinでも利用可能
プログラミングモデル
Windows 9でRT / Phoneが統合される予定
Web技術をベースにしたハイブリッド型のモバイルアプリ開発
対象プラットフォームiOS / Android / Windows Phone
Web技術を利用各デバイスのブラウザで描画
ネイティブAPIのJavaScriptラッパー
Apache Cordovaとは
HTML | CSS
JavaScript | TypeScript
プログラミングモデル
プラットフォームを超えたコードの再利用
再利用性の追求
Portable Class Library
Windows Phone Windows Store Apps
.NET Framework
複数環境でコード共有
XamarinSilverlightXboxなども可
MVVM (Model - View - ViewModel)
View ViewModel Model
Data Binding
Commands
Notifications
UI / UI LogicPresentaionLogic
BusinessLogic
デバイス固有 再利用可能なコード(PCL or Shared Project)
多様化する画面解像度への柔軟な対応
画面レイアウト
様々な画面解像度
4096 × 2160
2560 × 1600
1920 × 1080
1024 × 768
画面の向き
PortraitLandscape
レイアウト変更によるUI最適化
絶対配置位置や大きさが要素に直接指定されて決まる
リサイズはイベントをフックして自前で位置と大きさを再計算
相対配置周りの要素とそれらの関係で位置や大きさが決まる
リサイズはフレームワークによる自動制御
絶対配置と相対配置
モダンUIは相対配置が基本
WebWindows iOS Android
XAML Auto Layout Layout CSS 3
Mobile First / Cloud First 時代のトレンドをおさらい
まとめ
これだけは押さえよう
相対配置Xamarin
UniversalWindowsApp
ApacheCordova
開発生産性を追求MVVM
多様なデバイスを受け入れる
PortableClass Library
Enjoy Universal App!!
Thank you
For your happy developer life.
Microsoft MVP ComCamp