5个高效的Flutter开发工具

本文涉及的产品
全局流量管理 GTM,标准版 1个月
日志服务 SLS,月写入数据量 50GB 1个月
云解析 DNS,旗舰版 1个月
简介: 1

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??")

DDnGHx.png
不仅如此,你还可以晃动你的设备来查看屏幕上的日志。(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的文章,在今天它仍然非常流行。

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

在你安装fvm之后唯一改变的是你所有的命令都会稍微修改一下。

就像 flutter doctor , 变成fvm flutter doctor

这是很容易记住的。

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

PS:

此篇文章为medium翻译,原文地址(科学上网)

文中的pub包的示例在译者的github上,github地址https://github.com/jack0-0wu/flutter_demo
文章会首发在微信公众号,欢迎关注。
可以搜索公众号名 ‘’杰克的程序人生‘’,扫描上方二维码关注公众号,扫描下方二维码添加作者微信,加入flutter技术交流群。

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjczMTkyOA==,size_16,color_FFFFFF,t_70#pic_center在这里插入图片描述

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
|
2月前
|
开发框架 Dart 前端开发
Flutter 是谷歌推出的一款高效跨平台移动应用开发框架,使用 Dart 语言,具备快速开发、跨平台支持、高性能、热重载及美观界面等特点。
Flutter 是谷歌推出的一款高效跨平台移动应用开发框架,使用 Dart 语言,具备快速开发、跨平台支持、高性能、热重载及美观界面等特点。本文从 Flutter 简介、特点、开发环境搭建、应用架构、组件详解、路由管理、状态管理、与原生代码交互、性能优化、应用发布与部署及未来趋势等方面,全面解析 Flutter 技术,助你掌握这一前沿开发工具。
67 8
|
2月前
|
存储 JavaScript 前端开发
在Flutter开发中,状态管理至关重要。随着应用复杂度的提升,有效管理状态成为挑战
在Flutter开发中,状态管理至关重要。随着应用复杂度的提升,有效管理状态成为挑战。本文介绍了几种常用的状态管理框架,如Provider和Redux,分析了它们的基本原理、优缺点及适用场景,并提供了选择框架的建议和使用实例,旨在帮助开发者提高开发效率和应用性能。
39 4
|
2月前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
45 2
|
7月前
|
开发框架 前端开发 测试技术
Flutter开发常见问题解答
Flutter开发常见问题解答
|
3月前
|
开发者
鸿蒙Flutter实战:07-混合开发
鸿蒙Flutter混合开发支持两种模式:1) 基于har包,便于主项目开发者无需关心Flutter细节,但不支持热重载;2) 基于源码依赖,利于代码维护与热重载,需配置Flutter环境。项目结构包括AppScope、flutter_module等目录,适用于不同开发需求。
123 3
|
2月前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
287 0
|
2月前
|
Dart 安全 UED
Flutter&鸿蒙next中的表单封装:提升开发效率与用户体验
在移动应用开发中,表单是用户与应用交互的重要界面。本文介绍了如何在Flutter中封装表单,以提升开发效率和用户体验。通过代码复用、集中管理和一致性的优势,封装表单组件可以简化开发流程。文章详细讲解了Flutter表单的基础、封装方法和表单验证技巧,帮助开发者构建健壮且用户友好的应用。
86 0
|
3月前
|
开发框架 移动开发 Android开发
安卓与iOS开发中的跨平台解决方案:Flutter入门
【9月更文挑战第30天】在移动应用开发的广阔舞台上,安卓和iOS两大操作系统各自占据半壁江山。开发者们常常面临着选择:是专注于单一平台深耕细作,还是寻找一种能够横跨两大系统的开发方案?Flutter,作为一种新兴的跨平台UI工具包,正以其现代、响应式的特点赢得开发者的青睐。本文将带你一探究竟,从Flutter的基础概念到实战应用,深入浅出地介绍这一技术的魅力所在。
102 7
|
3月前
|
编解码 Dart API
鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件
本文介绍了如何开发一个 Flutter 鸿蒙插件,实现 Flutter 与鸿蒙的混合开发及双端消息通信。通过定义 `MethodChannel` 实现 Flutter 侧的 token 存取方法,并在鸿蒙侧编写 `EntryAbility` 和 `ForestPlugin`,使用鸿蒙的首选项 API 完成数据的读写操作。文章还提供了注意事项和参考资料,帮助开发者更好地理解和实现这一过程。
139 0