Microsoftは2021年11月8日、統合開発環境(IDE)の最新版「Microsoft Visual Studio 2022」をリリースした。製品名に付く“年式”が変わるメジャーバージョンアップは、2019年4月リリースの「Visual Studio 2019」以来、約2年半ぶりとなる。最新版のVisual Studio 2022では何が変わったのか。そして、それは開発者や開発組織が直面している課題をどのようにして解決してくれるのだろうか。
日本マイクロソフトで長く開発技術関連のエバンジェリストとして活動し、現在は米国のMicrosoft Corporationで、グローバル ブラックベルトチーム Azure App Innovation ソリューション スペシャリストを務める井上章氏は「今回の『Visual Studio』のメジャーバージョンアップは、この2年半から3年の間に大きく変化した、開発者を取り巻く環境に対応するためのものだ」と話す。
「『Microsoft Visual Studio 2022』は、コンテナのような新しい技術やクラウドを前提とした新たなアプリケーションアーキテクチャ、さらに、WindowsだけでなくMacやiOS/Androidデバイス、IoT(Internet of Things)デバイスの存在感が増す中でのクロスプラットフォーム対応、チームによる分散開発といったニーズがある中で“開発生産性の向上”をいかに実現するかを考えた際、マイナーアップデートではフォローし切れない部分を強化している」(井上氏)
マイナーアップデートによる強化が難しい部分として分かりやすいのは、「IDEプロセス自体の(devenv.exe)の64bit化」だろう。Visual Studio 2022で64bit化されたIDEでは、IDE 自身が利用できるメモリ空間が拡張されたことで、大量のファイルが関連付けられた大規模なプロジェクトや画像など大容量のデータを含むプロジェクトを開いたり、そうした膨大なファイル群に対して検索や置換を実行したりする際のパフォーマンスが大きく向上している。プロジェクトの規模が大きくなればなるほど、そのメリットも大きくなる。多くのコード資産、システム資産がある組織にとって歓迎すべき進化の一つだ。
また、Microsoft Corporationの会長兼CEO(最高経営責任者)であるサティア・ナデラ氏が2020年に「この2カ月で2年分に匹敵するほどのデジタルトランスフォーメーションが起こった」と語ったように、われわれは今急激な環境変化の中にあるが、開発者を取り巻く環境や、日本のビジネス環境についても例外ではない。
日本マイクロソフト Azureビジネス本部 シニアプロダクトマーケティングマネージャーの横井羽衣子氏は「デジタル化が加速する中、これまでは『ビジネスを下支えするもの』と捉えられていたITの位置付けが『急激な環境変化にもフレキシブルに対応できるよう、ビジネスを強化する上での必須条件』に変わりつつある。開発生産性を高めると同時に、開発者が持つ能力をフルに引き出すこと、つまり“Developer Velocity(開発者のベロシティ)”を高めることが、企業競争力強化にとって重要だ」と話す。
こうした環境変化により、アプリケーションを開発する組織や開発者には、具体的にどのような課題が生まれているのか。井上氏、横井氏は、代表的なものとして「クラウド開発とコンテナ開発を含む新たなアーキテクチャへの対応」「クロスプラットフォーム開発」「DevOps」「リモート開発への対応」などを挙げる。
「アプリケーションのアーキテクチャは、ここ数年での変化が激しい領域。特に、これまでWindowsベースでデスクトップ向けアプリケーションを中心に開発してきた組織や開発者にとっては、クラウド対応、マルチデバイス対応、開発言語やフレームワークの選択などが求められる。スキルセットを拡充することを含め、これらが新たなトレンドへの対応における障害となる」(井上氏)
「生産性を高めて、開発者の能力をフルに引き出しつつ、コードやアプリケーションのセキュリティをどのようにして保証し、保守性を高めるかは、開発組織にとっての新たな課題。特に、コロナ禍以降に加速した開発作業のリモート化、分散化の流れの中で、利便性と安全性をいかに両立するかという課題感は増している」(横井氏)
これらの課題に対してVisual Studio 2022は、「開発生産性の高いIDE」としての機能強化に加え、Microsoftが並行して開発している最新フレームワークへの対応、「Azure DevOps」「GitHub」をはじめとするDevOpsサービス群との連携強化といった形で、総合的に解決策を提示する。これらは、基本的にVisual Studio 2022の作業環境からシームレスにアクセスできるので、使い込んできた開発者ほど、そのメリットを強く感じられる。
生産性向上については「IntelliCode」や、アプリケーションの実行中にC++または.NETプロジェクトを編集できる「Hot Reload」といった新機能が、Visual Studio 2022の目玉として挙げられる。
IntelliCodeは、Visual Studioが備えていたコード補完機能「IntelliSence」に、機械学習による強化を施したもの。一度に一行全体までコードを自動入力できるようになった。GitHubに存在する数千のリポジトリで公開されている、評価の高いソースコードを学習したモデルを通じ、コンテキストに応じた、より精度の高いコード補完の候補やガイドを提示する。Visual Studio 2022では、行全体の補完にも対応している。
「IntelliCodeは、開発生産性の向上にAIを生かすという新しい試み。コーディングの場面で、ユーザーが特に便利さを感じられる機能だ。しかし、あくまでも“支援機能”であり、自動生成されたコードをそのまま本番で動かせるわけではない。IntelliCodeを効果的に使い、コーディングを効率化しながら、開発者はロジックを考えたり、コードの品質を高めたりといった、アプリケーション開発のより本質的な部分に注力してほしい」(井上氏)
Hot Reloadは、変更したコードの反映を、アプリケーション実行/デバッグ状態のままで行える機能だ。従来、Visual Studioでの開発作業では、実行中のアプリケーションのコードを変更した場合、一度実行を止めて、再実行する必要があった。Visual Studio 2022では、デバッガにアタッチした状態で実行した場合、C++、.NET Framework、および.NET Core 5/6アプリケーションでリアルタイムに変更に対応できるようになった。
「Hot Reloadのポイントは、Visual Studio 2022からデバッガにアタッチした状態で実行されているアプリケーションだけでなく、デバッグなしで開始した.NET 6アプリケーションに対してもコードの変更を反映できるところ。さまざまな.NETアプリケーションで、面倒な手順を踏まずにコード変更の結果を確認できる」(井上氏)
クラウド対応の観点では「特にコンテナ開発への対応が強化されている」(井上氏)。Windowsのローカル環境で、クラウド上に配備するコンテナを開発し、デバッグが可能になっていることが大きなポイントだ。
「クラウドにデプロイせずに、Linux向けコンテナを開発/デバッグする場合は、以前はローカル環境で仮想マシン環境の『Hyper-V』を実行し、その上にLinuxをインストールして実行していた。Visual Studio 2022では、WSL(Windows Subsystem for Linux)を利用して、その上でデバッガをアタッチしたコンテナを動かせる。また、Visual StudioのGUIから、コンテナの実行状況を把握することも可能だ」(井上氏)
クロスプラットフォーム開発には、iOS/Android、IoTデバイス、Mac、Linuxといった非Windows環境をターゲットとしたアプリケーション開発という観点と、Windows以外で利用できる開発環境の拡充という観点がある。
さまざまなOS、デバイスをターゲットとしたアプリケーション開発の観点で、現在Microsoftが注力しているのが「.NET 6」によるプラットフォームの統一だ。.NET 6は、これまでに個別に開発が続けられてきた「.NET Core」「Xamarin」「.NET Framework」を、単一のSDK(ソフトウェア開発キット)、BCL(Base Class Library)、ツールチェーンで統合し、多様なターゲットに向けた開発作業をシンプルにすることを目指して整備が進められている。
.NET上でWebAssembly対応のフロントエンドWeb UIを開発できる「ASP.NET Core Blazor」やXamarinの進化形である「.NET MAUI」(Multi-platform App User Interface)といった新たなフレームワークの開発も進んでいる。
これらが正式に利用可能になることで、Visual Studio 2022は、オンプレミスからクラウドまで、さらにはWindows PCからスマートデバイス、IoTデバイス、Webクライアントまでの幅広い環境をターゲットとした開発ツールとしての存在感を、さらに増すことになる。
Visual Studioは、既にWindows環境だけに縛られたものではない。コードエディタ「Visual Studio Code」は、Windowsに加えて、MacやLinux、クラウド上で動作する。IDEとしてのVisual StudioはMac版も存在するが、最新のVisual Studio 2022に合わせたMac版「Visual Studio 2022 for Mac」も計画されている。現在はプレビュー段階にあり、近日中にリリースされる予定だ。Visual Studio 2022 for Macでは、macOS Native UIベースでリビルドされたUIによるパフォーマンスの向上や、Windows版Visual StudioとのUIの統一性が図られることにより、ヘルプでの参照のしやすさなど、利便性が大幅に向上している。
Visual Studio 2022の進化で特筆すべき他のポイントとしては、「GitHub」とのさらなる連携強化がある。2018年の買収後、MicrosoftはGitHub自体の機能強化と、Visual Studioでの連携機能強化を並行して進めてきた。
端的にいえば、Visual Studio 2022では、GitHubおよびGitに関連する操作について、GUIを通じて行える範囲が拡大している。
「例えば、作業をスタートするに当たってVisual StudioのGUI上でGitHubのリポジトリからコードをクローンし、プロジェクトファイルを開くことができる。ブランチ管理などを含め、GitHubを中心とした開発ワークフローを作業環境から離れずにシームレスに行える」(井上氏)
チーム開発や他のエンジニアとのコラボレーション機能も強化が続いている。例えば、Visual Studio(旧バージョンを含む)やVisual Studio Codeで利用できる「Visual Studio Live Share」をGitHubと組み合わせて利用することで、「コードレビューをプルリクエストで依頼し、レビュアーとリアルタイムで共同編集しながら品質向上を図る」といったワークフローも可能だ。
「『GitHub Actions』によるCI/CD(継続的インテグレーション/継続的デリバリー)の実践に加え、現在開発中の『GitHub Codespaces』では、開発環境そのものをGitHub上にホストし、各エンジニアが自分に合った環境を、ブラウザ経由で利用しながらリモートでコラボレーションできる。さらに、『Azure Virtual Desktop』『Windows 365』といったサービスと組み合わせることで、場所やツールの選択肢はさらに増える」(横井氏)
2020年10月には、Visual Studio Enterprise版の新たなライセンスメニューとして「Visual Studio subscriptions with GitHub Enterprise」の提供も開始。このライセンスでは、EA(Enterprise Agreement)を契約しているユーザーが、Visual Studio Enterprise版のサブスクリプションと、強力なユーザー認証機能やアクセスログ監査などを含むセキュリティ機能を備えた「GitHub Enterprise」のサブスクリプションを、よりリーズナブルな価格で利用できる。
「開発の生産性やアジリティを高めながら、運用効率を維持し、セキュリティも保証するのは、以前は非常に難しいことだった。しかし、今ではクラウドサービスやツールをうまく活用することで、そのハードルを大幅に下げることができる。開発生産性を高めることが、企業価値を高めることにつながる今だからこそ、ぜひそうした取り組みを進めてほしい」(横井氏)
Microsoftは、開発技術への積極的な投資を現在も継続している。では、IDEとしてのVisual Studioを最新版にアップグレードすることで、ユーザーが得られる価値とは何なのか。Microsoftは、Visual Studioのマイナーアップグレードを四半期ベースで進めてきた。そのため、「2019」の最終版と比較した場合、「2022」との差分は、一見あまり大きく感じられないかもしれない。しかし、「Visual Studio 2022で実装された新機能を積極的に使ってみることで、実感できるメリットは大きいはずだ」と、井上氏は指摘する。
「IntelliCode、Hot Reload、GitHubと連携するLive Shareなどを、まずは体験してみて、その便利さをアプリケーション開発に取り入れてほしい。特に、これまでWindows環境で、Windowsクライアント向けのアプリケーション開発に取り組んできた開発者にとっては、使い慣れたVisual Studioを引き続き中心にしながら、クラウド開発、クロスプラットフォーム開発、チーム開発といったトレンドに対応できることはアドバンテージになる」(井上氏)
「Visual Studioシリーズは、開発者に寄り添ったツールとして、これまでも高い評価を得てきた。その中で、前バージョンから3年弱の間に、Microsoft自身が蓄積してきた、最新の開発トレンドに対する知見や、開発生産性向上のノウハウを注ぎ込んだのがVisual Studio 2022だ。特に、本バージョンでは念願であった IDE 自身の 64bit 対応なども大きな進化の一つだ。実際に使ってみて、その進化を体験し、企業の価値を高める開発組織作りに役立ててほしい」(横井氏)
「Microsoft Developer Day」は、開発者のための、開発者によるオンライン技術イベントです。Visual Studio 2022、.NET 6、GitHub Enterprise、Microsoft Azureなどの最新技術を通して、チャレンジする全ての開発者の皆さまの参加を歓迎します。
お申し込み・詳細はこちらから
Copyright © ITmedia, Inc. All Rights Reserved.
提供:日本マイクロソフト株式会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2022年1月12日