Android自动生成代码,可视化脚手架,将大大提高开发效率

Hello,各位铁铁,从今天起,将在一段时间内不间断的,来分享一些Android中的可视化脚手架,粗算一下,将会用近15章的内容,来总结与分享当下研究的成果,这是一个相对比较大的工程,并不是项目的工程大,而是把现有的工程,罗列成一个从0到1的教程,需要很耗时的,既要通俗,又要易懂,并且上来就能可以简单的实现,这个还是要下功夫的,各位铁铁,喜欢此系列课程的话,不妨给个小小的关注。

实话实说,APP端的一个灵活可用的脚手架,市场还是很匮乏的,相关的资料也是乏陈可善,在探索了一些渠道及不断的碰壁之后,针对自己公司所用的技术范畴,开发了一个适用的脚手架,技术也许不一,但开发脚手架的思路是百变不离其宗的,无非就是技术模板的不一样,目前已经更新到了1.2版本,基本上可以满足一部分的开发需求,后续扩展的功能还有很多,一个最终的目标是解放开发人员的双手,让开发人员回归逻辑的编写与空出学习的时间。

目前的可视化脚手架,如下图,包含了自动化创建项目,创建主组件,单组件,Activity,Fragment,对象生成,拖拽Xml,自动化列表,Shape生成这几部分的功能,后续随着需求的增加,相关的功能也会不断的拓展,这篇文章仅作为一个前言,大概介绍一些相关的功能,后续逐步进入到实际的开发中。

image.png

其实一开始是以Android studio插件的形式开发的,奈何,视图的绘制很不方便,还有无法实现拖拽View的灵活实现,最终还是选择可视化工具开发,下面一一介绍下相关功能:

一、创建项目及主体架构搭建

正常的项目创建及主体功能,也就是基础库的搭建,这一块是基石,也是颇耗费开发人员的时间,短则几日,多则N日,猜猜Android脚手架生成需要多久?只需要短短几秒,没错,几秒就可以实现,项目的创建,基础组件的引入,各个环境及常用功能的初始化,一个基本的项目就生成完毕,剩下的就是开发人员愉快的敲代码时刻。

image.png

二、主组件创建

组件化的开发,在项目创建完成之后,往往要根据主要的模块进行主组件的创建,比如一个项目的社区,商城,用户中心等等,也就是一个MainActivity的Tab整体搭建,目前脚手架的主tab创建使用的是Jetpack的navigation,通过可视化,短短三两分钟,就可以订制不同数量的tab组件,并且可以真正的实现单组件的独立运行。

image.png

三、普通组件创建

除了一次性的创建项目及主组件之外,大多数还是在已有的项目中创建需要的组件,同样脚手架也是支持的。

image.png

四、Activity创建(自动注册)

大多数的的功能交互,我们还是以Activity居多,脚手架给出了多种页面生成,大家可以选择自己适合的生成,也是秒级别生成。

image.png

五、Fragmeng创建

Fragment的创建,和Activity类似。

image.png

六、拖拽视图生成对应的xml

拖拽视图是脚手架的一个重点功能,也是极度困扰自己的一个难点,拖拽视图,可以实现定制化且绑定数据的实现,和Android studio有着明显的区别,大家可以看下Android studio里的拖拽,是以 XY坐标点,绝对位置的摆放,这种摆放方式,是很难达到我们UI视图的目的及适配的,脚手架里的摆放,完全按照实际开发中的,左上右下进行摆放,并且根据自己项目,可以定制化很多可以定制的视图。

image.png

七、自动化列表

一个项目中出现率极高的便是列表了,从接口的请求到数据的封装再到视图的绘制,数据的渲染,这一系列下来,短则几个小时,多则几十个小时,脚手架针对列表的生成,只需要简简三步,三五分钟,便可以订制自己想要的列表,并且可以实现databinding和代码的两种数据填充方式。

image.png

八、shape资源实现

shape是开发中经常用到的资源文件,空心,实心,多角度,渐变,脚手架涵盖了实际开发中的多种样式,并且按照规范的名字给出,让大家可以根据蓝湖,直接可以生成我们想要的效果。

image.png

九、对象的生成

对于对象的封装,不知道大家使用的什么,即便是使用GsonFormat,也得需要一些时间,而脚手架的对象生成,大家只关心接口和参数即可,剩下的交给脚手架。

image.png

Android脚手架的开发,始终遵循着灵活,可拓展的思想,尽量能生成的就生成,解放开发人员的双手,让开发人员专注于业务逻辑的实现,及留出充足的时间,来探索未知的技术,让时间为自己的价值而服务。

当然了,可视化的脚手架并不能实现百分百的代码,一些复杂的逻辑还是必须人员的介入,但从一定程度上,还是提高了不少效率,后续随着脚手架,我也会开发一套在Android studio中适用的代码生成插件,以后存在的形式,以可视化工具+Android studio插件,希望可以帮助到更多的Android开发者。

猜你喜欢

转载自juejin.im/post/7090110272219643934