本内容をダイジェストでまとめたトレーニングビデオが公開されています。 こちらも合わせてご参照ください。
昨年11月にプレビュー版が公開されている「Visual Studio 2015」。その最新版のVisual Studioではどんなことができるのか。
「今のVisual Studioを伝えるために今日は来たが、30分前に再インストールをしたので、ちゃんと動くか不明。そんなドキドキのライブ感を楽しんでほしい」
冒頭で会場の笑いを誘い、高橋氏のセッションは始まった。
マイクロソフトは昨年、技術畑出身のサティア・ナデラ氏が新CEOに就いた。「彼はモバイルファースト、クラウドファースト、そして伝統よりも市場にインパクトを与える変革を重視する、という言葉を発している。それを具現化するいろいろな製品がマイクロソフトから出てきている」と高橋氏は延べ、マイクロソフトが従来に比べよりオープンになってきているという。iPadやAndroid向けのOfficeが登場したのはその一例だ。
エンドユーザー向けだけではなく、開発者向けの製品に対しても、近年は非常に注力している。.NET Coreをオープンソースとして展開する「.NET Open Source」などはその表れだという。またクロスプラットフォームの開発も進んでいる。というのも、従来とは異なり、今、95パーセント以上のユーザーにリーチするためには、Windowsはもちろん、Mac OS X、Android、iOSのユーザーも視野に入れる必要があるからだ。
最新のVisual Studioはクロスプラットフォームに対応
マイクロソフトが提供するVisual Studioは、デスクトップで動くWindowsアプリケーションとWindows Storeで公開するアプリケーションという、2種類のWindowsアプリケーションのための開発環境だった。しかしその最新バージョンのVisual Studio 2015 Previewでは、「.NETのオープン化、クロスプラットフォーム対応、IDEとしての各種機能強化が行われている。特にクラスプラットフォームについて、まずはこの最新バージョンで何ができるのかを紹介していく」と高橋氏はVisual Studio 2015について解説を始めた。
Visual Studio 2015の特徴の第一は、CordovaのWebViewを使うことで、HTMLおよびJavaScriptでAndroidやiOSアプリケーションが作れるようになったことだ。第二はXamarinを使うことで、C#でAndroid、iOSアプリが開発できるようになったこと。そして第三は、「C++でネイティブのAndroidアプリが作れるようになったこと。これが一番、私が衝撃を感じた」と高橋氏は力強く語る。このように積極的にオープンソースのテクノロジーをいろいろ取り込むことで、Visual Studioでクロスプラットフォーム開発の環境を実現した。
加えて高橋氏が感動したというのが、「セットアップの容易さ」だという。「プラットフォームと言語の環境を選んで、セットアップボタンをぽんと押せば、コーヒーを入れて休憩している間にセットアップが終わるというお気楽な環境になっている」と高橋氏は強調する。Visual Studio 2015ではAndroidのSDKなど、クロスプラットフォーム開発に欠かせないサードパーティのコンポーネントについては、セカンドインストールという形でインストールされる。「これだけでもこの環境を使った方が絶対良いと言い切れるほど、良くできている」と高橋氏は胸を張る。
具体的な仕組みの紹介として、最初に高橋氏が取り上げたのは、Xamarinを使った開発方法についてである。XamarinはVisual Studioに半分組み込まれた形になっており、これを使うことですべてのAPIが使えるなどフルネイティブなアプリケーションが開発できる。ただし、セットアップの際に注意が必要になる。Visual Studioをただインストールするだけでは、Xamarinはインストールされないからだ。プロジェクト作成時にインストールポイントに誘導され、Xamarinをセットアップ。そのままセットアップしてもVisual Studioに組み込まれない。「インストールアプリの変更で『Xamarin for Visual Studio 2015』を追加すること」と高橋氏は注意を促す。
Visual StudioにおけるXamarinの仕組みは次のようになる。「UI開発においてはiOSならiOSの、AndroidならAndroidのネイティブの作法に則る。そしてビジネスロジック部分はC#と.NETの作法に則ることになる」と高橋氏。例えばWindowsアプリを開発する場合、UIはVisual Studioでもできるが、Blendというツールを使うこともできるという。デバッグはWindows Simulatorを使う。またAndroidのUI開発については、画面デザインはAndroid Designer、デバッグはAndroid Emulatorを利用する。「ポイントはiOSのアプリ開発だ」と高橋氏は続ける。iOSアプリ開発の場合、最終的にはMac OS X上での開発環境Xcodeが必要になるからだ。「よく聞くのはMac OS X上にWindowsのバーチャル環境を構築し、Visual Studioを動かすという方法」と高橋氏。この方法を採用することで、1台のマシンでXamarinを使いC#で開発できるようになるというわけだ。
ここまで説明したところで、実際にVisual Studio 2015を起動させ、Androidアプリを開発するデモを実施。しかし冒頭でことわりをいれたことが現実に。30分前の再インストールがあだとなったのか、UIの画面は映らないという事態に。「きれいなUIの画面が見えているということにして」と一か八かコンパイルしてみる高橋氏。うまくいき、エミュレータでアプリケーションの動作を披露。「実機と比べると速度や安定感は劣るが、エミュレータでも十分、検証できる」と高橋氏。今回、デモを行っているマシンのOSはWindows 10。これについても「10はいいですよ。ぜひ使ってみて」と宣伝を忘れなかった。
Xamarinでの開発方法については、「Microsoft Virtual Academyでも紹介しているので、参考にしてほしい」と言う。
C++でもAndroidアプリが開発できる
Windows以外のOS向けアプリケーションは開発できることはわかったが、気になるのはワンプロジェクトでマルチデバイスに対応した開発環境を構築できるかということ。「もちろん、そういう構成を作ることは可能だ」と高橋氏。MVVM(Model-View-ViewModel)設計手法を取り入れるのである。UIとビジネスロジックを分け、ビジネスロジック部分を共通コンポーネント化するのだ。その共通のビジネスロジック部分はPCL(ポータブル・クラス・ライブラリ)を使用して開発する。後のUIの部分はネイティブ用に作るという構成にする方法が、現在の理想的なパターンである。「UIの部分はMVVMをつかってキレイに分けておくと、今後の展開が楽になるので、覚えておいてほしい」と高橋氏は念を押す。
次に紹介したのはCordovaを使ったクラスプラットフォーム開発の方法について。Cordovaも、iOSやAndroid、Windowsすべてに対応した開発環境で、HTMLとJavaScriptというWebテクノロジーを使って、ハイブリッドアプリケーションが開発できる。ブラウザアプリはWebViewで、それをラッピングすることでネイティブアプリケーションになる。ストアへの公開もできるので、ストアからのアプリ配付や課金が可能になる。「Webアプリの技術者しかいない場合でも、この方法を使えば既存技術でネイティブアプリが作れるのでぜひ試してほしい」と高橋氏は語る。またWebViewを使ったブラウザアプリはGPSやカメラのような端末のネイティブ機能についても、使うことができるという。実際に、どのように開発するかデモを実施する高橋氏。
さらにVisual Studioのいいところを高橋氏は披露。例えば、コーディングの自動補完システム「IntelliSense」だ。これを使えば入力候補を教えてくれ、タイプミスなどの間違いがあれば教えてくれる。その他、パネルを使って簡単に色指定できる様子などを画面で紹介した。「Visual Studioを使うと開発者のスキルがどんどん落ちる」と笑いを誘うことも忘れなかった。
最後に紹介したのが、C++を使ってAndroidネイティブを開発する方法だ。「これは前CEOだと絶対実現しなかった環境」だと高橋氏は強調する。Visual Studioの環境の中にオープンソースのコンパイラを組み込むことで、Androidの開発環境を実現している。
「C++の技術者は日本にたくさんいる。その人たちにとってC++でAndroidアプリを開発できるのは、非常に大きなニュースだと思う。ぜひ、一度、試してほしい」と高橋氏は次のように言葉をつなぎ、セッションを締めた。
「最新情報については4月29日から米サンフランシスコで開催されるBuild 2015で発表されるはず。またその内容を受けて、日本人向けの最新情報を伝える場としてde:codeの開催を予定している。開催は5月26日~27日。現在、参加を受付している。次回はde:codeでお会いしましょう」
de:code
インフラ技術者、開発者をはじめ、ITに携わるすべてのエンジニアのための技術コンファレンス
- 公式サイト
- 開催日程:2015年5月26、27日
- 場所:ザ・プリンス パークタワー東京