返回 登录
10

一个快速开发平台的点滴故事

从毕业到现在,刚好十年,碌碌无为,建树颇少,但是也有点小积累,晚上突然想起当年还写了几百封的情书功力,还是写点东西吧,免得做IT不留点东西,希望对同行有点参考价值。

想想可写的内容有不少,工作经验、团队协作、管理经验以及技术开发,那就想到哪就写到哪吧,以后补充,这是做技术的通病,码字能力不高,也许敲代码敲多了。。。。。
接下来就说说我的经历吧,大学读的是数学系,这个学科跟计算机的关系很密切,但是”手艺“一般都会比专学计算机的同学差,毕竟学习多了微积分、高代、统计学、离散数学等等,经历也是有限的,但是为了工作,数学专业相对还是不太好找工作,除非遇到懂后发之力的领导可能就算是一种福气了。因此,我大三开始了自学Java,同系就两个人自学java,搞JAVA_HOME花了一个星期哭,每回想至此,我都怀疑我的智商了。怎么学的就不说了,就是看书练习,记得那两本书很经典,《Java核心技术》第二版,值得推荐拥有。就这样,飘到了大四找工作,带着惶恐的心里面试了一家公司,没想到竟然进了,问的都是基本功和理解的内容,所以我觉得学习到会的程度远没有理解的程度重要,当然真正工作时能动手能解决问题才是领导关心的。
时间过了6年,经历了3个公司,分别是证券行业、电力行业以及教育行业的公司,积累了很多,期间基本都是有时间就多学习,学习技术、团队协作以及公司的管理制度等等,有这种机会就好好学吧,别回头想学就没机会了,在这里,我说下我的心得:技术是驱动、为人处世也重要,决定你能走多远还是情商,除非你的技术能脱颖而出。
之后,我和一个同事出来创业了,也是IT行业,毕竟做熟悉的行业更有利于创业,到现在也三四年了,中间的种种就下次再细说吧,在IT eye的人都是技术相关的,我就介绍下这几年我做了什么,为什么做以及做到什么程度。
首页,介绍下做了什么
一个基于java的快速开发平台,这不同于市面上的开发方式,这个平台是基于浏览器,过程不使用eclipse等IDE,俗称在线开发。平台包含:
1)基础的系统管理
包含组织、用户、角色权限、系统参数和字典、定时任务、消息管理、接口配置、移动开发、系统模块菜单管理等,我认为这些都是开发一个系统一般都会用到的东西,所以都做了公用的管理配置,免得重复开发还不统一。
图片描述
图片描述
2)开发功能
做过项目的人都清楚软件开发流程,入口都是需求,过程需要设计,很多公司还会设计数据模型和页面模型跟客户确认,当然这些工作的工具有很多,比如数据库设计可以使用powerdesigner,页面模型也有成熟的工作,但是确认功能后就是开发了,数据库模型就需要细化到可开发程度了,页面也需要美工设计了。为此,平台实现了模型在线设计并能同步数据库(这点powerdesigner不容易做到增量更新),另外,做开发的都知道,页面开发的时间远大于后台逻辑的时间,很多开发不太熟练使用css jquery等框架,这就大大影响了效率。
图片描述
数据库模型在线设计
图片描述
图片描述
页面拖拽设计并预览
3)移动开发
现在是移动的时代,虽然传统的软件服务商也存在,但毕竟移动时代已经不可逆了,所以开发h5的应用也是需求旺盛,按传统的做法耗时耗力耗资源,所以针对行业,平台实现了常用的页面开发配置
图片描述
图片描述
图片描述

微商城配置工具(这是真实在用的自然捕手,我的卖老家茶的电商,扫公众号体验或购买,先感谢了)
其中还做了很多内容,各种缓存、安全、平台支持开发SAAS应用等等,后期整理整理逐个细说。

其次,为什么做这样的平台
其实大家都知道为什么要平台,减少重复开发、减少测试出现的bug数、统一开发规范等等,这样确实没错,但是在我发力开发这个平台的起因是为了一个3万多的二手项目,一开始我还是用了以前做的jsf的框架实现了一遍客户的软件,但是客户需求老是变更,包括功能变更、页面调整等,一次两次为了省点力气还是在jsf的实现方式上修改,但是多了就带上情绪(此处可以骂粗话),连续做了几个月,初版的平台能实现在线修改页面和逻辑,仅此而已,但是解决了很多麻烦。另外一个原因,做为初创公司资金主要还是人力,开发平台就属于短痛免得长痛了。总结主要原因:
1)解决需求变更频繁
2)页面开发时间减少7成以上(这是根据我们实际项目大概分析的)
3)统一了开发规范,统一产品视图
4)人员技术能力要求很低,只要会sql 和 非常基础的JS即可。
5)解决在线升级不重启(热部署)
6)解决远程随时随地解决问题,只要有浏览器有网络

最后,平台做到什么程度
我想过发布到网络,但是合计下对外还是需要一个对大家有用的东西,而且也没想好运营模式,都知道开放才能共赢,但是对于企业来说需要生存,需要考虑一个平衡点,所以一直以来都是内部使用,朋友们和客户使用,山东电信的大客户系统就是基于这个平台开发的,目前客户用这个平台在维护开发。这样至少满足目前我们内部所有项目开发的使用,但是也有很多便捷性、功能需要不断完善。

其实每个程序猿都有个平台梦,每个都想要使用自己熟悉的,SSH个人觉得重了点,性能也不太好,所以抛弃了,原生+缓存方式弄成公共的工具也可以做到非常方便,而且几乎没有什么学习成本,性能也比较好。这中间需要做不少优化,启动tomcat做到13秒启动完毕
图片描述

平台有很多技术细节和很多可以共享的实现方式,我将在后期整理成系列写出来,万变不离其宗,都是基础的东西积累起来的。
貌似有点晚了,先写到这里,晚岁容易老,老了会被嫌弃的哈哈,主要是影响健康,所以同学们多注意身体多休息。。。。。待续

注:如果是喜欢技术,想了解平台开发技术的,可以扫描加微信群
图片描述

评论