iOS/Android 開発者が知っておきたい Windows 10 アプリを作るために必要な 7 つのポイント

ios

新しく登場した Windows 10 は、これまで Windows 7, Windows 8 を使っていたユーザーにはアップデートが無償提供されるので、多くのユーザーが生まれるプラットフォームとして注目を浴び始めています。

iOS Androidさらに、Raspberry Pi のようなデバイス、スマートフォン、タブレット、デスクトップ PC、Xbox に同じアプリを展開できることや、 ブリッジという機能を利用して iOS/Android アプリを Windows ストアに展開でき、開発者が活躍するフィールドが広がるため、これまで Windows 開発をしていない人にとっても、ご無沙汰になっていた人にとってもチャンスの大きなプラットフォームです。

とはいっても、普段は iOS/Android 開発をしているので、まずはどこから手を付けたらよいか分からないという方が多いと思います。そんな開発者の皆さんがWindows 10 用のスマートフォン、タブレット、デスクトップ PC 向けアプリ開発を始めるときに、何から手を付けたらよいかをまとめてみました。

 

① 開発環境は Windows 7/8/10, Mac なら仮想環境 も

アプリケーションを開発するために必要な開発環境としては、Windows 7Windows 8、もしくは、Windows 10 が必要です。

Windows 10 であればそのまま開発環境でデバックを行うことができます。開発環境として Windows 10が用意できない場合でも、Windows 7 や Windows 8上で開発することができます。ただしその場合はデバッグ用に別途 Windows 10 デバイス等が必要となります。

もし、Mac をお持ちの方は下記のようなツール・仮想化ソフトウェアを使って Windows 環境を構築できます。(*)。 もしくは、Kinect 開発のようなグラフィック処理が重いアプリを開発する場合は、仮想環境に比べてマシンのCPUやグラフィックアダプタを十分に活用できる BootCamp を利用したほうがよいかもしれません。

(*)Windows 10 のサポートについては、各メーカー様でご確認ください。

 

② 開発ツールは Visual Studio 2015

iOSはXcode、Android は Android Studio で開発しますが、Windows は Visual Studio で開発します。Visual Studio には次の3つのエディションがあります。

エディション

費用

ユーザータイプ

Visual Studio Community

無料

学生,個人 非エンタープライズ組織開発者

Visual Studio Professional with MSDN

有料

個人開発者や小規模チーム

Visual Studio Enterprise with MSDN

有料

中~大規模チーム

image

Community エディションは Professional エディションとほぼ同じ機能を備えており、個人開発者であればこの無料の Community エディションをご利用いただけます。

エンタープライズ組織での開発の場合は Professional エディションをご利用いただけます。更に、Enterprise エディションは企業内での大きなチームでの開発に適したもので、開発と運用の連携を最適化する機能、高度なテスト機能が実装されているため、大規模チームの開発を強力にサポートします。

image機能の詳細や価格については、こちらの比較ページにまとまっておりますので、検討の際にご確認ください。なお、この比較ページからインストーラーをダウンロードすることができます。

インストールが始まると図のようなダイアログ(クリックして拡大)が表示されますので、 [ Windows 10 開発者の標準] を選択の上、[インストール]ボタンをクリックいただくと必要な環境がインストールされます。もしこの項目が出ない場合や、そのほかの開発オプションを選ぶ場合は [カスタム] から追加で設定可能ですので、必要に応じてご活用ください。

インストール後もコントロールパネルの「プログラムと機能」から、Visual Studio 2015 の再設定をすることができます。

 

③ 開発言語には C#/VB/C++/Javascript が使えます

これまでのポイントで、開発環境/開発ツールの準備が整いました。次は「開発言語」の選択です。というのも、Windows10 の開発では、次の 4 つの言語を使うことが出来ます

  • JavaScript (ロジック) + HTML5 (UI) + CSS3(UI)
  • VB (ロジック) + XAML (UI)
  • C# (ロジック) + XAML (UI)
  • C++ (ロジック) + XAML/DirectX (UI)

