老孟导读:本文介绍6种极大提升Flutter开发效率的工具包。

[1] 强大的日志软件包

在开发 Flutter 的过程中打印日志是常用的调试方式之一,但 Flutter 内置的日志打印非常简单,下面介绍一个强大的软件包:logger

Logger 是一款易于使用且可扩展的日志记录器,可打印精美的日志。 受到Android记录器的启发,将日志分为不同的级别:

logger.v("Verbose log");

logger.d("Debug log");

logger.i("Info log");

logger.w("Warning log");

logger.e("Error log");

logger.wtf("What a terrible failure log");

发布内侧版本时,测试人员不会将手机一直连接你的电脑,因此出现bug时无法通过控制台打印日志,logger_flutter这个插件可以解决这个问题,此插件通过摇晃手机或者调用 LogConsole.open(context) 在手机上直接显示日志。

Logger pub地址:https://pub.dev/packages/logger

logger_flutter pub地址: https://pub.dev/packages/logger_flutter

[2] 转换 Json 数据为 model

通常情况下,服务器接口返回的数据是 json 格式,将 json 格式的数据转换为实体类是非常繁琐的工作,尤其是复杂的 json 数据,这里推荐大家使用 JsonToDart 插件,Android Studio 和 VS Code 编辑器上都可以安装此插件,它可以帮我们将 json 格式的数据转换为实体类。

详细用法及安装:http://laomengit.com/guide/data_storage/Json2Model.html

[3] 在不同分辨率的手机上查看UI效果

Flutter 开发最大的优势就是其跨平台,当开发完成时,想在不同分辨率的手机查看其效果,那是否要每一款手机都买一个来进行测试?

2019年的 Flutter Interact,像我们展示了同时在多个平台和设备上调试应用程序

下面这款工具包 device_preview 可以让您在一台设备上查看不同分辨率设备上UI的效果。

不止如此,它还有其他酷炫的功能:

  • 更改设备方向
  • 动态系统配置:语言,暗模式,文本缩放比例
  • 可自由调整分辨率和安全区域的设备
  • 保持应用程序状态
  • 截图

device_preview 地址:https://pub.dev/packages/device_preview

[4] 同时使用 stable 和 master

开发项目时,我们通常使用 stable channel 构建稳定版本,但同时我们也希望体验新的版本,新的功能,那只能切换到 master channel, 但此时稳定项目的版本也随之切换,来回切换非常麻烦,除了每次切换都要重新下载大量文件外,也可能出现异常,每一次版本升级都会有很多人遇到项目无法编译的问题。

那么怎么能够同时存在stable channelmaster channel 呢?正常开发使用 stable channel,想体验新版本时使用 master channel

fvm 这个插件将会帮助你,fvm是 Flutter Version Management 的简称,是管理Flutter SDK版本的简单CLI。

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

[5] 国际化工具包

有人可能觉得我的项目不需要国际化,只需要中文即可,但是我依然强烈建议你加入国际化,原因如下:

  • 以后的事情谁也说不准,是否支持国际化是老板一句话的事。
  • 增加国际化并不会增加你的工作量,其他国家的语言可以先不翻译,直接空着即可。

Intl 插件可以帮我们快速的完成国际化。

详细使用:http://laomengit.com/guide/intl/%E4%BD%BF%E7%94%A8Intl%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%9B%BD%E9%99%85%E5%8C%96.html#%E4%BD%BF%E7%94%A8intl%E5%8C%85%E5%AE%9E%E7%8E%B0%E5%9B%BD%E9%99%85%E5%8C%96

[6] 应用升级功能

最后介绍一下我自己开发的应用升级功能软件包,升级功能应该是应用程序必备功能之一了。

目前支持 Android 和 iOS:

详细使用:http://laomengit.com/plugin/upgrade.html

交流

老孟Flutter博客(330个控件用法+实战入门系列文章):http://laomengit.com

欢迎加入Flutter交流群(微信:laomengit)、关注公众号【老孟Flutter】:

