「Visual Studio Code」と「Visual Studio 2015」その違いとは?
「最近はSurface ProとMacBookの2台持ちでセッションをしている」と前置きし、井上氏のセッションは始まった。「いまやマイクロソフトの開発ビジョンはモバイルファースト、クラウドファーストをうたっている。だからこそVisual StudioでさえWindowsの殻から飛び出して、すべてのアプリ、すべての開発者が使えるような開発環境として進化している」と強調する。
新しいVisual Studioがローンチされたのは7月21日(日本時間)。このとき、マイクロソフトではローンチ記念イベントが開催されたという。新しいVisual Studioは、先述したように「すべてのエンジニアとアプリのための開発環境」として、Visual Studio Familyという形での提供となっている。
まずは「Visual Studio Code」。これは「Windowsはもちろんのこと、Mac OS XやLinux上でも高速に動く、軽量かつ高機能なエディター」と井上氏は説明する。次に完全なる統合開発環境として進化した「Visual Studio 2015」。「MacやLinux上で動く開発環境として作られたのがVisual Studio Codeというわけではないということ。ここはしっかり覚えておいてほしい」と井上氏。あくまでもVisual Studio Codeは高機能なコードエディターでしかなく、チーム開発やテスト、デバッグなどの機能などは機能としてまだまだ発展途上だからだ。
さらに「Visual Studio Online」というTeam Foundation Server (TFS) のクラウドサービス版も用意された。「クライアント上でVisual Studioを使わなくても、Eclipse、 Xcode、Sublime TextなどからVisual Studio Onlineを使ってプロジェクト管理、プロセス管理ができるようになる」と井上氏は説明する。つまりVisual Studio Familyはクライアントだけのものではなくて、クラウド側も含めた開発統合環境として定義されているというわけだ。
Visual Studio 2015は、より使いやすい開発環境へと進化した。前バージョンとどう変わったのか。「マルチタッチ対応で拡大縮小ができたり、任意のレイアウトを記憶して簡単に呼び出せたりする機能が追加。また複数のアカウントのサインオンが可能になるなど、このような細かいところが変わっている」(井上氏)。
新しいVisual Studioの最大の特徴はAndroid、iOSデバイスなど、マルチデバイス向けのアプリケーション開発ができるように進化したこと。「今まで同様C#でWindowsのアプリケーションも開発できるのはもちろん、Visual Studio上でXamarinというサードパーティ製のツールを使うことで、AndroidやiOS向けのアプリケーションが開発できるようになった。またVisual Studio上でUnityを使うことで、AndroidやiOS向けのゲーム開発も可能である。C++周りの開発も強化をしており「AndroidネイティブのアプリもC++を使って書くことができる」と井上氏は説明する。さらにCordovaを使うと、HTMLやJavaScriptでAndroidやiOSのアプリが開発できるようになる。
セッションでは、実際にVisual Studio 2015からCordovaを立ち上げて簡単なAndroidアプリ開発するデモも実施した。また井上氏はVisual Studio 2015のVisual Studio Tools for Apache Cordovaから、Ripple(Google Chrome上で動く、さまざまなモバイルデバイスの画面サイズや機能を確認するためのエミュレータ)を起動させ、アプリケーションを実行する場面も披露。「このようにVisual StudioではAndroidやiOS向けのアプリケーションが容易に開発できる」と語る。
生産性向上のための機能強化も図られている。コードに関する情報の表示(コードレンズ)機能や、より分かりやすくなったタスク、リファクタリングの強化、コード分析の強化などはその一例だ。また「診断機能も強化された」と井上氏。デバック実行中にさまざまな診断機能を使って、パフォーマンス状況を確認できたりタイムラインで事象を確認できたり、ブレークポイントの設定がより直感的になったりしているという。そして話題は新しい.NETへ。
大きく変わった「.NET Framework 4.6」と「.NET Core 5」
「.NETも登場から13年が経ち、最新の.NET 2015では大きく変わった」と井上氏。最大のポイントはオープンソース化されたことだという。そのほか、.NETもクロスプラットフォームに対応、MacやLinuxでも動く環境となった。.NET2015は2つのラインナップで構成される。一つが「.NET Framework 4.6」。これは.NET Framework 4.5.2の後継バージョンで、がVisual Studio 2015とともに登場した。そしてもう一つが、「.NET Core 5」である。
これはMacやLinux上でも動く新しいランタイムで、「ベータ版として提供が始まっている」と井上氏は紹介。ただ.NET Core 5はクラウドを意識しているため、かなり軽量化されているという。したがって.NET Framework側にあっても、Core 5側にないようなクラスメソッドがあるなど、.NET Core 5は.NET Frameworkのサブセット的位置づけとなる。「このあたりは注意をして使ってほしい」と井上氏。そしてこの2つのフレームワーク上でASP.NET 5が動くというわけだ。
.NET 2015の特徴としてオープンソース化されたことを先述したが、「すべてがオープンソースというわけではない」と井上氏は語る。オープンソース化されたのはクロスプラットフォーム対応の.NET Core 5のみ。こちらのソースコードがオープンソースとしてGitHub上で公開されているのである。「興味のある方は、ぜひGitHubにアクセスしてほしい。そしてバグを見つけた場合は、ぜひプルリクエストの送信を。日本の開発者の中にもプルリクエストを送り、製品の中にそのコードが反映されている方もいる。製品のライブラリの開発に貢献してほしい」と井上氏は参加者に呼びかけた。
また.NET OSSのコミュニティも増えており、.NET Foundationにアクセスすると、.NETのさまざまなプロジェクトの状況が一覧で見られるようになっている。「興味のある人はこちらも見てほしい」(井上氏)。
Visual Studio、.NETも新しくなったことで、Visual Studioのプロジェクトそのものも大きく変わったという。その代表例が、Yeomanと呼ばれるオープンソースのツールをVisual Studioのプロジェクトの中で使用できるようになったことだ。これにより、jQueryやBootstrapなどのJavaScriptをベースとしたライブラリは、YeomanのBowerというツールで管理されるようになる。またGruntやgulpという、Web開発では馴染みのあるNode.jsベースのビルドタスク自動化ツール(タスクランナー)も使えるようになった。
新しい.NET Coreのアプリケーションはサイドバイサイド実行できる上に、Xcopyで簡単に配置ができるようにもなった。それを証明するため、井上氏はWindowsマシンで開発したソースコードをMacBook(Ubuntu環境)にクローンし、WindowsとLinux双方でソースコードが同じように動いていることを証明したり、USBメモリにアプリケーションをランタイムごとコピーして、Windows 8.1の環境で実行させたりというデモを行った。
ターゲット環境へのXcopy配置をなぜ可能にしたのか。これは、アプリケーションが迅速に動く世界を目指しているからだという。さらに「Dockerへの対応も進めている」と井上氏は説明する。Dockerというアプリケーションコンテナーを活用することで、ASP.NETベースのアプリケーションを簡単にデプロイして運用していくこともできるようになるというわけだ。「このような機能拡張を図ることで、.NET Coreはクラウドに最適化されたフレームワークとして進化していっている」(井上氏)。
このような進化の背景にあるのが、現在のアプリケーション開発において迅速さや継続性が求められるという流れだ。いかに迅速にお客様が求めるサービスやアプリケーションを提供していくか。そのためには継続的にモニタリングし、そこから得たフィードバックやデータから継続的に学び、それをアプリケーション開発に生かして継続的なデリバリにつなげていくという、新しいラピッドアプリケーション開発に対応した開発スタイルを構築することが重要になる。つまりアプリケーション提供ライフサイクルを加速化する仕組みをどう作るか。それを解決する仕組みもマイクロソフトは用意している。それがVisual Studio DevOpsである。
Visual Studio DevOpsは、Visual Studio、Visual Studio Online、Microsoft Azureというソリューションを組み合わせて構築する。Visual Studio Onlineでリポジトリ、ビルド、テスト、デプロイを自動化し、アプリケーションをMicrosoft Azureにホスト。Azureで提供されているApplication Insightsという監視、分析機能を活用して、アプリの利用状況を収集し、サービス品質向上するためのヒントを探る。それを開発者にフィードバックし、アプリケーションやサービスの改善につなげていけるというわけだ。マイクロソフトでは開発視点によるDevOps実現のため、Visual Studio Familyの中でさまざまな関連機能を提供しているのだ。
最後に会場にこう呼びかけ、井上氏はセッションを締めた。「これからも私たちはすべての開発者、すべてのアプリケーション開発のために、Visual Studioを中心にさまざまなテクノロジーを提供していく」。
お問い合わせ
日本マイクロソフト株式会社
TEL: 03-4332-5300(大代表)