image基本的にはこれまで慣れてきた言語を使って開発するのがよいでしょう。例えば、Web アプリケーションを開発した経験のある方はJavaScript を、業務向けアプリケーションの開発の中で VB を使った経験のあるかたや、Unity 開発等で C# での開発経験がある方は C# を使えば慣れた言語で開発することが出来ます。

もし、上記 4 つの言語の経験がない場合や徳言語にこだわらない場合であれば C# をお勧めします。Android の開発をされていた方であれば、Java と同じオブジェクト指向言語であり、理解しやすいでしょう。また、DirectX などを活用したハイエンドな 3Dグラフィック処理を多用するようなアプリケーションを開発する場合には、パフォーマンスの観点から C++ の活用をお勧めします。image

開発言語を選択したら、続けてプロジェクトを選択します。Xcode での ”Single View Application”、Android Studio での ”Blank Activity” のように Visual Studio にも “Blank App (Windows Universal)” というテンプレートが存在し、これをベースに開発を進めていきます。

Visual Studio での開発の際には、Xcode や Android Studio と同じようにGUIベースでユーザーインタフェースを設計します。また、Android Studio では XML でもユーザーインタフェースを設計できますが、Visual Studio では上記で紹介した HTML5+CSS3/XAML/DirectX がそれに相当します。

 

 

④ シミュレーターやリモートマシンでデバック

imageVisual Studio でアプリを開発していくうえで、デバック実行を行う場合、ターゲットデバイス毎に実デバイスのほかシミュレーターなどいくつかの方法が用意されています。

Windows 向け開発のデバッグのための環境

  • ローカル コンピューター:一番簡単に Windows のデバックをする方法です。手元の Windows 開発マシンでそのままデバックを行います。なお、Visual Studio 2015 のインストールされた Windows 10 環境が必要になります。
  • シミュレーター:手元の開発マシン上の Windows 10 環境のシミュレーターの中でデバックします。シミュレーターは画面の回転や、解像度の変更、またネットワーク接続状態の変更といった機能を備えており、様々な環境を再現する都ができます。(参考:シミュレーターでの Windows ストア アプリの実行) clip_image014
  • リモートコンピューター:開発環境と同じネットワーク内の他のデバイスを使ってデバッグします。例えばデスクトップの開発環境からタブレット上での動作テストを行う場合などはこの方法を使います。

Windows Phone 向け開発のデバックのための環境

  • エミュレーター:開発環境上で起動した Windows Phone デバイスのエミュレーター上でアプリをデバックします。画面サイズや解像度、メモリサイズごとにエミュレーターが用意されています。異なる設定のエミュレーターを作って登録することもできます。
  • デバイス:開発機に USB で接続した実デバイスでアプリケーションを実行・デバックします。実デバイスでデバッグを行う場合は、あらかじめ Windows Phone Developer Registration ツールを使って、デバイスを開発用デバイスとしてあらかじめ登録する必要があります。

参考:Visual Studio からのストア アプリの実行

 

clip_image016⑤ 動画で学ぶための おすすめサイト

ここまでの部分で、開発をはじめるために必須のポイントを紹介しました。さらに基礎を深め、自身のアプリケーションに応用していくために役立つ各種リソースを紹介します。

Microsoft の技術関連情報用に、2つの動画サイトを用意しています。

imageMVA は日本語のコンテンツも含めた技術情報を閲覧する際に便利です。動画の閲覧、資料のダウンロードをすることができますので、資料をダウンロードしオフラインで学習することもできます。また、MVA ではアカウント登録をすることで、学習プランを立て、自分の進捗をポイントとして確認することができるため、アカウント登録をお勧めします。

Channel 9 は主に英語での最新情報を得る際に便利です。本社の開発責任者からの情報発信や、Build などのイベントでのセッション動画も配信しているため、最新情報を得る場合には Channel 9 を優先して閲覧するようにしてください。なお、MVAと同様、動画・資料のダウンロードが可能です。

 

