自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

效率王者!五大工具軟件包助力高效Flutter開發(fā)

開發(fā) 開發(fā)工具
開發(fā)Flutter應(yīng)用程序時(shí),無(wú)法讀取日志是一個(gè)大問(wèn)題,因?yàn)槲覀儫o(wú)法根據(jù)問(wèn)題的嚴(yán)重性來(lái)快速過(guò)濾日志。

本文轉(zhuǎn)載自公眾號(hào)“讀芯術(shù)”(ID:AI_Discovery)。

1. 需要更好、更干凈、更分散的日志?

開發(fā)Flutter應(yīng)用程序時(shí),無(wú)法讀取日志是一個(gè)大問(wèn)題,因?yàn)槲覀儫o(wú)法根據(jù)問(wèn)題的嚴(yán)重性來(lái)快速過(guò)濾日志。拋出異常還是記錄簡(jiǎn)單的調(diào)試信息?看起來(lái)好像都一樣。

[[352239]]

如果要在Flutter應(yīng)用程序中做好日志記錄,由Simon Leier設(shè)計(jì)的Logger軟件包絕對(duì)是寶藏級(jí)工具。

(https://pub.dev/packages/logger)

它的靈感來(lái)自于Java的日志級(jí)別,可在日志中添加級(jí)別。目前,其級(jí)別如下:

  1. logger.v("Add more detailed debug messages," 
  2.     "can contain sensitiveinformation, never enable it in production"); 
  3. logger.d("Fine grained informationto debug an application"); 
  4. logger.i("Track the flow of theapplication"); 
  5. logger.w("A potential but expectedproblem"); 
  6. logger.e("A real failure that mayimpact the application state"); 

出于某些原因,也會(huì)有如下意外收獲:

  1. logger.wtf("WTF logs??") 

效率王者!五大工具軟件包助力高效Flutter開發(fā)

圖源:GitHub

不僅如此,你還可以打開設(shè)備在屏幕上看到日志。

2. 后臺(tái)API未就位或根本沒(méi)有API?應(yīng)用中裝滿了硬編碼字符串?

如果你也在為代碼中硬編碼值太滿而苦惱,后臺(tái)的API(應(yīng)用程序接口)還沒(méi)有就位,或者根本沒(méi)有任何API,卻又希望UI(用戶界面)有用,你可以用Jesper Håkansson開發(fā)的faker,它能為應(yīng)用程序生成假數(shù)據(jù)。(https://pub.dev/packages/faker)

受到Python軟件包faker和Ruby軟件包ffaker的啟發(fā),該軟件包可提供各類數(shù)據(jù),從假人名到假日期,甚至是任一假URL(統(tǒng)一資源定位器)。只需創(chuàng)建一個(gè)簡(jiǎn)單的對(duì)象,比如:

  1. varfaker = new Faker(); 

并開始使用faker對(duì)象,如下:

  1. faker.date.month(); 
  2. faker.conference.name(); 
  3. faker.company.position(); 
  4. faker.lorem.sentences(8); 
  5. faker.internet.httpsUrl(); 
  6. faker.currency.name(); 
  7. faker.sport.name() 

在該軟件包中還有很多類別的數(shù)據(jù),所以當(dāng)項(xiàng)目變得復(fù)雜,很難替換整個(gè)項(xiàng)目的硬編碼值時(shí),這絕對(duì)是一個(gè)很好的備選方案。

3. API 響應(yīng)復(fù)雜時(shí),需要快速的模型類別?

早在2018年我就分享過(guò)這篇關(guān)于解析復(fù)雜JSON的文章,如今仍然相當(dāng)有用。

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

有一點(diǎn)需要注意的是,這是對(duì)JSON和Dart中解析的一個(gè)很好的理論復(fù)習(xí),但不建議在構(gòu)建實(shí)際復(fù)雜項(xiàng)目的時(shí)候進(jìn)行手動(dòng)解析。原因是什么呢?

  • 手動(dòng)肯定要花很長(zhǎng)的時(shí)間。
  • 更容易出錯(cuò)。

我經(jīng)常建議人們用轉(zhuǎn)換器工具或解析器。與手動(dòng)解析相比,解析器可以在幾秒鐘內(nèi)迅速完成解析。說(shuō)到JSON序列化,有幾個(gè)方法推薦給大家,這些方法可以在Flutter文檔中找到。

代碼生成庫(kù)是其一,可生成編碼樣板。但這仍然需要一些初始設(shè)置,我個(gè)人不是很喜歡。所以我常用工具是由一群開源開發(fā)者所構(gòu)建的quicktype.io在線工具。只需進(jìn)入網(wǎng)站,選擇Dart作為你的輸出語(yǔ)言。

在左邊粘貼你的JSON假響應(yīng),右邊快速創(chuàng)建Dart模型類和JSON序列化邏輯。

將這一類添加到Flutter項(xiàng)目中,然后就可以開始使用它們啦。

效率王者!五大工具軟件包助力高效Flutter開發(fā)

4. 從運(yùn)行模擬器/設(shè)備中預(yù)覽應(yīng)用程序響應(yīng)

作為一個(gè)Android開發(fā)者,光是為不同的屏幕尺寸創(chuàng)建XML就得好幾天,因?yàn)锳ndroid設(shè)備形狀和尺寸不一,而適配各種設(shè)備是很重要的。對(duì)于iOS開發(fā)者亦是如此,蘋果公司的iPhone屏幕尺寸列表各不相同,有時(shí)我們也要為平板電腦或iPad設(shè)備提供支持。

那么這是否意味著,我需要為我的團(tuán)隊(duì)下載各種模擬器或仿真器,購(gòu)買不同的手機(jī),這樣我們就可以在不同的設(shè)備上測(cè)試應(yīng)用的UI?去年,在 Flutter Interact 2019 中,Zoey Fan 和 Chris Sells 談到了 Flutter Octopus,你可以在多個(gè)平臺(tái)和設(shè)備中同時(shí)調(diào)試應(yīng)用。

[[352240]]

Flutter Interact 2019

但這主要是為了觀察應(yīng)用程序在不同設(shè)備上的性能。你真的會(huì)安裝那么多設(shè)備只為檢查UI的響應(yīng)速度嗎?我覺(jué)得不會(huì)。

由Alois Daniel設(shè)計(jì)的 Flutter Device Preview (Flutter設(shè)備預(yù)覽)可以幫助我們。這個(gè)寶藏工具,可從單一運(yùn)行模擬器/設(shè)備中預(yù)覽大小不同的設(shè)備上的應(yīng)用程序運(yùn)行情況。

(https://pub.dev/packages/device_preview)

從普通手機(jī)的尺寸到平板電腦的尺寸,甚至是表盤的尺寸,你可在不同屏幕與平臺(tái)上輕松預(yù)覽應(yīng)用程序。對(duì)于檢查應(yīng)用程序有無(wú)缺口時(shí)的情況,這是一個(gè)了不起的方法。它還有其他很棒的功能,比如:

  • 更改應(yīng)用程序的方向,并預(yù)覽應(yīng)用程序在不同方向上的響應(yīng)速度。
  • 更新配置,如文字比例系數(shù)、應(yīng)用程序主題、區(qū)域設(shè)置。
  • 截圖與團(tuán)隊(duì)分享功能。

這些都不會(huì)影響應(yīng)用程序的狀態(tài)!

5. 試用BetaFlutter版本,在穩(wěn)定版中建立項(xiàng)目

在Flutter中構(gòu)建生產(chǎn)應(yīng)用程序,你很有可能會(huì)使用穩(wěn)定的Flutter版本來(lái)開發(fā)和部署應(yīng)用程序。誰(shuí)會(huì)冒著風(fēng)險(xiǎn)在試驗(yàn)的Flutter版本上開發(fā)客戶項(xiàng)目呢?

但是作為熱情的開發(fā)者,很難不會(huì)產(chǎn)生嘗試測(cè)試版體驗(yàn)新功能的沖動(dòng)但這就意味著要卸載當(dāng)前的穩(wěn)定版,再安裝測(cè)試版,花費(fèi)大量時(shí)間下載新版本的資源。再回到客戶端項(xiàng)目工作時(shí),你又要卸載該版本再安裝穩(wěn)定版?

我不會(huì)這樣做。所以,另一個(gè)好工具就是fvm——Leo Farias設(shè)計(jì)的flutter版本管理器。你可以用這個(gè)工具來(lái)管理多個(gè)flutter版本,而不必每次切換時(shí)都要下載。這個(gè)設(shè)置裝一次就夠了,可以下載所有版本,如下:

  1. fvm install beta 

  1. fvm install <version> 

只需要一個(gè)指令就可以在不同的版本之間進(jìn)行切換,就像這樣:

  1. fvm use stable 

其實(shí)可以根據(jù)項(xiàng)目使用不同的Flutter版本。當(dāng)你自己在試驗(yàn)一些項(xiàng)目時(shí),這個(gè)工具是很好用的。

  1. cdDocuments/FlutterProjects/ExperimentalProjectfvmuse beta 

  1. cdDocuments/FlutterProjects/ClientProjectfvmuse stable 

安裝了fvm后,唯一的變化就是所有的命令會(huì)有些改動(dòng)。就像flutter doctor變成了fvmflutter doctor;或是flutterrun變成fvm flutter run。這些我覺(jué)得還是比較容易記住的。

本文的內(nèi)容足夠你好好消化一陣兒啦。

 

責(zé)任編輯:趙寧寧 來(lái)源: 今日頭條
相關(guān)推薦

2010-04-23 15:18:51

Oracle性能優(yōu)化

2018-06-21 07:32:23

云技術(shù)云開發(fā)SaaS

2010-10-27 09:33:18

MVC開發(fā)

2015-01-06 13:42:45

跨平臺(tái)開發(fā)APP工具

2022-09-02 15:25:59

程序員工具項(xiàng)目

2013-08-09 10:06:18

工作負(fù)載云計(jì)算郵件服務(wù)

2013-08-09 09:44:30

云服務(wù)云數(shù)據(jù)備份云災(zāi)難恢復(fù)

2011-12-12 09:43:28

微軟工具服務(wù)器管理下載

2022-11-25 08:00:00

人工智能工具Grammarly

2018-10-26 08:59:17

Linux開發(fā)工具

2009-02-11 08:58:50

常用軟件.NET開發(fā)

2022-11-09 10:18:14

工業(yè)物聯(lián)網(wǎng)智能

2010-07-16 09:00:00

.NET

2009-03-02 09:14:00

2024-10-21 16:34:15

2020-04-16 10:19:29

軟件開發(fā)DevOps框架

2021-11-16 08:00:00

人工智能軟件開發(fā)工具

2013-08-15 11:31:25

2024-04-03 07:16:46

CSS前端開發(fā)Bootstrap

2010-07-01 10:55:58

UML建模工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)