LoginSignup
14
10

More than 1 year has passed since last update.

Flutter開発でAndroid StudioからVSCodeに切り替えた

Last updated at Posted at 2021-09-24

なぜAndroid StudioからVSCodeに切り替えたのか

単純に軽い動作環境で開発をしたかった、というところが大きいです。Android Studioはそれなりのマシンパワーを要求されるという面があり、個人としては自分の予算次第ではスペックの良いマシンを使って、不自由なく開発出来ると思います。

しかし参画した案件で、あるいは入社した会社で必ずしも最新のPCがお借り出来るとは限りません。そういう場合でも快適に開発出来るのではと、VSCodeに対して関心が高まりました。

実際に切り替えてみて良かったところ

やはり動作は軽快、しかし補助機能は充実している

VSCodeはやはり起動も早いところが魅力です。ざっくりですが、Android Studioの時はまずAndroid Studioを開いた時に長い読み込み時間があり、その後ビルドすることになるので、2回待つような感覚がありましたが、VSCodeだと待つのはビルド時のみ、という感覚です。

実際に切り替えてからは、実はコードの補完などもしっかり充実しており、flutterで頻繁に行う、Widgetを別のWidgetで囲ったり、削除する「Wrap this Widget」や「Remove this Widget」などの機能はVSCodeでもしっかり実現されています。それでも切り替えた当初はAndroid Studioよりはコード補完が弱い気がしたのですが、少し慣れてしまえば特にそういったこともない気がします。

またFlutterのエコシステム的にもFlutterの公式ドキュメントにVSCodeでの環境構築の項目があるのはもちろん、例えばFlutterの状態管理ライブラリのRiverpodの公式ページにもriverpod用のスニペット拡張機能が紹介されていたり、VSCodeはFlutter開発においては、Android Studioと同じく公式推奨であるといえます。

Method Channelなどを書く時にエディタの切り替えが不要

Flutterにおいて、やはり様々なパターンでiOS/Androidのコードを呼び出す必要があります。Android Studioで開発をしていたときは、SwiftやKotlinを書く際にAndroid Studioを開き直したり、XCodeを開いたり、切り替えが目まぐるしいと思っていました。

VSCodeに切り替えてからは、SwiftやKotlinの補完も効くので、SwiftやKotlin書く必要があるときも特にエディタを開き直したりすることなく、開発ができるようになりました。

※とはいえ、私はSwiftやKotlinに関しては1から調べつつ、何とか書いているような感じなので、これらの言語に慣れていて、XCodeやAndroid Studioで開発をされてきた人からすると貧弱に感じることや、物足りないところがあるかもしれません。

ターミナルを中心にした開発が心地良い

ここは少し余談で、そもそもVSCode自体の話とは少し違うのですが、VSCodeに切り替えてからは自然とターミナルを中心にした開発スタイルになりました。
(Android Studioの中でもターミナル操作したり出来るのですが、VSVodeの軽快さにさらに後押しされた気がします)

以前、シェルをfishを使うようになった記事を書きました。こういったコマンドの補完が有効なシェル環境は大事です。

【環境構築】fishの環境設定手順

fishに限らずzshでも良いのですが、エディタにコマンドの補完が効く状態にしておくことは大切かな、と思っています。今はプロジェクトファイルを開くのもシェルからVSCodeを起動して、ビルドもシェルから実行していますが、シェルのコマンド入力で補完が有効になっているのと、いないのとでは、VSCodeにスイッチ出来るか出来ないかの分かれ目にもなると思います。(補完無しでのコマンド入力は厳しい)

最近はFlutterの頻繁なバージョンアップ対応の調査のためなど、Flutterバージョン管理ツールのfvmを利用しています。

fvmでFlutterバージョンアップして試しにビルドしてみる、などといったことが気軽に試せるようになりました。
fvmを導入すると、例えばfvm flutter clean、 fvm flutter run --device-id <デバイスID>というようにコマンドの最初にfvmをつける必要があります。以前はこれが嫌でfvmは使わないようにしていたのですが、シェルの補完と組み合わすことで気にならなくなりました。

あと結構細かい話だとrunもコマンドで実行すると、プロジェクトなどによっては、設定されているdart-defineをしっかり意識できます。

まとめ

結論としては、これからもFlutter開発はVSCodeでやっていこうと思います。

私自身、Android Studioもかなりお気に入りのツールで、Gitの操作もほぼ全てAndroid Studioでやるほどだったのですが、fvmでのFlutterバージョン切り替え、FlutterではSwiftやKotlinのコードも確認したり書いたりする必要がある、あたりが決め手になった感じがします。

いきなり完全にスイッチできた訳ではなく、最初は慣れずAndroid Studioに何回か戻ることもありました。一応何となく環境だけ作ってみて、合わなければAndroid Studioに戻るのもアリだと思います。

VSCodeへのスイッチの挫折ポイントはターミナルの操作に慣れないなどもあると思っていて、場合によってはターミナルだとログを見るのもままならない場合もありそうです。とはいえFlutterはbuild runnerコマンドでのコードの生成などが必要だったり、ターミナルと仲良くなっておいて損はない気がします。

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10