⑥ まずは GitHub にあるサンプルコードから!

image

MVA や Channel 9 を閲覧し、Windows 10 開発の基礎やディープな技術情報を学ぶにつれて、実際にサンプルアプリケーションを動作させ、そのアプリケーションのサンプルコードを確認したくなります。

そのような場合には、まずは GitHub に公開している Microsoft 公式のサンプルコード を活用してください。 実際にGitHubを訪れると多くのサンプルが公開されており、非常に参考になります。

https://github.com/Microsoft/Windows-universal-samples

カテゴリ別にサンプルアプリケーションが整理されているため、たとえばカメラを使いたい場合には、”Audio, video and camera”カテゴリを、カレンダーを使用したい場合には、”Contacts and calendar” のカテゴリにあるアプリを参考にしてください。

clip_image022 GitHub と Visual Studio の連携

Visual Studio には GitHub と連携するための拡張機能である GitHub Extension for Visual Studioをインストールできます。

この拡張機能を活用することで、GitHub のアカウントにログインし、自分のレポジトリを簡単にクローンし、Visual Studio 上で活用することができます。GitHub との連携操作、開発をすべて Visual Studio で一気通貫で作業できるため、非常に便利です。

もちろん、コマンドライン ツールや GitHub for Windows も便利ですが、選択肢の一つとして Visual Studio の拡張機能もご検討ください。

 

 

公式情報なら Windows デベロッパーセンター

imageアプリケーションを展開していくためには、下記のような手続き・情報収集が必要になりますが、そういった情報が集約されている場所が、 Windows デベロッパー センターです

https://dev.windows.com/ja-jp

  • 開発者アカウントの入手:ストアにアプリを上げるための[開発者アカウント」を取得することができます。
  • ツールの入手:ページ中央メニューの左端にある[ツールのダウンロード]からも入手することができます。
  • ドキュメント:開発に必要な詳細な情報を探すことができます。
  • アプリケーション:開発済みのアプリケーションをストアに公開する場合はこちらから申請します。

まずは、上記のような開発の流れを踏まえつつ、デベロッパーセンターをご活用ください。

iOS/Android アプリを変換する Bridge プロジェクト

clip_image026Microsoft では既存の Android / iOS 用のアプリケーションを変換して Windows 10 用のユニバーサル Windows プラットフォームアプリケーションに変換する仕組みを現在開発しています。これらを総称して Bridge と呼んでいます。

それぞれの変換方法は異なるアプローチをとられていて、例えば iOS のアプリケーションであれ Objective-C の XCode プロジェクトを、そのまま Visual Studio 2015 で読み込み、コンパイルして変換します。一方 Android アプリに対しては、プロジェクトファイルを使わずに、バイナリパッケージである APK を直接変換する手法を取っています。

ご登録いただいたお客様向けに最新情報を送ります。ぜひ Web サイト「Windows Bridge の紹介」で登録してみてください

 

まとめ

Raspberry Pi のようなデバイス、スマートフォン、タブレット、デスクトップ PC、Xbox などの様々なプラットフォームに展開できる Windows 10 アプリは、開発者の皆様にとって新たなチャンスをつかめる魅力的なアプリケーションです。

これまで開発されてきた iOS/Android とは少し違った部分もありますが、この記事を通し下記2つの知見が得られたと思います。

  • Windows 10 向けアプリを作る大まかな道筋
  • iOS/Android アプリ開発の知識との対応関係

今回紹介させていただいた環境を整え、情報を参照しながら、Windows 10 アプリ開発の第一歩をぜひ踏み出してみてください。

 

参考情報

Windows Bridge
Windows Bridge for iOS
Microsoft Vitual Acadmy
Visual Studio 各種エディション
GitHub Extension for Visual Studio
GitHub Windows Universal Samples

執筆者

msayukiota

日本マイクロソフト株式会社 デベロッパー エバンジェリズム統括本部

テクニカル エバンジェリスト 大田 昌幸

https://nt-d.hatenablog.com/