首页 -> 行业 > 正文

iFlutter - 加速Flutter开发

    来源: 博客园  2023-04-25 12:04:25

iFlutter是一款辅助Flutter开发的 IDEA 插件

插件安装

插件已上传官方Plugins仓库,可在IDEA Plugins界面搜索 iFlutter下载

iFlutter生态

  • 欢迎PR、issues、advice,一起共建Flutter生态 Github


    (资料图)

  • 该文档不再更新,请直接查看最新文档Wiki

功能说明

  • 资源文件管理
  • 依赖树生成
  • Dart代码生成
  • Http接口Mock
  • 包检查更新
  • 提取远程依赖
  • ...

注册资源

Flutter开发过程中,不可避免地需要使用到本地资源。比如:使用 bg_login.png文件作为背景图,开发一个登录界面,步骤如下:

  1. 在项目根目录创建 images文件夹,并把 bg_login.png添加到 images;
  2. 注册资源到 pubspec.yaml
···flutter:  uses-material-design: true  assets:    - images/bg_login.png    #注册资源    ···  
  1. 使用资源:
Image.asset("images/bg_login");

使用资源前都需要在 pubspec.yaml文件中注册,并且通过 硬编码引用,凸显出两个问题:

  1. 存在繁琐的机械劳动
  2. 出错率高

iFlutter解决方案: 当在 指定的目录中添加、删除、重命名文件时,iFlutter插件都会感知,并自动修改 pubspec.yaml文件,同时生成配套的 _res.dart文件(类似Android中的R文件),通过 R.xx的方式就能使用资源,效果如下:

  • 其中 指定的目录,并不是 iFlutter所固定要求的,开发者可自行配置,默认 imagesassets,具体配置如下:
  • 生成的 _res.dart文件的规则又是什么呢? 如果 指定的目录images,那么就会生成 lib/res/images_res.dart文件,对应的类名 ImagesRes。按此类推,如果目录名是 Assets,生成的文件和类名分别是 lib/res/assets_res.dartAssetsRes。值得一提的是,如果开发者手动修改 pubspec.yaml文件中资源的配置,iFlutter也会感知,并重新生成 _res.dart文件。

  • 节省包体积照顾强迫症研发出发,可配置某些资源不会在 _res.dart文件中生成字段,比如 .ttf.json文件,默认都生成,开发者可自行配置:

  • 如果AndroidStudio安装了 iFlutter插件,资源自动注册功能默认打开,如果想禁用此功能,可配置关闭,配置如下:

注册字体

指定的目录添加文件,如果该文件后缀为:ttf, font, fon, otf, eot, woff, ttc,则 iFlutter会视该文件为字体文件,便自动注册自定义字体到 pubspec.yaml中,同时创建或修改 lib/res/i_font_res.dart以生成引用字段。

如果项目已经有自定义字体配置,首次使用 iFlutter需要确保family:xxx和字体文件名(不包括后缀)一致,例如:

flutter:  ...  fonts:    - family: a      fonts:        - asset: relative/path/b.ttf

则需要修改 relative/path/b.ttf文件名为 a.ttf

资源重置

当合并分支代码时,如果出现 _res.darti_font_res文件冲突,可重新生成:

iFlutter通过以下两个步骤,对资源进行重置:

  • 指定目录资源重新注册到 pubsepec.yaml中;
  • 重新生成 _res.darti_font_res文件;

检查重复资源

在项目版本需求开发周期内,同一个设计资源可能被不同的开发小伙伴重复引入,导致包体积增涨,iFlutter支持重复资源检测,效果如下:

归纳资源

随着Flutter项目的不断迭代,项目中所使用的资源也会越来越多。大部分的情况下,项目所使用的资源文件都是直接平展在目录下,类似:

images  - login_wx.png  - login_qq.png  - login_phone.png  - mine_setting.png  - mine_defailt_portrait.png  - launcher.png  ...

为了方便项目模块化,iFlutter支持对目录下的文件进行归类,以 _为规则进行分类,分类结果如下:

images  - login    - login_wx.png    - login_qq.png    - login_phone.png  - mine    - mine_setting.png    - mine_defailt_portrait.png  - launcher.png  ...

资源归类后,iFlutter会重新注册资源到 pubspec.yaml中,并修改受影响的 *.dart文件。

  • 并非所有目录都支持资源归类,默认 assetsimages目录,开发者可自行调整,具体如下:

具体效果如下:

