クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

42
クロスプラットフォーム開発雑感 プログラミング生 放送 CLR/H Sapporo.cpp 札幌 ユビキタス協創広場 U - cala @KatsuYuzu 2014/07/12

Upload: katsuyuzu

Post on 23-Jun-2015

2.711 views

Category:

Technology


2 download

DESCRIPTION

Windows ストアアプリ、Windows Phone アプリのユニバーサルプロジェクトを例に、クロスプラットフォーム開発で気を付けることを話します。

TRANSCRIPT

Page 1: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発雑感

プログラミング生放送

CLR/H

Sapporo.cpp

@札幌 ユビキタス協創広場 U-cala

@KatsuYuzu

2014/07/12

Page 2: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発雑感

•クロスプラットフォーム開発って?

•何に気を付けたらいい?

•universal Windows apps• Windows ストアアプリ

×Windows Phoneアプリ

Page 3: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

自己紹介

•しみみん@KatsuYuzu

•仕事•VB.NET• SQL Server, Oracle

•趣味• C#, XAML

• WPF

• Windowsストアアプリ

• Windows Phoneアプリ

Page 4: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

コミュニティ紹介

•CLR/H(http://clr-h.jp/)• 2か月に1度くらい•テーマ自由

• 開発• インフラ• その他

5分~

話してくれる方 募集中Web系とかデザイン系とかゲーム系とか聞きたいな(チラ

Page 5: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

コミュニティ紹介

• Code(http://www.codejapan.jp/2014)• コーディング好きーによる温泉同好会

• 今年で3年目

Page 6: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

Page 7: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発雑感

•クロスプラットフォーム開発って?

•何に気を付けたらいい?

Page 8: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•異なるプラットフォームに対する開発

Page 9: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•異なるプラットフォームに対する開発

•今日は”アプリ”について•Android, iOSが花形

Page 10: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•異なるプラットフォームに対する開発

•今日は”アプリ”について•Android, iOSが花形

•Windows ストアアプリ・・・?•Windows Phoneアプリ・・・?

•安価で品質が高いので世界で普及中• ※ただし日本

Page 11: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•AndroidとiOSでちゃりんちゃりん!

Page 12: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•片方の言語しかできません

•○○版だけ△△で不具合です

• [戻る]が届かないので☆1です

Page 13: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•すべてがばらばら•開発対象•開発言語•ユーザー層

Page 14: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•開発フレームワーク• Titanium• Sencha Touch• PhoneGap•Unity

Page 15: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•開発フレームワーク• Titanium• Sencha Touch• PhoneGap•Unity

•Xamarin• iOS, Andorid, Win系のすべてをC#とVSでできる•激熱

Page 16: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発って?

•開発フレームワーク• Titanium• Sencha Touch• PhoneGap• Unity• Xamarin

•universal Windows apps• Windows ストアアプリ

×Windows Phoneアプリ•激熱 ※

Page 17: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

Page 18: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

クロスプラットフォーム開発雑感

•クロスプラットフォーム開発って?

•何に気を付けたらいい?

Page 19: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•対象を決めよう•OS•バージョン•具体的な端末

Page 20: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•対象の違いを理解しよう

Page 21: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•対象の違いを理解しよう•ガイドライン

•各種タッチ操作が表す機能

•メニュー、戻るボタンの位置

Page 22: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•対象の違いを理解しよう•ガイドライン

•各種タッチ操作が表す機能

•メニュー、戻るボタンの位置

•ユーザー層•裕福な層に普及するiOS

•安価で老若男女に普及するAndroid

Page 23: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•フレームワークの違いを理解しよう•ネイティブ

• Sencha Touch

•WebView• PhoneGap

Page 24: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•フレームワークの違いを理解しよう•ネイティブ

•よさげ

•コントロールなどの見た目が標準•パフォーマンスでやすい

Page 25: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•フレームワークの違いを理解しよう•WebView

•要注意

Page 26: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•フレームワークの違いを理解しよう•WebView

•要注意

•見た目をHTML,CSSで作る•標準にそぐわない

•パフォーマンスがでづらい

Page 27: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•フレームワークの違いを理解しよう•WebView

•要注意

•見た目をHTML,CSSで作る•標準にそぐわない

•パフォーマンスがでづらい

•Androidで確認しながら進める

Page 28: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

何に気を付けたらいい?

•フレームワークの違いを理解しよう•ネイティブ

•クオリティ重視

•WebView•コスト重視(短期的にみた場合)

• 長期的に見た場合他フレームワークへリメイクの可能性

Page 29: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

まとめ

•クロスプラットフォーム開発•AndroidやiOSなどの複数のプラットフォーム向けに開発する

•フレームワークを利用する

•気を付けること•各プラットフォームのガイドラインに目を通す

•フレームワークを選定する

Page 30: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

Page 31: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•アプリケーションの統合

•開発の統合

•実際のアプリでハマった落とし穴

Page 32: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•アプリケーションの統合•マーケットの統合•ローミングデータの統合•開発ライセンスの統合•開発の統合

•アプリ名でストアの関連付けを行う• DevCenterで[アプリ名を予約]

Page 33: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•開発の統合• 90%のAPIが共通

• ファイルやカメラ、デバイス制御は独自

Page 34: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•開発の統合

Page 35: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•開発の統合• Windowsストアアプリ(以降、WinRT)

• Windows Phoneアプリ(以降、WP)

• 共有コード

Page 36: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•開発の統合•ビルドはそれぞれ行われる

• WinRT + Shared

• WP + Shared

• Sharedは見かけ上分離されているが同一プロジェクトと扱うことができる

Page 37: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•開発の統合•専用コードは#ifディレクティブ

Page 38: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•開発の統合•エディタ上部で切り替え

Page 39: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•実際のアプリでハマった落とし穴

•同じコードで動いたーやったー!!

• WPでみたら画面端しかみえないじゃないですかーやだー

Page 40: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•Accent Color Camera• http://apps.microsoft.com/windows/ja-jp/app/accent-

color-camera/2bc046d8-37d4-4af0-8e7b-cdf6b4015fde

Page 41: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

universal Windows apps

•Accent Color Camera• http://apps.microsoft.com/windows/ja-jp/app/accent-

color-camera/2bc046d8-37d4-4af0-8e7b-cdf6b4015fde

•おしゃんてぃーなアプリ•WP7(IS12T)アプリのuniversal化

• WP: Silverlight

• WinRT: ユニバーサルアプリ

•現状、universal化のためのベータリリースです。

Page 42: クロスプラットフォーム開発雑感 #pronamaclrhsapporocpp

まとめ

• universal Windows apps• アプリケーションの統合• ストアで関連付け

• 必ずしもユニバーサルアプリで開発する必要はない

•ユニバーサルアプリ• 開発の統合• クロスプラットフォーム開発• VS2013 update2から

• 画面と処理は疎結合• 画面の共通化はしない