乐趣区

关于flutter:译5个高效的Flutter开发工具

此篇文章为英文翻译,原文地址

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/fake…

3. 当 API 返回的数据结构简单,你须要疾速构建 model?

尽管我在 2018 年曾经分享过这篇解析简单 JSON 的文章,在明天它依然十分风行。

https://medium.com/flutter-co…

值得一提的是,这篇文章是对 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/devi…

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/ClientProject
fvm use stable

在你装置 fvm 之后惟一扭转的是你所有的命令都会略微批改一下。

就像 flutter doctor , 变成fvm flutter doctor

这是很容易记住的。

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

PS:

文中的 pub 包的示例在译者的 github 上,github 地址https://github.com/jack0-0wu/…

文章会首发在微信公众号,欢送关注。
能够搜寻公众号名‘’杰克的程序人生‘’

退出移动版