1. 程式人生 > >【老孟Flutter】6種極大提升Flutter開發效率的工具包

【老孟Flutter】6種極大提升Flutter開發效率的工具包

![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214334738-787395121.png) > **老孟導讀**:本文介紹6種極大提升Flutter開發效率的工具包。 ### [1] 強大的日誌軟體包 在開發 Flutter 的過程中列印日誌是常用的除錯方式之一,但 Flutter 內建的日誌列印非常簡單,下面介紹一個強大的軟體包:**logger**。 Logger 是一款易於使用且可擴充套件的日誌記錄器,可列印精美的日誌。 受到Android記錄器的啟發,將日誌分為不同的級別: ```dart logger.v("Verbose log"); logger.d("Debug log"); logger.i("Info log"); logger.w("Warning log"); logger.e("Error log"); logger.wtf("What a terrible failure log"); ``` ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214335022-1739765670.png) 釋出內側版本時,測試人員不會將手機一直連線你的電腦,因此出現bug時無法通過控制檯列印日誌,**logger_flutter**這個外掛可以解決這個問題,此外掛通過搖晃手機或者呼叫 `LogConsole.open(context)` 在手機上直接顯示日誌。 ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214335179-1708731669.png) Logger pub地址:[https://pub.dev/packages/logger](https://pub.dev/packages/logger) logger_flutter pub地址: [https://pub.dev/packages/logger_flutter](https://pub.dev/packages/logger_flutter) ### [2] 轉換 Json 資料為 model 通常情況下,伺服器介面返回的資料是 json 格式,將 json 格式的資料轉換為實體類是非常繁瑣的工作,尤其是複雜的 json 資料,這裡推薦大家使用 **JsonToDart** 外掛,Android Studio 和 VS Code 編輯器上都可以安裝此外掛,它可以幫我們將 json 格式的資料轉換為實體類。 ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214338735-1481335043.png) 詳細用法及安裝:[http://laomengit.com/guide/data_storage/Json2Model.html](http://laomengit.com/guide/data_storage/Json2Model.html) ### [3] 在不同解析度的手機上檢視UI效果 Flutter 開發最大的優勢就是其跨平臺,當開發完成時,想在不同解析度的手機檢視其效果,那是否要每一款手機都買一個來進行測試? 2019年的 Flutter Interact,像我們展示了同時在多個平臺和裝置上除錯應用程式 ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214339550-1812034115.png) 下面這款工具包 **device_preview** 可以讓您在一臺裝置上檢視不同解析度裝置上UI的效果。 ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214340815-1027328535.gif) ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214342462-2107962156.gif) 不止如此,它還有其他酷炫的功能: - 更改裝置方向 - 動態系統配置:語言,暗模式,文字縮放比例 - 可自由調整解析度和安全區域的裝置 - 保持應用程式狀態 - 截圖 device_preview 地址:[https://pub.dev/packages/device_preview](https://pub.dev/packages/device_preview) ### [4] 同時使用 stable 和 master 開發專案時,我們通常使用 **stable channel** 構建穩定版本,但同時我們也希望體驗新的版本,新的功能,那隻能切換到 **master channel**, 但此時穩定專案的版本也隨之切換,來回切換非常麻煩,除了每次切換都要重新下載大量檔案外,也可能出現異常,每一次版本升級都會有很多人遇到專案無法編譯的問題。 那麼怎麼能夠同時存在**stable channel** 和 **master channel** 呢?正常開發使用 **stable channel**,想體驗新版本時使用 **master channel** 。 **fvm** 這個外掛將會幫助你,fvm是 Flutter Version Management 的簡稱,是管理Flutter SDK版本的簡單CLI。 ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214342792-1939911571.png) pub 地址:[https://pub.dev/packages/fvm](https://pub.dev/packages/fvm) ### [5] 國際化工具包 有人可能覺得我的專案不需要國際化,只需要中文即可,但是我依然**強烈建議你加入國際化**,原因如下: - 以後的事情誰也說不準,是否支援國際化是老闆一句話的事。 - 增加國際化並不會增加你的工作量,其他國家的語言可以先不翻譯,直接空著即可。 **Intl** 外掛可以幫我們快速的完成國際化。 ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214343176-895872910.png) 詳細使用:[http://laomengit.com/guide/intl/%E4%BD%BF%E7%94%A8Intl%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%9B%BD%E9%99%85%E5%8C%96.html#%E4%BD%BF%E7%94%A8intl%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%9B%BD%E9%99%85%E5%8C%96](http://laomengit.com/guide/intl/%E4%BD%BF%E7%94%A8Intl%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%9B%BD%E9%99%85%E5%8C%96.html#%E4%BD%BF%E7%94%A8intl%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%9B%BD%E9%99%85%E5%8C%96) ### [6] 應用升級功能 最後介紹一下我自己開發的應用升級功能軟體包,升級功能應該是應用程式必備功能之一了。 目前支援 Android 和 iOS: ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214343471-412733980.gif) 詳細使用:[http://laomengit.com/plugin/upgrade.html](http://laomengit.com/plugin/upgrade.html) ## 交流 老孟Flutter部落格(330個控制元件用法+實戰入門系列文章):[http://laomengit.com](http://laomengit.com) 歡迎加入Flutter交流群(微信:laomengit)、關注公眾號【老孟Flutter】: | | | | ----------------------------------------------- | ------------------------------------------------------------ | | ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214343919-1581309013.png) | ![](https://img2020.cnblogs.com/other/467322/202011/467322-20201111214344304-46110362