Windows 10, iOS, Android
新しいクロスプラットフォームへの道が広がっていきます。
Windows 10
今年1月の発表、3月のMWCやGDCでWindows 10 のアプリ開発の情報が少しずつ公開されてきました。
Windows 10 の大きなテーマは、今までバラバラだったOS、アプリ開発プラットフォーム、アプリのストアを、ひとつにまとめることです。
Windows 10 では PC、タブレット、電話、コンソールなどWindows universal app platform (UAP) が用意され、一つのコードベースからビルドされたアプリパッケージを様々なWindows 10 デバイスへ展開できます。
MWCで発表された内容については、Windows 10 のユニバーサル アプリ プラットフォームのご紹介の記事をご覧ください。
米国時間3/2-3/6に開催されたGDCでは、Windows 10向けのゲーム開発、DirectX 12、Xbox App、Xbox LiveなどゲームプラットフォームとしてのWindows 10の展開についてアップデートがありました。
たくさんのコンテンツがChannel 9に公開されています。私もGDCの振り返りとしてブログに記事を書いていますので、併せてご覧ください。
iOS, Android
Microsoft の視点からは、iOSやAndroid開発のトピックは主に3つあります。
・Xamarin によるアプリ開発
・クロスプラットフォーム対応のポータブルクラスライブラリ開発
・Apache Cordova を使ったハイブリッドアプリ開発
C#/.NET でiOS/Android/Windows Phone アプリ開発 も併せて参考にしてください。
特にAndroidに限定すると、さらに2つのトピックがあります。
・Android NDKを使ったネイティブアプリ開発
・Visual Studio Android Emulator
The Visual Studio Emulator for Android in VS2015 CTP6 というタイトルで公開されている記事には、次の4つの機能拡張が紹介されています。。
・ Lollipop (API Level 21) targets
・ OpenGL ES support
・ multi-touch input
・ advanced camera simulation (エミュレーター上のカメラ操作を物理的なWebカメラを使って実行)
クロスプラットフォーム対応
モバイルファースト、クラウドファースト、どちらからはじめるにせよ、もはやクロスプラットフォームへの対応を無視することはできません。コンシューマー向けのシナリオ、コマーシャル(ビジネス)向けのシナリオ、どちらに展開するにしても、人々がいろんな場所から様々なデバイスで情報をアクセスするという、モビリティを意識する必要があります。モビリティを考えるにあたり、デバイス、アプリ、サービスが重要な要素となります。
アプリを設計する上で最重要課題は、ユーザーエクスペリエンスです。アプリを使って何をするのか、コンセプトを明確にして、エンドユーザーのゴールをきっちり意識したデザインが必要です。
クロスプラットフォーム対応でアプリを考える場合、まずはデバイスの大きさ、利用できる入力装置、画面の解像度を意識しましょう。
ユーザーインターフェイスを考える際に、3つの選択肢があります。
・利用するミドルウェアに含まれるコントロールを利用する (例: Xamarin Forms)
・デバイス固有のコントロールを利用する
・完全に独自のコントロールを利用する(例: ゲームの操作画面)
アプリの機能を設計する場合は、次の3つを意識する必要があります。
・抽象化された機能をインターフェイスとして定義
・インターフェイスに基づき、プラットフォーム固有の機能を実装
・プラットフォーム固有の既存ネイティブライブラリの利用(例: C# の P/Invoke)
ユーザーエクスペリエンスの高いアプリを提供するために、各プラットフォームのデザインガイドラインを改めて参照するといいでしょう。
企業内でのモバイル利用について、昨年、デブサミ 2014 夏で行った、パネルディスカッションの内容が記事になっていますので、併せてご覧ください。
【座談会】主要ベンダが本音で語る、モバイルで企業価値を生み出すために把握すべき4つのポイント(前篇)
【座談会】主要ベンダが本音で語る、モバイルで企業価値を生み出すために把握すべき4つのポイント(後篇)
次のアクション
2015年4月29日から開催される //Build 2015 では、Windows 10や開発ツールなど、最新情報が展開されます。今後のMicrosoftからの情報をご期待ください。