まさか Visual Studio で Android や iPhone のアプリを作れるなんて!

Visual Studio を知っている人も、昔使っていた人も、全然使ったことがない人もこんにちは。日本マイクロソフトの高橋 忍です。

ひねりもなく、前回と同じパターンのタイトルで始めてみました。

眉唾でしょ?いやいや本当にそうではないんです。Visual Studio 2015 なら Android のアプリや iPhone のアプリを本当に作ることが出来るんです。Web でしょ? いやいや ちゃんとネイティブアプリなんですよ。

では、ちゃんとお見せしましょう。

Visual Studio 2015 で開発できるもの

Visual Studio といえばもちろん、Windows 用のアプリケーションやWebアプリを作るための開発環境です。これは皆さんも納得ですよね。とくにネイティブアプリで言えば、デスクトップ用のアプリや、Windows 8 のストア用のアプリケーションを作ることができます。

image

しかし Visual Studio 2015 では、開発できるアプリケーションが大きく進化しました。得に進化したのが Windows 以外のアプリケーションの開発で、iOSやAndroid 用のアプリを作る、いわゆるクロスプラットフォーム開発ができる環境となりました。

image

これが Visual Stuido で開発できるアプリの種類(の一部)です。とくに新しく増えたものが3つあります。この図の右側から

  • HTML /JS の言語で Cordova を使った iOS/Android/Window 用のアプリケーション
  • C# の言語で Xamarin を使った iOS/Android/Windows 用のアプリケーション
  • C++ を使った Android アプリケーション

これらのテンプレートはすでに、Visual Studio 内に用意されています。

Cordoba を使ったクロスプラットフォーム開発

Cordoba は以前は PhoneGap と呼ばれた Open Source 技術を使ったクロスプラットフォーム開発です。Javascript と Cordoba を使って各プラットフォーム用のネイティブアプリを作ることができます。

image

 

Cordoba の仕組みは以外にシンプル。アプリの基板上に、Web View と呼ばれる ブラウザのコンポーネントが用意され、そこにWebアプリケーションの内容をそのまま流すことで、アプリとして実現しています。このようにアプリをネイティブアプリとして作り登録することで、ストアからのユーザーも増えますし、アプリの課金なども利用することができるようになります。

image

また、Javascript を使って実装することで、例えばカメラやセンサーなどデバイスが持っている機能をアプリで利用することも可能になります。

 

C# と Xamarin を使った開発

Xamarin は Xamarin 社が開発されたミドルウェアで、C#を使って Android や iOS アプリを作ることができます。C#になれたユーザーにとってはこのC# で Android や iOS のアプリを作れるようになります。

image

ただ、基本的には C# を使ってビジネスロジック等の実装をします。この場合 UIについてはそれぞれのプラットフォームの開発環境で実装します。最近は新しくリリースされた Xamarin Forms を使って Xaml を使ってUIを実装し、C#を使ってロジックを実装することもできつつあります。

image

ただし、iOSのアプリケーションを作る場合は、最終的には Mac の開発環境が必要となります。

C++ で Android アプリを作る

これはある意味、これまでの Microsoft の開発技術ではなかったパターンです。Visual Stuido 2015 では、ミドルウェアを使わずに C++ を使ってAndroid アプリケーションを作ることができます。驚きです。そして実はコンパイラをMicrosoft が開発したのではなく、Open Source の技術を使ってこれを実現しています。

image

C++ と Visual Studio 2015 を使えば、強力な開発支援機能が使えるメリットはありますし、何より c++ を使える方にとっては C++ でAndroid アプリを作れるようになります。

 

デバッグ環境

クロスプラットフォーム開発のポイントはどうやってデバッグを行うか、です。もちろん実機をつないでデバッグすることもできますが、たとえば Android であれば、エミュレーターが用意されているのでこちらを使ってデバッグを行うことができます。エミュレーターはただ動作するだけでなく、加速度センサーやGPSなどのデバイスのハードウェアのエミュレートを行うことができます。

image

iOS のアプリのデバッグなら、Google Chrome ベースで動作する Ripple エミュレーターが用意されています。ので簡易なデバッグであれば十分こちらも使用できるでしょう。

WIndowsだけでなく iOS や Android のアプリも考えている方はぜひ、今のVisual Studio 2015 で利用可能なクロスプラットフォーム開発環境をチェックしてみてください。