【老孟Flutter】6种极大提升Flutter开发效率的工具包的更多相关文章

  1. 使用Charles Proxy提升iOS开发效率

    以前做前端开发的时候,使用最多的工具就是 Fiddler ,用来定位问题.模拟特定场景非常方便,极大提升了开发效率.而转做 iOS 开发以后,一大头疼的问题是 Fiddler 没有 Mac 版,幸亏找 ...

  2. Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725

    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓  O725 1. DSL主要分为三类:外部DSL.内部DSL,以及语言工作台. 1 2. DSL ...

  3. atitit.提升软件开发效率大的总结O5

    atitit.提升软件开发效率大的总结O5 #---平台化.组件化 1 #--cbb公用模块的建设 1 #---内部最佳流程方法跟实践的总结 2 #---内部知识体系的建设 2 #---问题Qa库的建 ...

  4. fir.im Weekly - 17 个提升 iOS 开发效率的必备工具

    本期 fir.im Weekly 精选了一些iOS 开发工具和动画源码分享,希望每个开发者能专注效率.实用.灵感.  iOS开发工具--如何优化ipa包大小 @iOS程序犭袁 推荐了关于"如 ...

  5. iOS之17个提升iOS开发效率的必用工具

    时间就是金钱.编码效率的提升意味着更多的收入.可是当我们的开发技巧已经到达一定高度时,如何让开发效率更上一层楼呢?答案就是使用开发工具!在这篇文章中,我会向你介绍一些帮助我提升编码速度和工作效率的工具 ...

  6. 17个提升iOS开发效率的必用工具

    时间就是金钱.编码效率的提升意味着更多的收入.可是当我们的开发技巧已经到达一定高度时,如何让开发效率更上一层楼呢?答案就是使用开发工具!在这篇文章中,我会向你介绍一些帮助我们提升编码速度和工作效率的工 ...

  7. 极大提高Web开发效率的8个工具和建议(含教程)

    面对复杂的 Web 应用的开发,良好的流程和工具支持是必不可少的,它们可以让日常的开发工作更加顺畅.更加高效.本文介绍了6个Web开发利器以及相关的教程,帮助你在开发.调试.集成和发布过程极大地提高效 ...

  8. 使用快捷键提升C#开发效率

    好的工具能帮我们提升开发效率,能用工具去做的事情尽量使用工具,让我们的开发尽量自动化是提升开发效率的关键因素. 很多人都用过Resharper,也被Resharper超多的快捷键所折服,本篇文章我总结 ...

  9. 提升Java开发效率必看!教你如何在MyEclipse中使用内联搜索

    MyEclipse CI 2019.4.0安装包下载 Inline Search取代传统Eclipse查找和替换对话框,提供更搞笑.更具侵略性的搜索体验——一种不会中断开发工作流程的工具. DevSt ...

随机推荐

  1. 手把手教你AspNetCore WebApi:Serilog(日志)

    前言 小明目前已经把"待办事项"功能实现了,API文档也搞定了,但是马老板说过,绝对不能让没有任何监控的项目上线的. Serilog是什么? 在.NET使用日志框架第一时间会想到N ...

  2. 视频+图文教程 | Java之安装JDK与环境配置

    演示所用软件JDK 8与Eclipse(Java开发工具)软件下载链接: 链接:https://pan.baidu.com/s/1Vg9ulrQH8WlGRAE89Y02UA提取码:swwl 视频介绍 ...

  3. object-fit 详解

    contain 被替换的内容将被缩放,以在填充元素的内容框时保持其宽高比. 整个对象在填充盒子的同时保留其长宽比,因此如果宽高比与框的宽高比不匹配,该对象将被添加"黑边". cov ...

  4. iptables 和firewalld 区别

    在RHEL7里有几种防火墙共存:firewalld.iptables.ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等. fir ...

  5. 微信小程序适配iPhone X

    1.获取设备型号 App({ // 全局数据 globalData: { // 其他数据定义 ... isIPX: false, // 当前设备是否为 iPhone X }, // 小程序启动入口 o ...

  6. macvlan几种模式

    vepa模式:各个子设备直接无法直接通信(可以通过支持端口聚合的交换机通信),可以和外部通信. private模式:和vepa模式类似,各个子设备之间无法通信,即使通过支持端口聚合的交换机也不能. b ...

  7. 从源码的角度解析Mybatis的会话机制

    坐在我旁边的钟同学听说我精通Mybatis源码(我就想不通,是谁透漏了风声),就顺带问了我一个问题:在同一个方法中,Mybatis多次请求数据库,是否要创建多个SqlSession会话? 可能最近撸多 ...

  8. 0-完全开源的 Vue.js 入门级教程:HelloVue,发车啦!

    本教程基于 Vue.js 2.x 作者:HelloGitHub-追梦人物 欢迎来到 HelloVue-todo-tutorial,这个教程将手把手教你从零开始使用 Vue 搭建一个 Todo(待办事项 ...

  9. C++中线程安全单例模式的正确实现方式

    为什么说DCLP不是线程安全的 DCLP(Double Checked Locking Pattern),即双检锁模式: class Foo { public: static Foo* getInst ...

  10. SQL Server Management Studio (SSMS)单独安装,仅安装连接工具

    简单来说,SSMS是用于远程连接数据库与执行管理任务的一个工具.当安装SQL SERVER时,会默认安装.但也可以单独安装在不是数据库服务器的主机上. SQL Server Management St ...