FlutterのRichTextEditorはflutter_quillに決まり!zefyrは使うな!

この記事は約 5 分で読めます。

みなさんこんにちは!ヒロポンです!

最近は毎日flutterを3時間くらいは触っていて、flutterのホットリロードすげーーーーーー!!!!ってなっています!!

でとりあえず、自分的に欲しいと思ったようなメモ帳アプリを作ろうと思っていて、今はflutter_quillというrichtexteditorを使っています!

実はそこに至るまでに様々なハマりがありました。。

今回は私自身の経験より、flutterでrichtexteditorを使う場合はflutter_quill一択であるという点について書いていきたいと思います!!

flutterでrichtexteditorで検索をするとzefyrが出てくるが、これは巧妙な罠

flutterでrichtexteditorは用意されていません。

なので、richtexteditorを使おうと思ったら、ライブラリを導入する必要があります。

そのためとりあえず「flutter richtexteditor」でググりますが、出てくる結果はほぼほぼ「zefyr」というライブラリについてだけ。

でもちょっと待ってください!!!!!!

そのライブラリは使わないでください!!!私みたいにまる1日はまります!!

zefyrは開発が止まっている

zefyrの最新バージョンは0.12.0です。

最終更新日は2020年10月4日。めっちゃ前です。

zefyrの作者に何があったかはわかりませんが、少なくとも今現在(2021年6月9日)時点で盛り上がっているコミュニティと言う事はできません。

またflutter2.0は2021年3月3日にリリースされているため、flutter2.0では使用できません。

私はこの罠にまんまとはまってしまって、数時間溶かしました。

zefyr自体の開発はzefyrkaというライブラリで進んではいる。

とりあえずこのzefyrは使い物にならないという事で、下記pub.devの中にあるgithubのissueに案内がなされいるので、そのissueを見ていきましょう。

https://pub.dev/packages/zefyr

97コメントもありzefyrの今後の開発については、結構活発に議論がなされているようです。

一番最近のコメントは2021年5月20日ごろになっていて、「zefyrka」というライブラリがzefyrのフォークで作られていて、flutter2.0にも対応しているよーーという風に書かれています。

zefyrkaという派生版も存在するが、flutter2.0では動作しない。

この段階でzefyrkaというライブラリが存在することが分かったため、調べてみましょう。

普通に調べただけでは、何の情報も出てきません。めちゃくちゃ不安です。

pub.devで検索するとようやく出てきました。

でも検索順位は3番目。マジか。

zefyrの現在のバージョンは1.0.3です。最近は2021年6月2日。割と活発なコミュニティであることがわかります。

ただこのライブラリもなかなか曲者で、通常通り「flutter install zefyrka」として、説明通りに導入しても依存関係が。。。。というエラーが出ます。

調べていくうちにflutter_quillがベストな選択ということに気づく

とりあえずzefyrkaも動かないので、いろいろググっていたところ下記のようなサイトに出会いました。

この中ではrichTextEditorにflutter_quillというものがあることを知りました。

他にも下記のようなものがあるようです。

  • flutter_html_editor
  • flutter_markdown

とりあえず私はflutter_quillとやらを使いました。

flutter_quillでググといろいろな情報が出てきます。これは期待できそう。

最新バージョンは1.3.3で2021年6月3日に更新がされています。

めちゃくちゃ活発なコミュニティです。

使い方もめっちゃ簡単。(下記を参照)

https://pub.dev/packages/flutter_quill

でこれで書いてる通り導入したら普通に動きました。

まとめ

flutter richtexteditorでググるとzefyrが出てきますが、これは盛大な罠です!!!!!

zefyrは最近の更新はなされていないため、flutter2.0では多数のバグが出ます。

なので、flutter_quillを使いましょう!

以上!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA