老孟导读:本文介绍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. Nuxt/Vue自定义导航栏Topbar+标签栏Tabbar组件

    基于Vue.js实现自定义Topbar+Tabbar组件|仿咸鱼底部凸起导航 最近一直在倒腾Nuxt项目,由于Nuxt.js是基于Vue.js的服务端渲染框架,只要是会vue,基本能很快上手了. 一般 ...

  2. Javascript判断数据类型的五种方式及其特殊性

    Javascript判断数据类型的五种方式及区别 @ 目录 typeof instanceof Object.prototype.toString isArray iisNaN ----------- ...

  3. 【C语言编程入门笔记】排序算法之快速排序,一文轻松掌握快排!

    排序算法一直是c语言重点,各个算法适应不用的环境,同时,在面试时,排序算法也是经常被问到的.今天我们介绍下快速排序,简称就是快排. 1.快速排序思想: 快排使用 分治法 (Divide and con ...

  4. 飞翔---------双重线性dp

    题目: 鹰最骄傲的就是翱翔,但是鹰们互相都很嫉妒别的鹰比自己飞的快,更嫉妒其他的鹰比自己飞行的有技巧.于是,他们决定举办一场比赛,比赛的地方将在一个迷宫之中. 这些鹰的起始点被设在一个N*M矩阵的左下 ...

  5. go 结构体与方法

    go 结构体与方法   go 结构体相当于 python 中类的概念,结构体用来定义复杂的数据结构,存储很多相同的字段属性 结构体的定义 1.结构体的定义以及简单实用 package main imp ...

  6. linux(centos8):用fallocate快速生成大文件

    一,fallocate的用途? 1,用途 我们有时需要用大文件来测试下载速度, 有时需要用大文件来覆盖磁盘空间, 如果在网上搜索,很多文章讲的是使用dd等工具, 事实上linux系统已经内置了生成大文 ...

  7. HTTP协议和APACHE

    HTTP服务 超文本传输协议. 互联网上应用最广的一种服务. 是一种应用层协议. Internet 互联网表示把各个网连起来 ARPAnet军网 TCP/IP协议 开放的协议 互联互通 Interne ...

  8. BlockCanary界面卡顿检测

    添加依赖: implementation 'com.github.markzhai:blockcanary-android:1.5.0' 运行后会同时安装检测工具,主要检测UI线程运行卡顿现象 pub ...

  9. 论文解读《Plug-and-Play Priors for Model Based Reconstruction》

    这篇论文主要概述了model-baesd的方法在解决图像恢复的逆问题的很好的效果,降噪问题其实就是前向模型的H是一个恒等算子,将state-of-the-art的降噪算法(先验模型)和相对应的逆问题的 ...

  10. windows7 安装配置NodeJS、NPM

    转载自https://blog.csdn.net/dengxw00/article/details/82974808 windows7 安装配置NodeJS.NPM一.安装 NodeJS1.登陆官网( ...