Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

36
Azuren 勉強会 @名古屋ソフトウェアセンター BluewaterSoft 2014/6/7 biac

description

Microsoft Azure 勉強会 @名古屋ソフトウェアセンター http://atnd.org/events/51283 https://www.facebook.com/groups/1388769724677067/permalink/1394525694101470/ pptx と pdf は OneDrive にあります http://1drv.ms/TpRYBF ※ p.27 に訂正を入れています。 Windows 8.1 は、64bit の Pro. 版以上でなくても (例えば 32 bit 版でも)、Windows Phone エミュレーターが動かないだけで、Windows Phone のアプリ開発は可能でした。 会場でご指摘を戴きました。ありがとうございます。 ※ 当日のデモで使っていた Visual Studio は、無償の Express です。

Transcript of Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

Page 1: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

Azuren 勉強会@名古屋ソフトウェアセンター

BluewaterSoft 2014/6/7 biac

Page 2: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

2

宇宙世紀以前の生まれスプートニク1号より3ヶ月ほど前

最初は HONDAクルマの設計/研究を10年くらいやってた

今は BluewaterSoftを名乗ってアプリ開発とか技術解説記事とか

昨年7月に出した本⇒技術評論社「C#による マルチコアのための 非同期/並列処理プログラミング」

よろしく~♪

Page 5: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

5

