開発生産性を高める秘訣とは?
次に井上氏は、.NET 6で大幅な機能アップデートが行われた「ASP.NET Core Blazor WebAssembly」でプロジェクトを作成するデモに入った。BlazorはWeb アプリケーションのクライアントサイドのWeb UIを、.NETのコードとしてC#とRazor構文で書くことができるフレームワークだ。
井上氏がVisual Studio 2022でBlazorを開くと、buttonタグの中にonclickのイベントハンドラがあり、ボタンがクリックされるとIncrementCountメソッドが呼ばれる記述があった。ボタンがクリックされるとパラメータ変数が増えていくというカウンターのページである。
Visual Studio 2022とブラウザの画面を並べて見てみる。通常、文字列を変えるなどVisual Studio 2022でソースコードを書き換えた際には、アプリケーションを再起動する必要がある。しかしVisual Studio 2022で搭載された「ホットリロード機能」を使えば、プロセスの再起動なしにソースコードを即座に反映することができる。ツールバーにあるホットリロードのボタンをクリックするだけで、変更した内容が反映されるのだ。
このホットリロード機能は.NET 4.6以降のバージョンと、すべてのプロジェクトタイプで使うことができ、今回のようなUIの見た目だけでなく、ロジックの変更でも同様に利用することが可能となっている。
さて、今度はクラウドの話も交ぜながら、サーバーサイドに関するVisual Studio 2022の機能を見ていこう。現在、Azureでは「Azure Container Apps」という新しいサービス(2022年3月現在プレビュー)が使えるようになっている。Azure Container Appsは、コンテナ化したアプリケーションをAzure上でデプロイして運用できるものだ。このAzure Container Appsを使えば、インフラ周りの開発知識がなくても、Kubernetesベースのオーケストレータ上で簡単にデプロイして動かすことが可能となる。
井上氏はVisual Studio 2022でプロジェクトの追加メニューの中から「Dockerサポート」をクリックし、ターゲットOSでLinuxを選択することで、Dockerファイルを自動生成した。ちなみにVisual Studio 2022の中で、Dockerをベースとしてローカル環境でデバッグすることも可能だ。
「デプロイのリビジョン管理や、トラフィックを分散させたカナリアリリースやA/Bテスト、デプロイしたコンテナに対するスケーリングの設定やコンテナ内のイメージやCPUのリソース配分など、Kubernetesを意識せずにAzureでコンテナアプリケーションを運用できる」(井上氏)
今回紹介した機能以外にも、Visual Studio 2022では細かな機能強化が多数施されている。詳細はこちらのリリースノートより確認できる。
ここまでのデモではVisual Studio 2022のWindows版を使用してきたが、「Visual Studio 2022 for Mac」もリリースされる予定だ。(本イベントの実施日、2022年2月16日にPreview 6 がリリースされた)従来のMac版よりも親しみやすいUIになっているほか、最新のApple M1プロセッサーもネイティブサポートされている。井上氏はVisual Studio 2022 for MacからXamarinのプロジェクトを開き、C#でiOSのアプリケーションを開発している様子を示した。
続いて、Visual Studio 2022のファミリーである「Visual Studio Code」が紹介された。こちらはmacOS、Linux、Windowsで操作できる高機能なエディターだ。Visual Studio Codeでは、.NETだけでなくOSSをベースとした各種言語フレームワークを使っていろいろな開発に活用できる。
Visual Studio Codeには「ライブシェア」機能があり、複数人で同時にファイルを編集したりデバッグしたりすることができる。リモートワークをしながら遠隔でレビューしてもらいたいときなどに最適な機能だ。井上氏はWindows版のVisual Studio 2022で開いたソースコードを、Mac上のVisual Studio Codeで同時に開き、共同編集して見せた。
そして、もうひとつ忘れてはならない開発ツールとして「GitHub Codespaces」を挙げた井上氏。GitHubのリポジトリで管理されるソースコードの開発環境をクラウド上の仮想環境にホストして、ブラウザやローカルのVisual Studio Codeを使って開発やデバッグなどを実現する機能である。
「Visual Studio 2022、Visual Studio 2022 for Mac、Visual Studio Code、そしてGitHub Codespacesなどを適材適所でうまく使い分けていただくことで、みなさまの開発生産性をより向上させていただきたい」と語り、井上氏はセッションを締めくくった。