依赖树生成

用于分析Flutter项目 包依赖关系,对于生成的结果支持 Command/Control+ F搜索,功能入口:

Json 转 Dart Entity

在Flutter项目的 lib目录及其 子目录下,iFlutter支持 JsonDart Entity功能,在其他目录下该功能不可用,使用效果如下:

  • 默认生成的 Dart Entity是支持 空安全的,如果项目还没适配到 Flutter2.x版本,通过修改 iFlutter配置即可,配置如下:
  • 填写类名时,采用驼峰命名法

Dart Entity 补全 fromJsontoJson方法

对于新的实体类,可以通过上一节 Json 转 Dart Entity工具自动生成。针对项目中已有的类,那我们又该如何生成 toJsonfromJson方法呢?先看使用效果:

  • 官方插件 Dart已经提供了生成 ConstructorNamed ConstructortoString方法,而 iFlutterfromJsontoJson正好加强了官方对类的 fix(补全)吧。

Live Template

使用效果:

使用说明:

快捷键代码片段
importMimport "package:flutter/material.dart;
importCimport "package:flutter/cupertino.dart;
f_ColumnColumn(...)
f_ContainerContainer(...)
f_GestureDetectorGestureDetector(...)
f_RowRow(...)
f_StackStack(...)
f_TextText(...)

代码细节:

Http接口Mock

功能使用:

  • iFlutter开启的 HTTP Mock与项目绑定,MOCK 数据以项目为维度进行隔离。

包检查更新

iFlutter插件会定时(5min)检查项目中直接依赖的Packages是否可更新,如果远程有最新版本,则 pubspec.yaml对应节点会高亮显示,点击右侧 icon会打开对应的页面,效果如下:

提取远程依赖

iFlutter支持将远程依赖一键修改成本地依赖,方便对 Package进一步扩展或者修复。将光标停留在对应的 Package上,右键选择 convert to local dependency后,在弹出目录选择对话框中,选择需要存储的位置。

标签:

【免责声明】

1、凡本网注明出处非(巨潮财经网)的作品,均转载于自其它媒体,并不代表本网赞同其观点和对其真实性负责,目的在于信息的传递,本网不承担稿件侵权行为的连带责任,如对稿件有质疑请与本网客服联系。

2、刊发此文目的在于传递更多信息,文章内容仅供参考,不构成投资建议,投资者据此操作,风险自担。

3、如涉及作品内容、版权等其它问题,请在15日内联系本网客服。

阅读延展

iFlutter - 加速Flutter开发

iFlutter - 加速Flutter开发

iFlutter是一款辅助Flutter开发的IDEA插件插件安装插件已上传官方Plugins仓库,可在IDEAPlugins界面搜索iFl

2023-04-25 12:04:25

第7个“中国品牌日”来临,纺织服装行业论坛将再聚上海

第7个“中国品牌日”来临,纺织服装行业论坛将再聚上海

2023年5月10日是我国第7个“中国品牌日”。5月13日,中国品牌日官方系列活动“2023中国品牌国际发展论坛—

2023-04-25 11:55:38

世界微动态丨中国人寿寿险公司公布2022年十大温暖理赔案例

世界微动态丨中国人寿寿险公司公布2022年十大温暖理赔案例

2019年,中国人寿保险股份有限公司(以下简称 "中国人寿寿险公司 ")开启理赔服务品牌化的运营之路,通过打

2023-04-25 11:50:10

天天精选!喝酒越来越讲究了,天猫国际进口酒具同比增长193%

天天精选!喝酒越来越讲究了,天猫国际进口酒具同比增长193%

"美酒配美器 ",这届爱酒人士越来越讲究,喝葡萄酒搭配高脚的红酒杯,喝威士忌搭配杯身矮、杯口宽的可林斯

2023-04-25 11:32:54

当前资讯!小桔充电上线“跳枪赔付”服务 首城落地杭州

当前资讯!小桔充电上线“跳枪赔付”服务 首城落地杭州

4月25日,小桔充电宣布上线行业首创 "跳枪赔付 "服务保障,目前已覆盖杭州全量小桔优选站,后续将推向全国

2023-04-25 11:41:33

最近更新

iFlutter - 加速Flutter开发

iFlutter - 加速Flutter开发

iFlutter是一款辅助Flutter开发的IDEA插件插件安装插件已上传官方Plugins仓库,可在IDEAPlugins界面搜索iFl

2023-04-25 12:04:25

