iOS/Android開発にも対応!さまざまなアプリの開発工程を高速化する Visual Studio 2015 + Visual Studio Online

 

Visual Studioを知っている人も、昔使っていた人も、全然使ったことがない人もこんにちは。Microsoft MVP for Visual Studio ALM の古賀慎一です。

さぁ!待ちに待った Visual Studio 2015 がいよいよリリースされますね!

あれ?そこまで待ってないですか?いやいやいやいやVisual Studio 2015 はヤバイですよ。これ、使うとホントに他のエディタや前のバージョンは使えなくなります。

それも、開発者が難しい勉強をしなくても「今すぐ使えちゃう」新機能が凄いんです!

プロジェクトファイルを変更しないで開いてくれるので、これまでのVisual Studioや他のエディタと共存して使っても問題ありません。今回はちょっと一緒に試してみませんか?

 

Visual Studio 2015 + Visual Studio Online での開発全体像

clip_image002

※図は https://blogs.msdn.com/b/visualstudio_jpn/archive/2015/05/19/visual-studio-2015-and-windows-10-countdown-01.aspx より引用

Visual Studio でALM(アプリケーション・ライフサイクル・マネージメント)と言ったらこの図。「もう何度も見たよ!」という方も多いはず。Azure Application Insights が追加されるなど、さらにDevOps(開発・運用)をトータルでカバーできるように・・・って話も凄くてイイんですが、それはまた別の機会に。

開発者として一番気になるのは、この中で「開発・テスト」から「リリース」の部分。

自分に「タスク」がアサインされた後、Visual Studioで「開発」を行って、ソースコードをVisual Studio Onlineに「チェックイン」してタスクが完了する。そしてまた、「テストケース」に従ってテストを実施したら、その結果が「Visual Studio Online」に表示されて、問題が無ければスケジュールどおりリリースをする。

この流れをVisual Studioで扱えるのは、まぁ、知ってはいるけど、じゃぁ、それが実際どのくらい楽に便利になるのよ!?新しい Visual Studio 2015で!って、ところですよね。

 

設定なしですぐに使える!品質と生産性を上げるための機能

Visual Studio 2015を起動して、設定不要で、すぐに使える機能を見てみましょう。

クイックアクション(Light Bulb)

Visual Studio2015では、コードの選択している範囲やカーソルのある変数やブロックで「もっとこうした方が良いかも」という修正方法を提案してくれます。

clip_image004

行の左端に「電球」のアイコンがでるのでクリックします。ショートカットキー Ctrl + .(ドット)でもOK。修正候補が表示されるので、どの修正を行うか選択して、さらに右に表示されるプレビューを確認します。Before・Afterを確認して、「これいいな」と思ったらクリックするだけで修正を適用できます。

名前空間を長く書かずにusingに変更、不要なusingの削除、変数名の変更、メソッドの抽出、ジェネリックの型指定を省略・・・簡単だけど地味に手作業が面倒だった修正が簡単に適用できます。

え?これまでのバージョンでもあったじゃん?という方はすばらしい!Visual Studioを使いこなしてる方ですね!しかし、新しいVisual Studioではコンパイラが一新されたので、リアルタイムに提案してくれるところが大きく違います。提案内容が充実したうえに、ビルドしなくても表示されたり、とにかく早いんです。

2015に慣れてから2013以前に戻ると、おろ?っと、なんか遅れる感じになります。2013以前のプロジェクトファイルを2015でそのまま使えるので、ぜひ試してみてください。

コード分析強化とCode Analysis for Azure

クイックアクション(Light Bulb)のすばらしいところは、コードを「修正しろ」って言われるだけでなくて、ちゃんと「修正してくれる」ことですね。

さらに凄いことに、このクイックアクションで使用できる「静的コード分析」を自分で作れるようになったことです。いや~、自分で作ることはほぼ無いですよね。でも、自分でも作れるって事は、誰かの作ったフリーのコード分析が公開されて使えるようになるってことなんですよね!

clip_image006

l Microsoft Code Analysis for Azure 0.4.0-beta (NuGet Gallery)
https://www.nuget.org/packages/Microsoft.VisualStudio.Azure.CodeAnalysis/

例えば、Azure用のコード分析を[NuGet パッケージの管理]からプロジェクトに追加すると、Azure向けの開発で気をつけなければならないことを教えてくれるようになります。必要なプロジェクトにだけ、コード分析を追加することができるので、出来るところから始められてすごく良い感じです。

診断ツール・タイムライン

Visual Studio 2015ではこれまでどおりのF5デバッグを開始するだけで、診断ツールの表示が開いて、タイムラインにどんなイベントが発生したか?また、そのときのメモリーやCPU使用率はどうであったのか?が表示されます。

clip_image008

ブレイク中にタイムラインの範囲を絞って、「ここからここまでに起きたイベントは?」とさかのぼって確認することが出来ます。例えば「このときにはこんなSQLクエリが実行されていたんだ」とか、あるメソッドから別のメソッドの呼び出しまでに何秒かかっているとか、視覚的に確認することが出来ます。

