随便聊一聊&最近做的项目

  好久没有发文章了,我并非闲着,而是把原来发博文的形式转成了写稿。

  今年是非常特殊的一年,长这么大,从来没有休过如此漫长的寒假,也从未在家进行过一个月以上的远程办公,新冠肺炎对各行各业都产生了巨大影响,总之,今年实在是太难了。不管怎么样,工作还是要继续的,今年主要做了三个项目,技术栈都是一样的,那就是:

  前端:vue2.x、webpack4.x、axios、element ui、echarts、vue-router、vuex、scss、websocket、svg

  后端:spring cloud、kafka、mongodb、mysql、redis、plc

  开发人员配置:

  前期:后端5人、前端3人、产品1人、UI1人

  后期:后端4人、前端1人、产品1人、UI0人

  很显然,我就是一直坚守的前端^_^

  说明:项目截图调整了窗口尺寸的,响应式做得不是很好,所以显示上也不是那么友好。

1.智能设备管控平台

2.智慧监管

3.空调控制系统

  这项目一开始只是空调控制的小项目,做着做着就不断加功能,搞到最后很庞大了,由于没有使用typescript,有时候,需求一大变更,然后写错一个小字母,或者搞错个类型,错误找了许久。

     关于这个系统组态图是怎么做的?不断的有同仁问到,这块我确实花的时间比多,足足一个月吧,我里简单说下,自己用html5+css3+svg封装各种vue组件,水流动效果用svg做动画,其它部分都是HTML,然后根据不同的模板生成的,有一个专门的系统图配置界面,如下图所示:

  选择不同的配置项,会有不同的设备,然后可以生成不同的系统图。难点在于,每一根水流线的判断逻辑,因为它要根据数据实时改变状态,它根据泵和阀门的状态来控制水流是否流动,以及水流的方向。而且根据设备数目的不同,线的展示也会动态变化。系统图,除了监,还要控,每一个系统图上的设备都可以可以点击,控制它的启停,以及频率等参数,控制之后,系统图会相应的改变水流状态和设备状态。

  这三个PC项目也配套有App应用和微信小程序应用。

  App技术栈:vue2.x、vant、mui(仅用于处理home键回退)、HTML5+(调用手机原生api接口,例如:拍照、相册、语音等)、websocket(界面实时刷新)

  打包工具:HbuilderX(Android云打包)、xcode(主要用于ios无证书打包)

  

    不知道从什么时候开始,一个前端人员要承担起app应用前端、微信小程序、PC前端的开发,还要懂得编写sql脚本、nosql相关的shell命令、linux部署、Nginx配置....美工好像已经逐渐被UI取代了,现在都很少听说美工了,美工的工作也被UI兼任了。

  现在公司的后端还要兼任项目运维的工作,还好这一块不用前端来管,只需要配合就行了,毕竟业务这块都掌握在后端手中。不过我还是要吐槽后端,本来可以用Spring Boot很好的玩耍,偏偏要玩Spring Cloud,现在好了,许许多多项目都是要独立部署的,微服务自己把自己玩死吧,N个服务,启动顺序有依赖关系,结果服务器重启之后经常出问题。还有mongodb,一些独立部署的服务器,配置奇差无比,本来数据量就不大,mysql即可完美支持,把这家伙一上,经常跑着跑着跑不动了,内存被吃了。

  工作之余,今年又完成了两本书的编写,可能是因为疫情的缘故,周末一直宅在家里写稿,今年破天荒的完成了两本书,而且是两本书同时写稿的,一本是《Javascript实用教程》,主要讲解js在前端工作当中使用的技术以及ES6~ES10新语法特性的介绍,另一本是《react+node+mongodb实战开发》,主要介绍:node.js、express、mongodb、Ant Design、react技术栈的联合应用,也即部分前端人员口中的全栈应用,其实这完全无法达到全栈的要求,我认为全栈至少还应该熟悉java、.net、php技术栈和各种sql和nosql,这最多算全栈入门筑基,所以全栈的门槛还是很高的,普通人恐怕得十年编码经验以上才能同时掌握那么多技术。虽然书稿已完成,可是要明年才能出版去了,从交稿到出版动不动就是半年,我都已经习惯了。我写书的特点是:只写工作当中应用频率高的,也就是说,相对回报率高的东西,只有这些东西,才值得花时间去投入,因为学习是需要成本的,我们所有的投入都希望能够获得更好的回报。

  react这本书,我是特意要求出版社编辑按照我的想法来设计图书封面,封面上我想要一个金黄色的屋子,屋子里有一个看书的美女,寓意:书中自有黄金屋、颜如玉。不答应我的要求就换出版社O(∩_∩)O哈哈~

  居安思危,尽管工作中一直使用的vue技术栈,但是我还是抽时间去学习react技术栈,因为值得投入,作为一名前端工程师,vue和react都是必须要掌握的。因为要用xcode,犹记得第一次用mac电脑的时候,我去,在Windows上的使用经验几乎没用了,一步一步查资料,太特么痛苦了,可是所有的痛苦都是因为我们还没有适应罢了。

  至于微信小程序,我认为可能是接触过的所有技术当中,用起来最简单的了,难怪叫小程序,文档又算是写得最好的之一,没有神马可说的,哪里不会就查文档,然后去github上下载一个项目研究一下源码就可以了。

  从.net到前端这3~4年时间,虽然接触了许多新技术,可是在应用的过程当中,我发觉前端一直在跟随后端的脚步,逐渐向组件化、模块化、面向对象和各种设计模式的应用方面发展,所以如果有后端开发基础,学前端会感觉非常轻松,可能感到困难的,反而是与编程语言无关的css,这需要记很多东西,尤其是一些极端情况下,要兼容一些奇葩的浏览器版本,各种css的hack,只有代码敲得多,界面做得多才能熟练掌握,并非关键时刻查一下文档就能行,你可能得不断查、反复查,界面的编写也和系统框架的搭建一样,需要全局考虑的,如何保证可扩展、高性能、精简、一致性、兼容性的界面需要深思熟虑。

  做前端有一点不好的地方在于:你将会把大量的时间花费在界面编写、接口对接、界面交互及特效实现上,而业务逻辑和底层架构将会很难有时间和机会去深耕,这是由前后端分工所致。前端工作重心在于可视化部分,而后端在于非可视化部分。

  关于前端的学习路线,我的建议是:先html、css、JavaScript,然后是vue、再是react,至于angular,可在工作当中要用时才学。后面就是webpack、node.js、mongodb(nosql选学一种)、mysql(sql选学一种),因为是相通的,你不可能在有限的时间内把所有的技术都掌握,学习是一种投入,我要考虑回报率,很多时候,我们的投入是没有回报的。因为你所掌握的东西,如果无法应用到实际工作和项目当中,就不会产生价值。学编码的诀窍就是没有诀窍,码敲百遍,其义自见~O(∩_∩)O哈哈~

  有时候也会细思极恐,一个人要负责2个.net项目的维护,6个app、3个微信小程序、6个PC项目的前端维护和开发,可是平常不去想,也就没啥了。一个人在一家公司干得越久,在对项目代码更熟悉的同时,坑也挖得越来越多。我倒是担心下一个来接替我工作的人,毕竟,没有人比我更清楚还有多少坑摆在那里O(∩_∩)O哈哈~

  最近恋上了鸡尾酒,不吸烟的我,经常晚上熬夜写稿,而来点酒会更有精神和感觉。今年一直宅着,整个人胖了一圈,开始出现小肚肚了,从此多了一个目标:减肥。正是:‘’头可断,发型不能乱“,发型一乱,尽显颓废...待书出版时,自驾游一周去....

  家里的橙子又快熟了,需要橙子的朋友可以入扫码微信群。

posted @ 2020-10-29 08:50  邹琼俊  阅读(4016)  评论(53编辑  收藏
-->