Windows ストア アプリやWPFなど6/17 - WPF・ストア アプリのためのプログラミング基礎(C#/VB.NET)

Page 6: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

6

Windows デバイス アプリのアーキテクチャ(簡単に紹介)

ユニバーサル Windows アプリと、その作り方(ざっくり分けて2通り)

Windows Phone 8.1 の向上した互換性(デモをお見せする予定)

Page 7: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

7

Windows ストア アプリやWindows Phone アプリのアーキテクチャの考え方

Page 8: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

8

//build 2014、そして de:code で強調されたMicrosoft の今のテーマ

「モバイルとクラウドが大切!」

Page 9: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

9

【変化】日常でもビジネスでも、デバイスを横断するユーセージ(使い方)になる

【基盤】それを実現するには何が必要?

複数デバイス間で連続したUX

Page 10: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

10

デバイスを横断するUXを実現するには?データや処理はクラウドへ!

複数デバイス間で連続したUX

データや複雑な処理はクラウドに配置

各種デバイスはクラウドのフロント エンド

Page 11: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

11

デバイス: フロント エンドクラウド: ロジック + データベース

UI業務

ロジック

フロント エンドとしての簡単な

ロジックデータベース

補足: Windows Runtime は、このアーキテクチャを前提として、DBアクセス等の (セキュリティに難のある) API を削った

Page 12: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

12

Build 2014 で発表された「ユニバーサル Windows アプリ」って?

Page 13: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

13

「1回買えば、どこでも使える (…ようにできる)」 Build 2014 初日キーノートより

can

注目! ➡ "can"

ユニバーサル プロジェクトで開発したら、自動的にユニバーサルWindows アプリになるわけではない。You (=開発者) がそうできる、という話。

Page 14: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

14

ユニバーサル Windows アプリの特徴Build 2014 セッション 2-512 より

・Win と Phone を横断する、アプリとアプリ内課金の共有・Win と Phone を横断する、データのローミング・単一の通知チャネル (ライブタイル等)・Win と Phone、別々に出したければ、それも良し

・VS のユニバーサル プロジェクトとは別物だよ!

Page 15: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

15

アプリの課金はストアがサポート

データのローミングはOneDriveがサポート

Page 16: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

16

実際にはこんな風に見える (ストアのアプリ)

Page 18: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

18

2通りの方法がある

Page 19: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

19

WindowsとPhoneのアプリを別々に作って、ストアに登録するときに結び付ける

Windowsストアアプリ Windows Phoneアプリ

Windows 8 用ストアアプリ

Windows 8.1 用ストアアプリ

Windows Phone7.x 用アプリ

Windows Phone8.x 用

Silverlightアプリ

Windows Phone8.1 用

Windows Runtimeアプリ

AppIDで結び付け

ユニバーサルWindows

アプリ

Page 20: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

20

PhoneのDevCenterでアプリ名を登録するだけ!

Windows ストア アプリと同じ名前を設定して、右側のボタンをクリック。

で、Phoneアプリを再申請すれば、終了!!

Page 21: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

21

ストア側で、WindowsとPhoneのアプリを結び付けて管理してるだけ

以下の横断機能は、開発者次第!!・データのローミング・単一チャネルを使った同一の通知・アプリ内課金

※ 課金情報はストア側で横断それをちゃんと使うのは開発者の責任➡ 共有プロジェクトで同一コードを使うようにしとけ!

ユ ニ バ ー サ ルWindows アプリ以前から、Bing ニュース と かSolitaire とかでローミングしてる

Page 22: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

22

Bing ニュースとかソリティアとか

ソリティアの例:ユニバーサル Windows アプリの表示はある

だけど、ユニバーサル Windows アプリが存在しなかったときに作られた

Page 23: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

23

VS 2013 Update2 の新機能最新の実行環境のみが対象

Windowsストアアプリ Windows Phoneアプリ

Windows 8 用ストアアプリ

Windows 8.1 用ストアアプリ

Windows Phone7.x 用アプリ

Windows Phone8.x 用

Silverlightアプリ

Windows Phone8.1 用

Windows Runtimeアプリ

AppIDで結び付け

ユニバーサルWindows

アプリ

ユニバーサルプロジェクト

(1ソリューション)

このペア限定で楽に作れるようにしたのが、Visual Studio の ユニバーサル プロジェクト

Page 24: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

24

これがユニバーサル プロジェクト

ソリューションのフォルダー

プロジェクトのフォルダー

ここでコンテキスト(WindowsかPhoneか) を切り換える Windows 用プロジェクト

Windows Phone 用プロジェクト

共有プロジェクト

Page 25: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

25

ビルド時に共有プロジェクトがマージされる

共有

プロジェクト

Windows

プロジェクト

Phoneプロジェクト

Windowsプロジェクトをビルド

Phoneプロジェクトをビルド

Page 26: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

26

デバッグしてるとこはこんな感じ

「Windows Phone の画面出力アプリ」英語名は「Project My Screen App for Windows Phone」

Page 27: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

27

Visual Studio 2013 Update 2 から

無償の Express で OK !!

…と言いながら、Windows Phone 8.1 のアプリ開発は、実は結構ハードル高い・SLAT 対応の PC (Phone エミュに必要)・メモリ 4GB では、ちと苦しい (エミュが… orz)

・64bit 版の Windows 8.1 Pro 以上 (エミュに(ry※上の3つは、実機があればOK!

・Windows 8.1 Update 1 適用済み

Page 28: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

28

Update 2 RTM でも、VB ではユニバーサル プロジェクト未サポート

Page 29: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

29

なんで 共有プロジェクト が可能なの?

答: Windows Phone 8.1 で追加されたアプリ実行環境が、Windows ストア アプリと無茶苦茶互換性が高いから!(後ほどデモする予定)

Page 30: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

30

build 2014で、他のプラットフォームへの展開も公表された⇨ Xbox, IoT (Internet of Things)

Page 31: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

31

Windows Phone って、お高いし、そもそも売ってないよね?

Page 32: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

32

Windows Phone 7.x 用に作られたアプリ

Windows Phone Silverlight 8.x アプリ(WP8.0用のアプリのこと)

Windows Runtime アプリ

Windows ストア アプリと9割 互換

( どこが 8.1 なんだかw )

Page 34: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

34

既存の Windows ストア アプリのソースコード⇩ユニバーサル プロジェクトに変換⇩共有プロジェクトに移植 (=Phoneでも動く!)

残り時間は デモ するよ~♪

Page 35: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

35

Windows Phone 8.1 は、Windows ストア アプリとの互換性が飛躍的に向上!

∴ Windows ストア アプリを作ってるなら、Windows Phone 8.1 のアプリも楽勝♪

ユニバーサルプロジェクトを使えば、もっと楽!!

Page 36: Azure勉強会2014/6/7 ユニバーサル Winodows アプリ開発の勧め #jazug

36