しかもこれ、Visual Studio 2010からあるIntelliTraceの仕組みで動いているので、お客様の環境でIntelliTraceログを収集してもらって、自分の会社の開発用のPCでF5デバッグしているかのような感覚で起きていた事を確認することが出来るのです!

 

サンプルコードで試してみよう!IntelliTest と VSO Build

さらにもうひとつ!サンプルコードを使って新機能を試してみましょう。

IntelliTest (Smart Unit Tests) で単体テストを自動生成

MicrosoftコードレシピにVisual Studio 2013向けの単体テストのサンプルがあるので、これをダウンロードしてVisual Studio 2015で開いてください。これはこれまでの単体テストの作り方を説明したサンプルです。

l TFS・VSO・ローカルで動作するデータベースを使った単体テストの作り方・量産方法
https://code.msdn.microsoft.com/TFSVSO-dc7b8c9d

その中の SampleClassLibraryプロジェクトの Simple/StaticSmoethingExecutorクラスのPlusArguments メソッドを右クリックして、[Run IntelliTest]を実行します。

clip_image010

なんと!メソッドの内容を自動的に読み取って、コードカバレッジ100%になるテストパターンを作成してくれるのです。もちろん、Visual Studioの単体テストプロジェクトとして保存して、何度でも実行出来ます。これイイですよね!

さらに、Visual Studio 2010まであった、空の単体テストをメソッドから作成する機能も復活しています。

複雑な条件の単体テストは自分でコードを作って、簡単だけど大量のパターンを網羅しなければならない単体テストはVisual Studioに自動で作らせる。そんなスタイルで、さくっと単体テストを量産してしまうことができます。もう、時間が無くて作れないなんて苦い思いをしなくていいんです。

新しくなった Visual Studio Online Build で簡単ビルド

さらにこのソースコードを Visual Studio Onlineでビルドしてみましょう。(※Visual Studio Onlineは5名まで無料、msdnユーザーなら全員無料で使用できます。自分用のVisual Studio Onlineアカウントをご用意ください。)

l Visual Studio Online の価格
https://www.visualstudio.com/pricing/visual-studio-online-pricing-vs

自分のVisual Studio Onlineにソースコードをチェックインしたら、[BUILD]のページから、Build definitions にある +(プラス)アイコンを押して、新しいビルド定義を作成します。

clip_image012

[Visual Studio]を選んで、後は何も変えずに保存するだけでOKです。

さらに[Queue build…]を押すと、そのままVisual Studio Online上でソースコードのビルドと単体テストが実行されます。

clip_image014

ソースコードのビルドが実行されて・・・

clip_image016

単体テストも実行されて正常にテストをパスしたことが確認出来ます。

clip_image018

結果はいつでも[BUILD]ページで確認出来ます。

自動ビルドと自動テストに加えて、Azureへのデプロイなども構成することができます。ALMすべてをカバーするVisual Studio Onlineであれば、いわゆる「継続的インテグレーション」を簡単に実践できますね!

(※Visual Studio 2013用のサンプルで紹介していたこれまでのやり方も[XMAL definitions]と名前が変わっていますが、BUILDのページで扱うことが出来ます)

XcodeやXamarinを使った iOS・Androidアプリのビルドも可能に

(既にビルド定義の追加の画面で気付いた方もいると思いますが)なんと、Visual Studio Onlineでは XcodeやXamarinを使った iOS・Androidアプリのビルドも可能になりました。

これは「ビルドエージェント」の入った環境を自分で用意しないといけないので、先ほどのビルドと比べると、すぐに試すというのは難しいですが、既に Mac OS X Server や他のビルドサーバーを用意して自動ビルド・自動テストを構成している方にとっては、Visual Studio Onlineと連携して扱えるようになるのは、嬉しいのではないでしょうか?

l Build an Xcode project for iOS
https://msdn.microsoft.com/Library/vs/alm/Build/xcode/index

最近の話題は「Visual Studio でiOSアプリ開発と言えば Xamarin」という感じですが、実は Visual Studio OnlineはGitが使えるようになっているので、Xcodeでの開発でもそのまま連携することが出来ます。

もちろん、EclipseならTeam Explorer Everywhereを使って、Visual Studioとほとんど同じ感覚でVisual Studio Onlineとの連携機能を利用することが出来ます。

l Microsoft Team Explorer Everywhere 2015
https://www.microsoft.com/ja-JP/download/details.aspx?id=47727

clip_image020

※図はhttps://blogs.msdn.com/b/visualstudioalm/archive/2015/06/05/visual-studio-online-supports-true-cross_2d00_platform-development-_2200_team-explorer-everywhere_2200_-tee-jenkins-git-xcode-mac-tfs-vso-_2200_visual-studio-online_2200_.aspxより引用

どうですか?いよいよ Visual Studio 2015と新しい Visual Studio Onlineを実践してみたくなりますよね!

※記事の内容・画面キャプチャはVisual Studio 2015 RC(2015年7月13日現在)のものです。一部製品版とは名称などが異なる場合があります。ご注意ください。

clip_image002

古賀 慎一

Microsoft MVP for Visual Studio ALM

ソフトバンク・テクノロジー株式会社

https://tech.surviveplus.net/