Windowsが今更(?)開発者に優しくなろうとしている!? 「Dev Home」は開発者にとって使い物になる?
ASCII.jp / 2024年6月23日 10時0分
Build 2023で発表された開発者向けアプリ「Dev Home」 開発が進められているようだ
昨年5月に開催されたMicrosoftのイベント「Build 2023」で、「Dev Home」なるアプリケーションが発表された。しかし、Copilotと同じタイミングだったので、ほとんど話題になることはなかった。このとき、筆者もインストールして試してみたが、特筆するようなことは何もなく、ソフトウェアの開発には特に不要なものと判断していた。
それから1年、プレビュー版はバージョンアップしていた。まだまだ完成ではないが、将来を考えるとWindowsを開発マシンとして使うときの「入口」ぐらいにはなる機能を持ち始めていた。今回は、このDev Homeと開発環境としてのWindowsを考えることにする。
Dev Homeは、一応オープンソースとしてGitHub上にソースコードがあるが(https://github.com/microsoft/devhome)、実際にはMicrosoft内部で開発されており、その一部がGitHubで見えている感じだ。
というのも、評価に使ったDev Home Ver.0.1501.533.0は、原稿執筆時点でまだリリースノートも公開されていない。また、5月のBuild 2024で、Windows Sandboxにも対応と発表されたが、それにも未対応のようである。
プレビュー版Dev Homeは、Microsoftストアからインストール可能だが、スタートメニューなどからのアプリ検索でDev Homeが見つかるなら、起動するとインストールが開始される。
使い物になりそうなDev Home
Dev Home(記事冒頭画面)には、大きく以下のような機能がある。
ダッシュボード:ウィジェットの表示 マシン構成:開発環境の基本を整備する 環境:Hype-VやMicrosoft Dev Boxなどの登録、起動 Windowsのカスタマイズ:開発者ドライブ、エクスプローラー、開発者向け設定 ユーティリティ:現状はPowerToysなどの開発関連機能の呼び出し 拡張機能:Dev Homeの拡張機能のインストール 設定:試験的な機能のオンオフなど
「ダッシュボード」に関しては、以前の記事(「Windows 11の2つのウィジェットを調べる」)で少し触れた。簡単に言えば、Dev Home用のウィジェットをピン留めして、開発に関わるさまざまな情報をカード形式(ウィジェット)で表示するページだ。
後述する「拡張機能」などにより、追加できるウィジェットが増えるが、「開発ホーム」に付属するCPUやGPUの負荷率やメモリ状態を表示するウィジェットを、ピン留めするとかなり負荷がかかる。Dev Homeを閉じていてもウィジェットプロバイダは動き続けるらしく、負荷がかかった状態になるので注意が必要だ。
「マシン構成」は、開発環境を準備するためのもの。ただし、今のところGitHubのリポジトリのクローンと、Wingetを使ったアプリケーションのインストールしかできない。マイクロソフトの開発ツール(Visual StudioやVS Codeなど)は、Winget経由でインストールできる。
![Dev Home](https://ascii.jp/img/2024/06/22/3752713/x/007428d11e162d9a.png)
直接表示されるアプリケーションは、代表的な開発ツールのみだが、検索欄を使うことで、Wingetでインストール可能なアプリケーションが検索されてリストとして表示される。ここから必要なツールを選び、インストールできる。
リポジトリとインストールしたアプリは、以前紹介したWinget Configuration(「WinGet ConfigurationとPowerShell DSC」)の構成ファイルとして保存できる。この構成ファイルを使うと、他のマシンでも同じ開発環境を再現できる。
そのほか、Hyper-Vの作成済み仮想マシンや、MicrosoftのDev Box開発サポートサービス(有償)による開発環境設定も可能。前者は、Windowsデベロッパーセンターにある開発環境を入れた仮想マシンイメージ(https://developer.microsoft.com/ja-jp/windows/downloads/virtual-machines/)である。後者は有償サービスであるため、調査はしなかった。
ここには開発者ドライブの有効化のリンクがあるが、実作業は、以前解説したDev Driveの記事(「開発者向けに性能が高い、Windowsの「開発ドライブ」を試す」)と同じくWindows 11の設定アプリを使うものだ。
「環境」「拡張機能」「設定」など
「環境」は、マシン構成で作成した仮想マシンなどを選んで起動する場所である。
![Dev Home](https://ascii.jp/img/2024/06/22/3752714/x/6c2d9016b376cf3d.png)
「Windowsのカスタマイズ」は、設定のシステムにある「開発者向け設定」やエクスプローラー設定を変更するところ。
![Dev Home](https://ascii.jp/img/2024/06/22/3752715/x/1fa6aa12f6f973e6.png)
ここに「開発者ドライブの分析情報」というのがあるが、これは、開発言語パッケージマネージャーのキャッシュを最適化する。
![Dev Home](https://ascii.jp/img/2024/06/22/3752716/x/5b69818c7d17a8e0.png)
言語のパッケージマネージャーは、いまのところPythonのpipや.NET用のnuget、node.js(JavaScript)のNpm、JavaのMaven、Gradleが対象で、そのキャッシュを開発ドライブ上に配置する作業ができる。、以前解説したように、開発者ドライブはNTFSのドライブと比較して、アクセス速度を稼ぐことができる。
「ユーティリティ」は、いまのところPowerToysの開発向け機能を起動するもの。ホストファイルエディター、レジストリプレビュー、環境変数エディタが登録される。
![Dev Home](https://ascii.jp/img/2024/06/22/3752717/x/898fc48606c0b3d6.png)
「拡張機能」は、Dev Homeのプラグインをインストールするところ。現時点では、「Azure」「GitHub」「Game Dev」「UniGetUI」(以前のWinget UI)が用意されている。インストールすることで、それぞれが提供するウィジェットや設定機能などがDev Homeに追加される。
![Dev Home](https://ascii.jp/img/2024/06/22/3752718/x/2d070433c803a8ba.png)
「設定」では、テーマなどを変更できるが、重要なのは「試験的な機能」だ。ここでは、「Project Ironside」「Quickstart Playground」「静かなバックグラウンドプロセス」の3つを有効化できる。
![Dev Home](https://ascii.jp/img/2024/06/22/3752719/x/8e1e5eeaad11ebdd.png)
Project Ironsideは、プロセスからの情報を表示するためのツールで有効化すると、Dev Homeのユーティリティにツールとして登録される。起動するとプロセスのリストが表示され、詳細な情報を表示できる。Windows Internalにあった、Process Explorerのような表示が得られる(ただしプロセスツリーは表示されない)。
「静かなバックグラウンドプロセス」は、有効にすると「Windowsのカスタマイズ」に項目が表示され、優先度の高いプロセスの実行を抑制する。ソフトウェアのビルド時などに、CPUをコンパイルなどに専念させたいときに使う。
![Dev Home](https://ascii.jp/img/2024/06/22/3752720/x/0f2fe671d28dc302.png)
![Dev Home](https://ascii.jp/img/2024/06/22/3752721/x/22cd60f0d190438d.png)
たとえば、作業途中でWindows Defenderのスキャンが起動すると、コンパイル速度が低下してしまうことがある。「静かなバックグラウンドプロセス」は、こうしたプロセスを一時停止させる。ただし、一時停止できるのは、遅延しても構わないような緊急性のないプロセスのみで、一時停止時間は最大2時間までとなっている。現在この機能が有効なのは、Devチャンネルのプレビュー版Windows 11などで通常版では利用できない。
「Quickstart Playground」は、OpenAIの有料アカウントを使いChatGPT経由でプロジェクトを準備する仕組みだ。自然言語で開発したいソフトウェアの概要を入力すると、AIで作成したコードを含むプロジェクトが作成される。これも有償アカウントが必要なため、試していないが、チュートリアルがMicrosoftのページ(https://learn.microsoft.com/ja-jp/windows/dev-home/quickstart-playground)にある。
開発者に優しくなろうとしているWindows
現状、Windows以外の多くのプラットフォームが、開発環境としてWindowsを使っている。異なるプラットフォーム向けのソフトウェア開発を「クロス開発」と呼ぶが、Windowsは最も使われているクロス開発プラットフォームだろう。
ただ、これまで、Microsoftは開発ツールを提供するなどはしてきたが、Windows自体を開発プラットフォームとして環境整備することがなかった。
その風向きが変わったのがWindows 10である。設定に「開発者向け設定」が入り、Linux環境を動かすWSL(Windows Subsystem for Linux)が導入された。Windows 10より前、Windowsはパソコン初心者にとって使いやすくすることが至上命令で、開発者のような“玄人”のことは何も考えていなかった。
もっとも、勝手にレジストリを書き換えるようなこともできたので、「放置」していてもよかったわけだ。しかし、スマートフォンの台頭やWebサイト構築などで、開発者の数が増え、必ずしもすべての開発者がWindowsに精通しているわけでもない時代になった。
そうなると、クロス開発の開発者が他のプラットフォームに逃げていく可能性もある。Microsoftも開発者に「優しく」なる必要が出てきた。
Dev Homeは、こうした動きの一環といえる。現状、Windowsに開発環境を頼らないプラットフォームは、LinuxとmacOSくらいだろう。そのLinuxはすでにWindowsに取り込んだのであるから、ほぼすべてのプラットフォームの開発に利用できるようになった。Windowsは、x86/x64だけでなく、ARM版Windowsもあり、ARM64のバイナリも実行が可能だ。
Microsoftの主力開発ツールであるVisual Studioも、PythonやNode.js(JavaScript)といった開発が可能になっている。また、Win32側で開発したLinux向けコードをWSLで実行することもできる。
また、Docker Desktopを使うことで、Linux向けに作られたコンテナの実行も可能になり、WSLgでLinux GUIアプリケーションも動かせるようになっている。Linuxの開発ツールはコマンドラインのものも多く、Dockerコンテナイメージで配布されるものも少なくない。これにより、コンテナを動かすだけで開発がすぐにできるようになる。
Windows 10以来、実行環境としては充実してきたわけだが、さまざまな環境整備をするための最後のピースがDev Homeというわけだ。ただ、まだプレビュー版でもあり、かなり荒削りな状態だ。今後は、ローカル推論に使われるAIモデル(学習済みニューラルネットワーク)なども開発の対象となる。開発プラットフォームとしてのWindowsの環境整備はようやく入口に到達した段階と言えるだろう。
Dev Homeは、いまのところ、すべての開発者に便利というわけでもないが、役に立ちそうな機能もある。筆者は、今のところ個人でしか開発していないので、チーム開発向け機能の使い勝手がいいのかどうかは判断しかねる。しかし、WingetやDev Homeの機能でインストールしたアプリや、言語パッケージの更新通知やプロセスの情報を得られるProject Ironsideあたりは、個人開発者でも使えそうである。
Dev Homeの「マシン構成」にある「アプリケーションのインストール」を使えば、構成ファイルを出力できる。単独でWingetコマンドを使ってインストールするより、再現性が高く、何かのときに開発マシンを別に用意する、ハードウェアを乗り換えるときなどに便利だ。しかも、Wingetでインストールできるなら、対象は開発ツールでなくてもよい。
この記事に関連するニュース
-
窓辺の小石 第174回 逃走、テレメトリ
マイナビニュース / 2024年7月12日 20時15分
-
今更more.comを使うのか!? Windowsでのページングを考える
ASCII.jp / 2024年7月10日 12時0分
-
スタートメニューにスマホ情報? PowerToys Runのススメ - 阿久津良和のWindows Weekly Report
マイナビニュース / 2024年7月7日 16時0分
-
Windowsはなぜ再起動が必要になるのか?
ASCII.jp / 2024年6月30日 10時0分
-
MicrosoftがPowerToys向け新しい「新規作成」モジュール開発中
マイナビニュース / 2024年6月26日 10時46分
ランキング
-
1エアコン「冷えない」「冷えすぎる」「カビくさい」問題を解決する魔法のアイテム
ASCII.jp / 2024年7月22日 7時0分
-
2開かずのMO――25年以上前のDTPデータを発掘してひらいてみる
ASCII.jp / 2024年7月22日 9時0分
-
3ホロライブ・桃鈴ねねが一部活動内容を休止へ―「ちょーとトラブルが起きちゃってて…思った以上に大事になってしまった」
インサイド / 2024年7月22日 14時36分
-
4プロが本気で“アンパンマンの塗り絵”をしたら…… 衝撃の仕上がりが360万再生「凄すぎて笑うしかないww」「チーズが、、、」
ねとらぼ / 2024年7月18日 22時0分
-
5『地獄先生ぬ~べ~』2025年に新アニメ化! 人気作の再アニメ化続々、「令和どうした」「令和どうなってんだ」驚く声も
ねとらぼ / 2024年7月21日 16時0分
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/mission_close_icon.png)
記事ミッション中・・・
記事にリアクションする
![](/pc/img/mission/point-loading.png)
エラーが発生しました
ページを再読み込みして
ください
![](/pc/img/mission/mission_close_icon.png)