ASCII.jp 開発生産性の向上を実感!64ビット化した「Visual Studio 2022」の魅力
マイクロソフトが誇る統合開発環境の最新版「Visual Studio 2022」がいよいよリリースされた。一途に開発生産性の向上を追い求めてきた末の今回のメジャーバージョンアップでは、いよいよ64ビット化を実現し、GitHubとの連携強化、ホットリロードといった新機能も搭載。そしてVisual Studio CodeやブラウザベースのVisual Studio Code for the Web(vscode.dev)、新設計のMac版などVisual Studioファミリーとしてのラインナップ強化も行なった。マイクロソフトコーポレーション 井上章氏、日本マイクロソフト 横井 羽衣子氏に、Visual Studio 2022の魅力について聞いた。
メジャーバージョンアップの存在意義でもある「64ビット化」
統合型開発ツールとしてパッケージングされた1998年発売の「Visual Studio 6.0」以来、着々とバージョンアップを遂げてきたVisual Studio。さまざまな言語でのコーディングのみならず、ビルド、デバッグ、デプロイ、共同作業、分析、学習まで開発に必要な作業を包括的にカバーする。
Visual Studio 2015まではパッケージ版の提供だったが、2017以降はダウンロード版のみで提供してきた。前バージョンはVisual Studio 2019で、約2年間大きな新機能追加はなかったが、アジャイルな開発体制を敷いて、つねにアップデートを繰り返してきた。
短い周期でアップデートを繰り返す中、あえてメジャーバージョンアップを謳うVisual Studio 2022の最大の特徴は、やはり64ビット化だ。多くのマシンが当たり前のように大容量メモリを搭載し、OSも軒並み64ビット化したが、Visual Studioは長らく32ビット版だった。しかし、今回ようやく実行ファイル(devenv.exe)が64ビット版として提供され、大容量メモリの恩恵を受けることが可能になった。
Visual Studio 2022の実行ファイルが64ビット版へ
64ビット化がこのタイミングになったことについてマイクロソフト コーポレーション グローバルブラックベルト Azure App Innovation スペシャリストの井上章氏は、「開発に時間がかかったというのもありますが、どのタイミングで提供するかというのもポイントでした」と語る。その意味では、「いよいよ、そのときが来た」というのが正しいだろう。実際、Visual Studio 2022では、サポートOSもWindows 10以降で、32ビットOSで動作しない。
井上氏は、「日々アジャイルで開発されているため、メジャーバージョンアップの意義が薄れているのは確かです。Visual Studio 2019もマイナーバージョンアップは繰り返されてきました。ただ、今回メジャーバージョンアップを謳うからには、それなりに大きな内部的な刷新があり、それが32ビット版から64ビット版への移行です」と語る。
体感できるパフォーマンス改善 64ビット化の恩恵
64ビット化の恩恵はもちろんパフォーマンスの改善だ。「なにより起動速度が違いますし、エディタ内での検索速度も高速化されています。利用できるメモリ空間が拡がったことで、多くのソースコードで構成される大規模なプロジェクトも高速に開くことができます」と井上氏はアピールする。
実際、マイクロソフトで30万以上のファイルから構成される1600もの大規模プロジェクトを開く時間を計測したところ、Visual Studio 2019では6分28秒かかったが、2022では約1/3の2分39秒で開いたという。「平均して3倍くらいは速くなる」とのことで、生産性の向上に直接寄与している。
起動時間だけではなく、ゲーム開発で用いられるUnreal Engineにおいて後述するインテリセンスが利用可能になるまでの時間も、11秒から1秒に短縮されたという(関連記事:[Visual Studio 2022] Unreal EngineプロジェクトのIntelliSenseが18倍も早くなりました!)。
日本マイクロソフト クラウド&エンタープライズ マーケティング本部シニア プロダクト マネージャ 横井 羽衣子氏は、「起動や動作はもちろんですが、最近はエンタープライズでのプロジェクトが大規模化しているので、外部キャッシュではなく、インメモリでコードを検索できるメリットはとても大きいんです。Visual Studio 2022の64ビット化で開発の生産性向上は実感いただけると思います」と語る。
Visual Studioの64ビット化に喜んでいるのは横井氏も同じだ。「もともとVisual Studioのサポートで入社したのですが、ソフトウェアの根幹をなす改良ということもあり、64ビット化のデザインチェンジリクエストは何度もリジェクトされてきました(笑)。だから、今回の64ビット化は感慨深いです。相当、中身に手を入れたんだと思います」と語る。
GitHub連携やインテリセンスも強化 ホットリロードで試行錯誤がやりやすく
新バージョンではエディタ周りも強化されており、今回はGitHubとの連携が強化されている。たとえば、プロジェクトを開始する際は、新規プロジェクトを作成したり、ローカルファイルを開いたりする以外に、GitHub上のリポジトリを直接指定してクローンすることもできる。
GitHubのリポジトリから直接クローンできる(井上氏のデモから)
GitHubの買収からすでに4年が経ち、マイクロソフトの戦略においてもGitHubの重要性はますます高まっている。横井氏は、「たとえば、2020年10月からVisual Studioの一部のエディションにGitHub Enterpriseがバンドルされています。GitHubとAzureDevOpsのチームも統合され、いよいよ両者のシナジーが高まってきました。2019に比べてもGitHubとの連携を実感いただけると思っています。
また、コーディング作業において、次に入力するメソッドの候補をAIで予測してくれる「IntelliCode」も強化。コンテキスト上、入力される確率の高いメソッドが次々と表示されるので、開発者はドキュメントやAPIの仕様書を見なくてもスピーディにコーディング作業を進めることができる。
さらにラウンチイベントでもアピールされた新機能が「ホットリロード」だ。従来、コーディング中にデバッグを行なう場合は、メニューからデバッガーをアタッチして実行したり、直接プログラムを実行したりする必要があった。再度コードを修正してロジックを変更する場合は、走らせていたプログラムを終了し、修正した後に再度ビルドして、プログラムを再実行させなければならなかった。
その点、ホットリロードではコードを更新して、保存を行なえば、そのまま実行中のプログラムに反映することができる。よりコーディングに専念でき、試行錯誤を繰り返せるという点では、非常に有用なアップデートと言えるだろう。なお、ホットリロードはファイル保存時に自動更新する方法と手動で更新する方法の2つがサポートされており、.NET 4.6以降やC++のプロジェクトで利用できる。
マルチプラットフォーム対応も強化した。まずはWindows上でLinuxを動作させるWSLの機能を使って、Linuxのコンテナとしてアプリケーションをビルドすることが可能になった。Windows上で動作する開発環境でありながら、Linuxの開発もシームレスに行なえるわけだ。ローカルで動作するコンテナの状態をVisual Studio上から簡単にチェックできるため、クラウドネイティブなアプリケーション開発もより効率的に行なえる。
Visual Studioファミリーも拡充 UIを作り直したMac版も登場
Visual Studioは、基本.NET開発者や昔からのユーザーが多い製品だが、Visual StudioファミリーとしてはWeb開発者向けの「Visual Studio Code」も用意されている。マルチプラットフォームのコードエディターであるVisual Studio Codeは、多機能なVisual Studioに比べてシンプルで、動作も軽量。一方で、チーム開発の機能も充実しているため、OSSをベースとしたチーム開発に向いている。
Visual Studio Codeに関しては、Visual Studio Code for the Web(vscode.dev)も2021年10月にリリースされた。こちらはブラウザベースの軽量版なVisual Studio Codeになる。ローカルマシンでフォルダを開いてコーディングしたり、GitHubからリポジトリやフォークを開いたり、チームメンバーとの共同開発を容易にするVisual Studio Live Shareももちろん利用できる。
横井氏曰く、「サーバーレスの開発環境を提供したいというのは、マイクロソフトとしては長らくの野望でした。その点、ブラウザベースのVScode.devはインストールして使うという以外の選択肢を提供します」とのこと。同じくブラウザベースの「GitHub Codespaces」とあわせて、用途によって使い分けるのがオススメだ(関連記事:Visual Studio Code for the Web (vscode.dev) が Public Preview になりました)。
今後マイクロソフトが取り込んでいきたいと考えているのが、実はMacユーザーだ。今回、プレビュー版として「Visual Studio 2022 for Mac」がリリースされているが、こちらはApple M1プロセッサーやMac OSのネイティブUIをサポートすべく、一から作り直したものだ。横井氏は、「Mac OSのネイティブUIを使うことでパフォーマンスを高速化し、Windows版にも操作性を近づけています。マルチクラウド、マルチプラットフォームを標榜しているので、どんな開発者でも自分の使っている環境で、素晴らしい開発体験を得られるよう、Mac版も鋭意開発を進めています」とアピールする。
Visual Studio 2022 for Macもイチから再設計
Visual Studioファミリーの拡充には、GitHub上で管理されたソースコードを中心とし、使いやすい開発ツールを適材適所で使ってもらうというマイクロソフトの方向性が感じられる。
一見すると新機能は地味? その背景にある「ヒーローはあくまで開発者」
Visual Studioと言えば、長らくWindows上で動くアプリケーションの開発で用いられてきたツールだ。そのため、メインの用途はWPFやWindows Formsを用いたエンタープライズでの業務アプリケーション開発だが、一方でWebサービスやクラウド、IoTなどの開発でVisual Studioを用いているユーザーも増えている。
たとえば、ASP.NETで開発したオンプレミスのWebシステムをクラウドへ移行する動きも加速しているという。「Visual Studioでは開発したアプリケーションを、直接AzureやDockerコンテナに展開することができます。今まで学んで来たお作法を使って、オンプレ、クラウドを意識することなく、システムをデプロイできます」(井上氏)
もう1つの潮流はモバイルアプリだ。Visual Studioでは「Xamarin」というフレームワークを用いて、C#を用いたモバイル開発が可能になっているが、同時期に.NET 6がバージョンアップしたことで、こうしたモバイル開発がますます容易になっている。「昨今では開発者もモバイルアプリに向き合う必要があります。今までC#でデスクトップアプリを書いていた方も、Visual Studioを使うことで、自分のスキルを活かしながら、AndroidやiOSネイティブのアプリケーションを作っています」と井上氏は説明する。
総じて、今回のVisual Studio 2022の魅力は、やはり開発生産性の向上というテーマに対して、マイクロソフトが現時点で持てるパワーをすべて注ぎ込んだところにある。「64ビット化以外の新機能をリストアップしたら、社内からは『ちょっと地味じゃない?』と言われました(笑)。確かに地味ですが、ユーザーの声に正面から答えたアップデートは本当に多いんです」と横井氏は語る。
歴史のあるVisual Studioは、市場をリードする開発ツールとして「変わることも求められる」が、既存のユーザーを戸惑わせないため、「変わらないことも求められる」という運命を背負う。実際、ユニバーサルデザインを意識して、アイコンやフォントなどの外観も変わっているが、気づくユーザーは少ないかもしれない。しかし、実際に触った開発者は、今回のバージョンアップが生産性向上という目標から1ミリもぶれていないことに気がつく。「ヒーローはあくまで開発者。だから、私たちは新機能を派手にアピールしたりしない」と横井氏。実にマイクロソフトらしいVisual Studioのバージョンアップだ。
2月3日に開催される「Microsoft Developer Day」では、こうしたVisual Studio 2022や.NET 6を含めたマイクロソフトの最新開発プラットフォームについてのセッションも開催されるので、興味ある方はぜひ参加してもらいたい。
■関連サイト
【参加費無料】2月3日 13:00 ~ 開催 Microsoft Developer Day開発者のための開発者によるオンライン技術イベント。日々チャレンジされているすべての開発者の皆様に、Visual Studio 2022、.NET 6、GitHub Enterprise、Azureなどの最新技術情報をお届けします。お申込みはこちら
【コミュニティイベント】2月3日 18:30 ~ 開催 Microsoft Developer Night技術コミュニティ向けのイベント「Microsoft Developer Night」を開催。”夜の部” ともいえる本イベントは、Java、ウェブ開発、AI、IoT、Mixed RealityなどMicrosoft Developer Dayには予定されていない内容を含む各種開発技術に関するセッションで構成され、Microsoft MVP受賞者が最新の技術知識を解説します。お申込みはこちら
(提供:日本マイクロソフト)