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包)
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/example
3. 當API返回的數據結構復雜,你需要快速構建model?
雖然我在2018年已經分享過這篇解析復雜JSON的文章,在今天它仍然非常流行。
值得一提的是,這篇文章是對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_preview
5. 使用測試版本學習,使用穩定版本工作
如果你使用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/ClientProjectfvm use stable
在你安裝fvm之后唯一改變的是你所有的命令都會稍微修改一下。
就像 flutter doctor
, 變成fvm flutter doctor
這是很容易記住的。
FVM包地址:https://pub.dev/packages/fvm