1.你是否需要更好,更簡潔的日志

當你在開發Flutter應用程式時,難以了解的日志是一個大問題,因為沒有快速的方法來根據問題的嚴重程度過濾你的日志。抛出異常或記錄一條簡單的調試消息?他們看起來都一樣。
如果你的Flutter app需要更好的日志系統,Logger 軟體包絕對是個好東西。
Logger包位址:
https://pub.dev/packages/logger它受到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");
由于某些原因,另外一個特别的是
logger.wtf("WTF logs??")
不僅如此,你還可以晃動你的裝置來檢視螢幕上的日志。(PS:需要導入
logger_flutter包)
5個高效的Flutter開發工具 2.API還沒有從後端準備好,或者根本沒有API ?應用程式靠自己硬編資料?

如果你還在艱難的coding,全是自己硬編資料因為背景沒有準備好他們的API或者根本沒有任何API,如果你仍然希望UI有意義,您可以使用faker包——Jesper Hakansson為應用程式生成有意義的資料。
受Python包faker和Ruby包ffaker的啟發,這個包可以提供各種類型的資料,從虛假的人名到虛假的日期,甚至是随機的虛假url。
隻需建立一個簡單的對象,像這樣-
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/example3.當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項目,你就可以使用了。
4. 從一個運作着的模拟器/裝置預覽你的應用程式
作為一名Android開發人員,僅僅為不同的螢幕大小建立xml就需要花費好幾天的時間,因為Android裝置有不同的形狀和大小,而且重要的是你需要讓你的應用程式在不同的裝置上表現一緻。iOS開發人員的情況也沒有什麼不同,蘋果公司的iPhone螢幕大小不一。有時,我們還必須支援平闆電腦或iPad裝置。
這是否意味着,我需要下載下傳大量的模拟器或為我的團隊購買不同的手機,以便在不同的裝置上測試我們的應用的UI ?
去年,在Flutter interactive 2019, Zoey Fan和Chris Sells談到了Flutter Octopus,在那裡你可以同時在多個平台和裝置調試你的應用程式。
這對于觀察你的應用在不同裝置上的性能是很有用的。但是你真的會設定這麼多裝置僅僅用來來檢查UI的響應性嗎?
我不這麼想
來挽救我們的的是Alois Daniel的Flutter Device Preview。 超好用的工具,可讓您從單個運作的模拟器/裝置上預覽不同大小的裝置中的應用程式。
輕松預覽在不同的螢幕大小和平台的應用程式,從普通的手機大小到平闆電腦,甚至手表螢幕大小。這是檢查你的應用程式有沒有溢出的好方法。不僅如此,還有其他很酷的功能
★改變你的應用程式的方向,并預覽你的應用程式在不同方向上的響應能力。
★更新配置,如文本縮放因子,應用的主題,地區
★能夠進行截圖,便于你分享給你的團隊。
所有這些,不影響應用程式的狀态!
device_preview 包位址:
https://pub.dev/packages/device_preview5.使用測試版本學習,使用穩定版本工作
如果你使用Flutter中建構應用程式,你很有可能使用穩定的Flutter版本來開發和部署你的應用程式。誰會冒險在一個實驗性的flutter版本上開發一個客戶項目,對嗎?
但是,你是一個愛嘗試的的開發人員,你在你的客戶或公司項目之外建立項目,你很想嘗試新的beta版本,并嘗試使用新特性。
但這就意味着,解除安裝目前的穩定版,再安裝測試版,又要花費大量的時間去下載下傳新版本的資源。
而當你重新在客戶項目上工作時,你将不得不解除安裝測試版,并重新安裝穩定版。
無奈
是以,另一個來拯救你的工具 — 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/fvmPS:
此篇文章為medium翻譯,
原文位址(科學上網)文中的pub包的示例在譯者的github上,github位址
https://github.com/jack0-0wu/flutter_demo文章會首發在微信公衆号,歡迎關注。
可以搜尋公衆号名 ‘’傑克的程式人生‘’,掃描上方二維碼關注公衆号,掃描下方二維碼添加作者微信,加入flutter技術交流群。