前言
为什么要干这种费力气的事情呢,还得从一个合同说起。 公司快要签约一个挺重要的单子,客户主要使用的是后台的管理功能,反馈和评价都挺好,单子是十拿九稳的了。唯一美中不足的是前台的页面。 这些JSP页面是平台上个版本遗留下来的,页面风格饱经沧桑,打开屏幕就能感受到那逝去的青春。代码更是几经战乱,一个个C标签就像泥泞的战壕一样,令人唏嘘。维护起来更像是冒着枪林弹雨加上赤身裸体的去钻铁丝网。 但是作为一个合格的员工,本着对公司负责的态度,我从未退缩,总是身先士卒的在这片沟壑上缝缝补补,毫无怨言。毕竟第一版也是我写的,让别人看到多不好意思。
疫情耽误了这次签约,也正好给了我时间去重写这个前台模块。
天天听别人念叨VUE,就去试试吧。
vue3给我的启示
我最早用过angular,感觉还行,但是太重了。angular2就根本属于放飞自我,恨不得连后端代码一起写了。 之后就是react,感觉一根经的老外眼里只有react,不过我没有太感冒,尤其代码和html混淆我是接受不了。就好像一碗好端端的甜豆腐脑偏要给我加上几粒培林榨菜,孰能忍?
初识vue1和vue2给我的感觉就是low,第一眼的感觉就是还没我用JQ一把梭哈来的方便。不就是双向绑定再来个模板编译么。
我一般用一个框架都会先阅读一遍源码,vue3的源码给了我很大的震撼。来来回回脑子里就一句话
前端,都这么卷了吗?
关于vue3源码的感悟
前端程序员对于新事物的探索真的是YYDS
typescript的进化
我虽然是个java后端,但是也对前端技术很感兴趣。最早使用ts还是因为egret白鹭游戏引擎的缘故。(很可惜这家公司已经倒了,性能确实很拉跨远不及Cocosjs)当时TS给我的感觉就是微软照抄.net,使得TS编码风格更加贴近后端,也保留了后端代码冗长的毛病。看看由于尤雨溪的VUE3代码,随便打开一页都有如沐春风的感觉,很清爽。TS在类型推断的能力上已经趋于完美了,编译出来的代码简洁易懂。
前端开发工具vs-code
Visual Studio Code 真的神了,开源免费,界面优美,插件丰富,在新疆还不用翻墙。用起来的丝滑程度毫不吝啬于IDEA。 对于还在使用XP系统加Eclipse的同行不能理解。
前端工程能力的进化
前端工程化能力真的好强啊,插件漫天飞舞,不把webpack玩出花来不是好程序员。不过我rollup就够了。
前端包管理器
java的包管理器,不论是maven还是gradle我感觉都不太好用。maven太上古,gradle太灵活,那玩意儿还要自己写代码配置,写时一时爽,维护火XX。发包的公网也麻烦,我现在都懒得看我项目里面的gradle代码,只求不要出事。 npm用起来真的Nice,为什么java不搞个npm呢。
用TS写sprign全家桶的原因
-
之前写过JS的spring版本j-spring(pure-js分之),自己写了AST来读取JS源码然后生成BeanDefine信息,不过装配的时候就只能用ID或者字段名装配。用起来别的问题么有,就是弱类型不好维护。只能当写着玩了,无法用于项目。
-
java真的写太多了,需要呼吸多一点的新鲜空气。java语法太过拖沓,尝试过kotlin和scala,真心都没有JS来的畅快。
-
java核心项目越写越大,启动速度也越来越慢,严重影响开发体验。重启一次都可以看完一个小米电视广告了。
-
多用TS写小应用,分担核心JAVA项目的功能,也减少核心JAVA项目的依赖,方便维护。
-
写TS的时候沿用spring的开发思路,方便思维快速切入,以业务为主。
-
多用Npm包管理公共模块,提高代码重用率。