天天速递!Twitter给已故名人加“蓝V”惹议

天天速递!Twitter给已故名人加“蓝V”惹议

据大公报报道,据《华盛顿邮报》报道:社交媒体巨头推特(Twitter)的“蓝V”认证制度近日引发争议。Twitte

2023-04-25 12:17:06

港股午评:恒科指大跌3.46%,恒指下挫超320点,锂电池股跌幅居前

港股午评:恒科指大跌3.46%,恒指下挫超320点,锂电池股跌幅居前

指数低开低走,三大指数皆刷新月内低点。南下资金半日逆势净流入27 42亿港元。

2023-04-25 12:01:55

第7个“中国品牌日”来临,纺织服装行业论坛将再聚上海

第7个“中国品牌日”来临,纺织服装行业论坛将再聚上海

2023年5月10日是我国第7个“中国品牌日”。5月13日,中国品牌日官方系列活动“2023中国品牌国际发展论坛—

2023-04-25 11:55:38

【天天时快讯】印度一82岁男子铁轨边小便,被“天降奶牛”砸死……不是个例!

【天天时快讯】印度一82岁男子铁轨边小便,被“天降奶牛”砸死……不是个例!

印度一82岁男子铁轨边小便,被“天降奶牛”砸死……不是个例!,据“今日印度”新闻网20日报道,印度82岁男

2023-04-25 12:10:54

陈情表原文及翻译注释一句一译_陈情表原文

陈情表原文及翻译注释一句一译_陈情表原文

1、臣密言:臣以险衅(xìn),夙(sù)遭闵(mǐn)凶。2、生孩六月,慈父见背。3、行(xíng)年四岁,舅夺母志。

2023-04-25 12:04:34

当前热文:数字阅读为文化消费提供新选择

当前热文:数字阅读为文化消费提供新选择

4月24日,在第二届全民阅读大会上,数字阅读分论坛暨第九届数字阅读年会举行。会上,中国音像与数字出版协

2023-04-25 12:00:45

德国商业景气指数连续第六个月环比上升 热消息

德国商业景气指数连续第六个月环比上升 热消息

德国伊弗经济研究所24日公布的数据显示,经季节调整后,德国4月商业景气指数从上月的93 2点升至93 6点,为

2023-04-25 12:00:22

2023年一季度海南各市GDP排行榜 海口排名第一 三亚排名第二

2023年一季度海南各市GDP排行榜 海口排名第一 三亚排名第二

2023年一季度海南省地区生产总值1775 96亿元,同比增长6 8%。分产业看,第一产业增加值407 26亿元,第二产

2023-04-25 12:00:44

北京二手房大消息!“大兴区存量房信息发布平台”上线-新视野

北京二手房大消息!“大兴区存量房信息发布平台”上线-新视野

继北京房山区拟出台购房支持政策后,大兴区也有新动作。日前,北京大兴区开发的 "大兴区存量房信息发布平台

2023-04-25 11:55:53

世界微动态丨中国人寿寿险公司公布2022年十大温暖理赔案例

世界微动态丨中国人寿寿险公司公布2022年十大温暖理赔案例

2019年,中国人寿保险股份有限公司(以下简称 "中国人寿寿险公司 ")开启理赔服务品牌化的运营之路,通过打

2023-04-25 11:50:10

天天精选!喝酒越来越讲究了,天猫国际进口酒具同比增长193%

天天精选!喝酒越来越讲究了,天猫国际进口酒具同比增长193%

"美酒配美器 ",这届爱酒人士越来越讲究,喝葡萄酒搭配高脚的红酒杯,喝威士忌搭配杯身矮、杯口宽的可林斯

2023-04-25 11:32:54

当前资讯!小桔充电上线“跳枪赔付”服务 首城落地杭州

当前资讯!小桔充电上线“跳枪赔付”服务 首城落地杭州

4月25日,小桔充电宣布上线行业首创 "跳枪赔付 "服务保障,目前已覆盖杭州全量小桔优选站,后续将推向全国

2023-04-25 11:41:33

全球快播:贵州茅台连续4个季度成为公募头号重仓股 一季度末持仓市值高达1006亿

全球快播:贵州茅台连续4个季度成为公募头号重仓股 一季度末持仓市值高达1006亿

◎记者王彭赵明超今年以来,AI概念的横空出世点燃了新一轮TMT行情。各路资金推动下,TMT板块火速升温,成交

2023-04-25 11:43:08

