VimでFlutterの開発環境を整える

Google I/OでFlutter for webが発表されました。FlutterとはDart言語で書かれたiosやandroid向けにモバイルアプリケーションを作成できるフレームワークなのですが、今後はWEBと同時開発、同時リリースが可能になり、より一層開発現場で重宝される存在になるでしょう。

普段はReactやvueなどのフロントエンド技術を中心開発してる僕ですが、Flutterに興味を持ったので、これからコツコツとコードを書いていきたいと思います。今回はその前段階として、NeoVimにDartとFlutterの環境を整えてみます。

検証環境

MacOS

NVIM v0.3.4

dein

セットアップ

Flutterでvimを書くためのライブラリを調べてみました。とりあえずvimのライブラリは以下の2つがあれば、問題なく開発できそうです。

vimのシンタックスハイライト

vim上でFlutterのコマンドを扱うライブラリ

こちらの2つをインストールしていきます。

deinを使ってる場合

dein.toml[[plugins]]
repo = 'dart-lang/dart-vim-plugin'
[[plugins]]
repo = 'thosakwe/vim-flutter'

僕の場合、こんな感じでDartファイルでシンタックスハイライトが有効になりました。

vim-flutterを使ってみる

ハイライトが有効になりましたが、本当に便利なのはこのvim-flutterです。これはvim上でflutter runのコマンドが使えたりHot Reloadを使えたりできます。それでは、iosシュミレーターを開きます。

open -a Simulator

そしてvim上でflutter runしてみます。コマンドは下記の通りです。

:FlutterRun

するとビルドが始まります。

今度はHot Reloadをしてみましょう。

:FlutterHotReload

すると無事HotReloadされました。ターミナルにいちいち戻らずリロードできるのでかなり便利です。

便利なalias

最後にvim-flutterの公式に便利なvimのaliasの例が載っていました。これで、leader + frでHot Reloadをすることができます。vimでストレスフリーな開発が実現できそうですね。

nnoremap <leader>fa :FlutterRun<cr>
nnoremap <leader>fq :FlutterQuit<cr>
nnoremap <leader>fr :FlutterHotReload<cr>
nnoremap <leader>fR :FlutterHotRestart<cr>

最後に

Flutterの導入として、vimのセットアップをみていきました。今後のクロスプラットフォームとしてのFlutterに非常に期待していて、今後お仕事や案件で使えたらと楽しみにしています。

--

--

microCMSとCommuneでエンジニアしてます。Jamstack アーキテクチャーやサーバレス技術が好きです。仕事ではReact、Next.js、Go、DDD辺りをやっています。https://github.com/hiro08gh

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Hiroki Ueda

microCMSとCommuneでエンジニアしてます。Jamstack アーキテクチャーやサーバレス技術が好きです。仕事ではReact、Next.js、Go、DDD辺りをやっています。https://github.com/hiro08gh