「そんなに新機能のこまめな追加なんて必要ないよ」という方もいるかもしれない。だがVisual Studio 2017がこのようなアップデート方針を採用しているのは、大きく変化するアプリケーション・システム開発事情が背景にある。
近年、Azureに代表されるようにMicrosoftがクラウドに大きく傾注しているのは多くが知るところだが、実際にバックグラウンドタスクの多くがクラウドへとシフトしている現状があり、それに対応するためのライブラリを積極的に取り込んで開発ツールを進化させなければいけないという事情がある。クラウドサービスの開発サイクルは早く、従来ながらのオンプレミス型のソリューションと比較しても機能アップデートの適用が早い。Azureでも毎月新サービスがリリースされており、Visual Studioの頻繁なアップデートはそれらに対応するために必須なものだからだ。
クラウドが登場した当初は、アプリケーションの提供をメインとするSaaSのほか、仮想化を想定したPaaS、IaaSといったサービスの提供がその主流だったが、現在ではDockerに代表されるコンテナ型アーキテクチャの利用増加や、それをさらに突き詰めた「サーバレス」「マイクロサービス」といった機能や関数単位でアプリケーションの構成物が切り出された仕組みも登場している。
こうしたアーキテクチャが流行する理由として井上氏は「部分入れ替えでダウンタイムを減少させる狙いがある」と述べている。こうしたトレンドの変化は過去わずか数年ほどの間に起こっており、それまでと比較しても変化が激しくなっているというのが筆者の印象だ。
「Microsoft Azure」が最初に発表されたのが2008年10月に開催されたPDCだが(当時の名称は「Windows Azure」)、おそらく10年後の変化を当時予想できていた人はMicrosoft内部にもそれほど多くなかっただろう。日々Azureは変化しており、それはトレンドをキャッチアップして利用者らのニーズをつかむためでもある。少なくとも、この分野で活動する開発者はこのトレンドを追う必要があり、これを試せるだけの環境は備えておくべきだ。
クラウドを積極的に活用するサービスも今後は増加が予想される。最近は「AI」などをキーワードにディープラーニングの研究や活用が盛んになっているが、Microsoftではこの仕組みをWeb APIを介して開発者が簡単に利用できるよう「Cognitive Services」という仕組みを用意している。
井上氏はこの仕組みを使った簡単な例として「Noodle Finder」というプログラムを紹介してくれたが、これは複数の麺の写真をCognitive Servicesに学習させておくことで、同サービスに写真として提示された麺の種類を自動判定させるというものだ。このプログラムをさらにAzure Functionsとして登録しておくことで、Blobに保存された画像ファイルを自動判別してどの種類の麺類であるかを機械的にタグ付けしていくような仕組みも構築できる。
Visual Studioといえば、WindowsやAzureの開発環境というイメージが強いが、近年ではXamarinに代表されるようにiOSやAndroid向けのアプリ開発を含むクロスプラットフォーム環境であったり、C#以外にもPythonなどGoogle関連やディープラーニング分野で注目を集める開発言語のサポートであったりと、統合開発環境としての裾野が広がっている。
その背景には、必ずしもデバイスの世界がWindows中心ではなくなり、AzureにおいてもLinuxのインスタンスで動作するサービスが増加しているなど、トレンドをキャッチアップする必要がある開発ツールとしては順当の進化だといえる。iOSアプリ開発でXcodeが必須という理由もあるが、最近ではVisual Studio for Macのような製品も登場している。
オープンソースでの活動も活発であり、GitHub上で最もコントリビュータが、多く活動が盛んなプロジェクトが「Visual Studio Code」というのも面白い。オープンソースのコーディング用エディタとしてはAtomなどと並んで人気のVisual Studio Codeだが、GitHubの統計としてこのデータが現出してくるのは非常に興味深い。余談だが、筆者のこの原稿もVisual Studio Codeで記述されており、メインの仕事道具となっている。
クラウドに限らず、モバイルプラットフォーム向けのアプリ開発においてもリリースサイクルの短縮が顕著になりつつある。「止められない」ことがクラウドでの課題だったが、モバイルアプリ開発における問題は「テスト対象となるデバイスの多さ」にある。
仮に最新のハイエンド端末だけをターゲットとしても、AndroidとiOSと合わせて10数台程度はカバーする必要があり、対象を広げるとその数は膨大となる。必要なテストをこなすだけでも時間と労力を必要とするが、Xamarin向けに提供されている各種テスト解析ツールを用いることで省力化が可能になる。また、テスト機能は別途追加コストが発生するものの、Visual Studio App Centerでは開発からテスト、配布と稼働レポートまで、アプリのライフサイクル全般を通じて一括管理が可能となっている。
これらVisual Studioの最新機能群を利用するのに必要なのがVisual Studioサブスクリプションだ。従来まで「Visual Studio with MSDN」の名称で「MSDNサブスクリプション」などと呼ばれていたが、2016年秋の改訂で「Visual Studioサブスクリプション」へと内容が変更された。
詳細は解説ページにもあるが、ライセンス買い切りタイプの「標準サブスクリプション」とライセンス期間のみ有効の「クラウドサブスクリプション」の2種類が存在している。
クラウドサブスクリプションは非永続ライセンスなので、契約終了後はVisual Studioの利用ができなくなる。短期間のプロジェクトなどで一時的な増援があり特定期間だけライセンス追加が必要な場合、クラウドサブスクリプションは月単位の利用期間のみの支払いなのでこうしたニーズに対応しやすい。
標準サブスクリプション(ボリュームライセンス)は、サブスクリプション期間を経過しても製品に解除キーを入力することで継続利用が可能だ。Visual Studioを長期的に利用する企業向けアプリケーション開発者は、ボリュームライセンスでの購入が最も安く、そして調達しやすい購入方法である。
最新の開発ツールを未体験という方であれば、まずはテストしてみることもお勧めだ。Visual Studioは導入から最初の30日間は評価期間としてカウントされるため、この間に既存環境と併存する形でテストを行える。サブスクリプションを購入すればそのまま正規環境へと移行できるので、ぜひ試してみてほしい。
Copyright © ITmedia, Inc. All Rights Reserved.
提供:BBソフトサービス株式会社
アイティメディア営業企画/制作:ITmedia PC USER 編集部/掲載内容有効期限:2018年1月23日