Universal Appとは? -デバイスに依存しないアプリケーション開発-

Preview:

DESCRIPTION

2014/09/24 Microsoft MVP ComCamp – Webcast 1st round. 発表資料

Citation preview

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以上のコントロール

Xamarin.Formsのコード例

http://xamarin.com/forms

製品 グレード 価格 (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

Recommended