黄金周助燃消费市场:出游与美食缺一不可,唯品会户外穿戴销量激增

黄金周助燃消费市场:出游与美食缺一不可,唯品会户外穿戴销量激增

五一黄金周还未开启,消费市场就已经被浓厚的假期氛围点燃。多个在线旅游平台发布五一假期预测报告,距离假

2023-04-25 11:45:52

名单来了!海南省最新企业上市(挂牌)后备库名单公布

名单来了!海南省最新企业上市(挂牌)后备库名单公布

海南省地方金融监督管理局公布最新企业上市后备资源库名单,23家企业入选,其中一级库20家,二级库3家。

2023-04-25 11:37:42

全球新资讯:数控800型蒸压器圆管直缝焊机

全球新资讯:数控800型蒸压器圆管直缝焊机

数控800型蒸压器圆管直缝焊机直缝焊接机适用于不锈钢,碳钢,铝,各种金属筒体,拼板的直缝焊接。单面焊接

2023-04-25 11:36:36

天天报道:盐城市东风物流有限公司100%股权被挂牌转让 底价约3226万元

天天报道:盐城市东风物流有限公司100%股权被挂牌转让 底价约3226万元

观点网讯:4月25日,东风物流集团股份有限公司挂牌盐城市东风物流有限公司100%股权,转让底价为3226 47万元

2023-04-25 11:47:18

中南建设去年归母净亏损91.7亿元,计提减值准备35.3亿元

中南建设去年归母净亏损91.7亿元,计提减值准备35.3亿元

记者:计思敏庞静涛4月24日晚间,江苏中南建设集团股份有限公司(000961 SZ)发布2022年年度报告。数据显示

2023-04-25 11:44:48

青海西部750千伏“8”字形环网正式投运

青海西部750千伏“8”字形环网正式投运

4月23日,随着750千伏鱼卡至托素Ⅱ回输电线路完成投运工作,青海西部750千伏电网“8”字形坚强骨干网架全面

2023-04-25 11:36:58

短线如何抓涨停板(短线高手涨停绝招公式)

短线如何抓涨停板(短线高手涨停绝招公式)

1、Var1:=(CLOSE*2+HIGH+LOW) 4;SK:EMA(Var1,13)-EMA(Var1,21);SD:EMA(SK,2);多方能量:2*(S

2023-04-25 11:25:34

臻络科学针对帕金森病患者推出全时空慢病管理定制保障4月21日正式上线|微动态

臻络科学针对帕金森病患者推出全时空慢病管理定制保障4月21日正式上线|微动态

近日,带病体保险领域首份聚焦帕金森病患者人群的保险产品——“臻医保·帕无忧”正式上线,该保险产品由臻

2023-04-25 11:28:31

大湾区互联互通再提速,微众区块链助力“金融支持前海30条”

大湾区互联互通再提速,微众区块链助力“金融支持前海30条”

解读新商业的财经新媒体,报道资本市场,解读上市公司,追踪财经热点,专栏入驻开放平台

2023-04-25 11:27:56

第二届成都国际工业博览会明日启幕_天天实时

第二届成都国际工业博览会明日启幕_天天实时

开设七大展区,展览规模达6万平米,汇聚全球参展企业650家……为抢抓成渝地区双城经济圈建设、新一轮西部大

2023-04-25 11:02:40

每日报道:全国信息与通信技术人才专业技术证书有什么用 全国信息与通信技术人才专业技术证书

每日报道:全国信息与通信技术人才专业技术证书有什么用 全国信息与通信技术人才专业技术证书

今天来聊聊关于全国信息与通信技术人才专业技术证书有什么用,全国信息与通信技术人才专业技术证书的文章,

2023-04-25 11:02:22

每日视点!专家:高拉特归化成本4亿人民币左右 他一直想为国足出场

每日视点!专家:高拉特归化成本4亿人民币左右 他一直想为国足出场

恒大在2019年对高拉特进行了一次续约,这次目的就是归化,这应该算入成本。3、即便是归化成功了,恒大在后

2023-04-25 11:13:21

要闻速递:日本央行行长植田和男:趋势性通胀率仍低于2%,但在逐步加速

要闻速递:日本央行行长植田和男:趋势性通胀率仍低于2%,但在逐步加速

App4月25日消息,日本央行行长植田和男:趋势性通胀率仍低于2%,但在逐步加速,这在一定程度上是由于货币

2023-04-25 11:12:59