
Lenovo Copilot+PC (Snapdragon) を借りたのでいろいろ試してみた(開発環境編)
みなさんこんにちわ、りなたむです。
Lenovo Copilot+PC を借りたのでいろいろ試してみたシリーズ4回目
今回は開発環境編です。
私は、前回の記事にも上げている Power Automate for desktop の動作を確認したり、デモをするためだったり、Pythonなどのプログラムを実行する環境として、よく Docker を使ったりしています。
また、仕事の問題もあって、Hyper-V環境も作っていたりしています。
今回借りているPCは、ThinkPad T14s Gen 6 Snapdragon
つまり ARM端末です。
この環境で、私が使っている開発環境が実装できるか、検証してみました。
Docker 環境は果たしてちゃんと使えるのか?
まずは WSL2 環境
Docker は WSL2 (Windows Subsystem for Linux 2)を用いて Linux 環境を実行できるようになりました。
そこで、まずは WSL2 環境を構築してみます。

WSL2 をインストールすると、Microsoft Store から、Ubuntuなどの様々なLinux をインストールすることができるようになります。

インストールが終わって、ユーザー名やパスワードの登録が完了すると、Linux のプロンプトが立ち上がり、操作を行うことができます。

ARM64 アーキテクチャを利用していることがわかる
Ubuntu以外も入れてみましたが、キチンと動作することができ、kex による、GUI操作も問題なく動作しました。


なお、Windows のスタートメニューに出てくるショートカットから起動すると、問題なくアプリのみが表示されて操作することができます。

Windows アプリと同じ感覚で操作できる
というわけで、使うパッケージによっては一部制限はあるものの、WSL2環境も問題なく動作しますね。
Docker for Windows
WSL2 が問題なく動作しましたので、このまま Docker をインストールします。
※インストール手順は割愛
インストールして、イメージ作成して、コンテナーを作成したりした結果がこちら。

GROUPSESSION用の環境(Tomcat)の3つを作っている
実際に実行した上で、Webアプリケーションを呼び出してみると、x64環境と同様にキビキビと動いてくれています。

x64の環境と何ら変わらず、快適に動作する
なお、実行環境は WSL2 を用いていますので、動作する Linux アーキテクチャはもちろん ARM64 になります。

WSL2を用いて動作しているため、ARM64環境で動作している
ARM64環境で動作しているため、docker-compose.yml には、必ず platform を linux/arm64 を指定するようにしましょう。

Hyper-V について
Docker とは別に、Windows デスクトップの環境を別で構築したい場合は、Hyper-V を使用することになります。
ARM64環境でももちろんインストールすることは可能です。

ただ、私のマシンだけかもしれないのですが、Hyper-V を入れると、高頻度でマシンが固まるようになってしまいました。
現時点ではちょっとやめておいたほうがよさそうです。
Windows Sandbox
アプリの動作確認とか、怪しいファイルを展開する場所などに最適な Windows Sandbox ですが、こちらは問題なく動作します。
なお、動作環境は ARM64 です。

Visual Studio Code
まぁ開発するって言ったら、IDE(Integrated Development Environment)は必須で、私は専ら Visual Studio Code 派なのですが、とりあえずARM版があるのでそれをそのままインストールしましょう。

そのまま ARM版がダウンロードされる
機能拡張とか環境同期とか、GitHub Copilot とかはちゃんと動きます。

なので、x64環境とほぼ同じ感覚で開発することも可能です。
まとめ
いかがだったでしょうか?
私も開発者の端くれではありますので、自分なりのモバイル開発環境として利用できるか検証してみました。
Hyper-V の挙動がちょっと怪しいかなっていう部分はありましたが、最近はその辺も Azure 上 で VM 立ち上げれば割と解決する部分でもありますので特段問題にもならず、気軽に持ち運びつつ、ゴリゴリ開発できるのはとても素晴らしいと思いました。
Copilot+PC ぜひお試しになってみてください!