Fluttr應用——5個高效的Flutter開發工具

Fluttr應用——5個高效的Flutter開發工具

1.你是否須要更好,更簡潔的日誌

Image for post

當你在開發Flutter應用程序時,難以理解的日誌是一個大問題,由於沒有快速的方法來根據問題的嚴重程度過濾你的日誌。拋出異常或記錄一條簡單的調試消息?他們看起來都同樣。git

若是你的Flutter app須要更好的日誌系統,Logger 軟件包絕對是個好東西。github

Logger包地址:https://pub.dev/packages/loggerjson

它受到Java分級日誌的啓發,容許您向日志添加級別。後端

日誌級別,目前有:數據結構

logger.v("Add more detailed debug messages, "
    "can contain sensitive information, never enable it in production");

logger.d("Fine grained information to debug an application");

logger.i("Track the flow of the application");

logger.w("A potential but expected problem");

logger.e("A real failure that may impact the application state");

因爲某些緣由,另一個特別的是app

logger.wtf("WTF logs??")

DDnGHx.png
不只如此,你還能夠晃動你的設備來查看屏幕上的日誌。(PS:須要導入logger_flutter包)ide

Image for post2.API尚未從後端準備好,或者根本沒有API ?應用程序靠本身硬編數據?

若是你還在艱難的coding,全是本身硬編數據由於後臺沒有準備好他們的API或者根本沒有任何API,若是你仍然但願UI有意義,您可使用faker包——Jesper Hakansson爲應用程序生成有意義的數據。工具

受Python包faker和Ruby包ffaker的啓發,這個包能夠提供各類類型的數據,從虛假的人名到虛假的日期,甚至是隨機的虛假url。post

只需建立一個簡單的對象,像這樣-性能

var faker = new Faker();

下面是使用faker對象的例子

faker.date.month();
faker.conference.name();
faker.company.position();
faker.lorem.sentences(8);
faker.internet.httpsUrl();
faker.currency.name();
faker.sport.name()

在這個包下還有更多種類的數據可用,這是本身硬編數據的一個很好的替代品,當項目變得更復雜時,本身硬編數據是很難替換的。

faker包地址:https://pub.dev/packages/faker/example

Image for post

3.當API返回的數據結構複雜,你須要快速構建model?

雖然我在2018年已經分享過這篇解析複雜JSON的文章,在今天它仍然很是流行。

https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51

值得一提的是,這篇文章是對Dart解析json的一個很好的理論回顧,但我不建議在構建實際複雜項目時進行手動解析。

爲何不建議?

.手動操做確定要花很長時間。

.並且你更容易犯錯誤。

我更建議使用轉換器工具或解析器,與手動解析相比,它只需幾秒鐘就能完成。

當涉及到JSON序列化時,你能夠在Flutter文檔中找到一些推薦的方法。

固然,推薦之一是代碼生成庫,它將爲您生成編碼樣板。但這仍然須要一些初始設置,而我並不喜歡。

因此,個人首選工具一直是quicktype.io。一羣開源開發者維護的在線工具。

只需進入網站,選擇Dart做爲輸出語言。

將JSON粘貼到左側,Dart model類和JSON序列化邏輯將很快在右側建立。

添加這個類到你的flutter項目,你就可使用了。

Image for post

Image for post

4. 從一個運行着的模擬器/設備預覽你的應用程序

做爲一名Android開發人員,僅僅爲不一樣的屏幕大小建立xml就須要花費好幾天的時間,由於Android設備有不一樣的形狀和大小,並且重要的是你須要讓你的應用程序在不一樣的設備上表現一致。iOS開發人員的狀況也沒有什麼不一樣,蘋果公司的iPhone屏幕大小不一。有時,咱們還必須支持平板電腦或iPad設備。

這是否意味着,我須要下載大量的模擬器或爲個人團隊購買不一樣的手機,以便在不一樣的設備上測試咱們的應用的UI ?

去年,在Flutter interactive 2019, Zoey Fan和Chris Sells談到了Flutter Octopus,在那裏你能夠同時在多個平臺和設備調試你的應用程序。

Image for post

這對於觀察你的應用在不一樣設備上的性能是頗有用的。可是你真的會設置這麼多設備僅僅用來來檢查UI的響應性嗎?

Image for post

我不這麼想

來挽救咱們的的是Alois Daniel的Flutter Device Preview。 超好用的工具,可以讓您從單個運行的模擬器/設備上預覽不一樣大小的設備中的應用程序。

Image for post

輕鬆預覽在不一樣的屏幕大小和平臺的應用程序,從普通的手機大小到平板電腦,甚至手錶屏幕大小。這是檢查你的應用程序有沒有溢出的好方法。不只如此,還有其餘很酷的功能

★改變你的應用程序的方向,並預覽你的應用程序在不一樣方向上的響應能力。

★更新配置,如文本縮放因子,應用的主題,地區

★可以進行截圖,便於你分享給你的團隊。

全部這些,不影響應用程序的狀態!

device_preview 包地址:https://pub.dev/packages/device_preview

5.使用測試版本學習,使用穩定版本工做

若是你使用Flutter中構建應用程序,你頗有可能使用穩定的Flutter版原本開發和部署你的應用程序。誰會冒險在一個實驗性的flutter版本上開發一個客戶項目,對嗎?

Image for post

可是,你是一個愛嘗試的的開發人員,你在你的客戶或公司項目以外建立項目,你很想嘗試新的beta版本,並嘗試使用新特性。

但這就意味着,卸載當前的穩定版,再安裝測試版,又要花費大量的時間去下載新版本的資源。

而當你從新在客戶項目上工做時,你將不得不卸載測試版,並從新安裝穩定版。

Image for post
無奈

因此,另外一個來拯救你的工具 — Flutter Version Manager by Leo Farias.

您可使用這個工具來管理多個flutter版本,而沒必要每次在你切換的時候下載這些版本。這只是一個一次性的設置,你一次下載全部的版本像這樣-

fvm install beta

或者指定的版本

fvm install <version>

只需一條命令就能夠在不一樣版本之間切換,就像這樣

fvm use stable

你能夠爲你的每一個項目指定一個flutter版本。

cd Documents/FlutterProjects/ExperimentalProject
fvm use beta

or

cd Documents/FlutterProjects/ClientProject
fvm use stable

在你安裝fvm以後惟一改變的是你全部的命令都會稍微修改一下。

就像 flutter doctor , 變成fvm flutter doctor

這是很容易記住的。

FVM包地址:https://pub.dev/packages/fvm

PS:

此篇文章爲medium翻譯,原文地址

完整示例

上文全部的代碼示例都在做者的GiuHub上,https://github.com/jack0-0wu/flutter_demo,裏面還包含了一些經常使用flutter功能的展現
Fluttr應用——5個高效的Flutter開發工具

相關文章
相關標籤/搜索