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

 

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

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

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

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

Visual Studio 2015 で開発できるもの

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

clip_image001

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

clip_image002

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

· HTML /JS の言語で Cordova を使った iOS/Android/Window 用のアプリケーション

· C# の言語で Xamarin を使った iOS/Android/Windows 用のアプリケーション

· C++ を使った Android アプリケーション

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

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

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

clip_image003

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

clip_image004

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

C# と Xamarin を使った開発

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

clip_image005

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

clip_image006

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

C++ で Android アプリを作る

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

clip_image007

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

デバッグ環境

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

clip_image008

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

clip_image010

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

shintak2 1

高橋 忍

テクニカル エバンジェリスト

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

https://blogs.msdn.com/b/shintak/