【老孟Flutter】6種極大提升Flutter開發效率的工具包
阿新 • • 發佈:2020-11-12
![](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