いま開発ツールの世界に何が起きているのか――最新ツールとVisual Studioサブスクリプションで変わる開発環境(2/2 ページ)

» 2018年01月17日 10時00分 公開
PR
前のページへ 1|2       

背景にはクラウドの技術トレンドの急速な変化も

 「そんなに新機能のこまめな追加なんて必要ないよ」という方もいるかもしれない。だがVisual Studio 2017がこのようなアップデート方針を採用しているのは、大きく変化するアプリケーション・システム開発事情が背景にある。

 近年、Azureに代表されるようにMicrosoftがクラウドに大きく傾注しているのは多くが知るところだが、実際にバックグラウンドタスクの多くがクラウドへとシフトしている現状があり、それに対応するためのライブラリを積極的に取り込んで開発ツールを進化させなければいけないという事情がある。クラウドサービスの開発サイクルは早く、従来ながらのオンプレミス型のソリューションと比較しても機能アップデートの適用が早い。Azureでも毎月新サービスがリリースされており、Visual Studioの頻繁なアップデートはそれらに対応するために必須なものだからだ。

プラットフォームの変化。2010年代に入ってクラウドがシステムアーキテクチャの主役となりつつあるが、クラウド内部でも技術トレンドが短いサイクルで大きく変化している

 クラウドが登場した当初は、アプリケーションの提供をメインとするSaaSのほか、仮想化を想定したPaaS、IaaSといったサービスの提供がその主流だったが、現在ではDockerに代表されるコンテナ型アーキテクチャの利用増加や、それをさらに突き詰めた「サーバレス」「マイクロサービス」といった機能や関数単位でアプリケーションの構成物が切り出された仕組みも登場している。

 こうしたアーキテクチャが流行する理由として井上氏は「部分入れ替えでダウンタイムを減少させる狙いがある」と述べている。こうしたトレンドの変化は過去わずか数年ほどの間に起こっており、それまでと比較しても変化が激しくなっているというのが筆者の印象だ。


 「Microsoft Azure」が最初に発表されたのが2008年10月に開催されたPDCだが(当時の名称は「Windows Azure」)、おそらく10年後の変化を当時予想できていた人はMicrosoft内部にもそれほど多くなかっただろう。日々Azureは変化しており、それはトレンドをキャッチアップして利用者らのニーズをつかむためでもある。少なくとも、この分野で活動する開発者はこのトレンドを追う必要があり、これを試せるだけの環境は備えておくべきだ。

クラウドにおける近年の変化の代表的なものはWindows Server 2016でも正式対応したDockerコンテナだが、最近ではさらに機能を細分化させた「サーバレス」のアーキテクチャに注目が集まっており、MicrosoftはAzure Functionsで対応していく

 クラウドを積極的に活用するサービスも今後は増加が予想される。最近は「AI」などをキーワードにディープラーニングの研究や活用が盛んになっているが、Microsoftではこの仕組みをWeb APIを介して開発者が簡単に利用できるよう「Cognitive Services」という仕組みを用意している。

 井上氏はこの仕組みを使った簡単な例として「Noodle Finder」というプログラムを紹介してくれたが、これは複数の麺の写真をCognitive Servicesに学習させておくことで、同サービスに写真として提示された麺の種類を自動判定させるというものだ。このプログラムをさらにAzure Functionsとして登録しておくことで、Blobに保存された画像ファイルを自動判別してどの種類の麺類であるかを機械的にタグ付けしていくような仕組みも構築できる。

REST APIでさまざまな“認知”機能をプログラムに付与できるMicrosoftのCognitive Services

Cognitive Servicesを使った画像の自動判別プログラム。Azureとの併用でさらなる応用が可能

広がるVisual Studioエコシステムとサブスクリプション

 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で記述されており、メインの仕事道具となっている。

現在GitHub上で最も盛んなオープンソースプロジェクトとして名前が挙がっているのが「Visual Studio Code」

Visual Studio App Centerで提供される機能群

 クラウドに限らず、モバイルプラットフォーム向けのアプリ開発においてもリリースサイクルの短縮が顕著になりつつある。「止められない」ことがクラウドでの課題だったが、モバイルアプリ開発における問題は「テスト対象となるデバイスの多さ」にある。

モバイルアプリ開発で提供されるツール群

 仮に最新のハイエンド端末だけをターゲットとしても、AndroidとiOSと合わせて10数台程度はカバーする必要があり、対象を広げるとその数は膨大となる。必要なテストをこなすだけでも時間と労力を必要とするが、Xamarin向けに提供されている各種テスト解析ツールを用いることで省力化が可能になる。また、テスト機能は別途追加コストが発生するものの、Visual Studio App Centerでは開発からテスト、配布と稼働レポートまで、アプリのライフサイクル全般を通じて一括管理が可能となっている。

Visual Studio App Center 無料レベルサービス内容

 これらVisual Studioの最新機能群を利用するのに必要なのがVisual Studioサブスクリプションだ。従来まで「Visual Studio with MSDN」の名称で「MSDNサブスクリプション」などと呼ばれていたが、2016年秋の改訂で「Visual Studioサブスクリプション」へと内容が変更された。

 詳細は解説ページにもあるが、ライセンス買い切りタイプの「標準サブスクリプション」とライセンス期間のみ有効の「クラウドサブスクリプション」の2種類が存在している。

 クラウドサブスクリプションは非永続ライセンスなので、契約終了後はVisual Studioの利用ができなくなる。短期間のプロジェクトなどで一時的な増援があり特定期間だけライセンス追加が必要な場合、クラウドサブスクリプションは月単位の利用期間のみの支払いなのでこうしたニーズに対応しやすい。

 標準サブスクリプション(ボリュームライセンス)は、サブスクリプション期間を経過しても製品に解除キーを入力することで継続利用が可能だ。Visual Studioを長期的に利用する企業向けアプリケーション開発者は、ボリュームライセンスでの購入が最も安く、そして調達しやすい購入方法である。

 最新の開発ツールを未体験という方であれば、まずはテストしてみることもお勧めだ。Visual Studioは導入から最初の30日間は評価期間としてカウントされるため、この間に既存環境と併存する形でテストを行える。サブスクリプションを購入すればそのまま正規環境へと移行できるので、ぜひ試してみてほしい。

アンケート
前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.


提供:BBソフトサービス株式会社
アイティメディア営業企画/制作:ITmedia PC USER 編集部/掲載内容有効期限:2018年1月23日