一个服务端对前端开发的思考

最近工作特别忙,手头上的事情总是做不完,有时候周末都还得去公司。工作这么多年,我的个人观点是拒绝一切加班,底线是平时可以晚点下班,但是别占用我的周末时间。当然,并不是不想为公司赴汤蹈火,而是我对自己很了解。加班并不能提高我的生产力,长远来看加班写的代码加上后期修Bug用的时间等于不加班写代码加上后期修Bug的时间,加班让我感觉身体状况和创造力每况日下。以上主要是吐槽,要团队的人接受自己的观点就得先证明自己的能力,所以……

在成都这段时间接触过很多后端程序员,他们主要用Java和PHP。在日常的交流中很明显的感觉到写后端的同学特别排斥前端技术对前端开发的了解也有偏差,特别是Java程序员。我也算是后端开发,所以聊天的时候会赞同他们的观点,感觉找到了普世价值观。不过听的多了就发现一个问题,后端不喜欢前端并不是因为前端没前(钱)途,也不是不看好前端的发展,而是对新技术的恐惧。之前在阿里的时候,领导问我很多次想不想转前端,我都说开发前端需要有艺术细胞,给用户看的东西美感是很重要的,我恰好没啥美感。之前去腾讯云面试时也是,面试官问我想不想做前端开发,我说我的职业规划是往后端发展,对前端没多大兴趣。排斥前端开发最大的原因还是恐惧,一想到需要调试各种CSS布局,各种浏览器兼容,维护风格五花八门的JS代码,想想都要倒吸几口凉气。

最近前端写的比较多,突然就开窍了,想通了一些之前不理解的事情。脑海里对CSS有了一套方法论,不再像以前一样很怕去调试样式,看到设计图就知道要怎么布局了。跳出害怕这一步,其实开发前端还是比较爽的,主要的爽体现在下面几方面:

  1. 可以自己去添加觉得舒服的样式与交互,控制交互响应的速度和时间。比如鼠标移动,点击(按住不放),单击都能做差异化控制。看着就觉得很美,眼睛和手指都很享受,这是做后端开发感受不到的。虽然页面的设计和交互的设计都有UI和产品去做,但是很多细微的点是能自主创新的。

  2. 为我带来了很多新思路,有时候会觉得眼前一亮。比如知乎的反馈功能,可以直接在线截图网页,这个功能无论是体验上还是功能本身都非常有逼格。https://www.zhihu.com/#signin 登录后点击右下角的反馈体验一下。

  3. 前端开发已经延伸到了客户端。例如PC版的钉钉就是js开发的,体验上还是很好,最主要的是多平台,开发一次Mac,Windows,Linux多个平台都能用,能很大程度的减少了工作量,产品能快速迭代才能打胜仗。PS:虽然是多平台,但还是要有技术牛人针对不同版本做优化,相比从头开发还是节约了很多成本。

  4. js在服务端应用的延伸。用node写太复杂的服务端业务我并不看好,主要是异步回调的方式不方便维护。不过有一些很亮眼的功能,比如无头浏览器PhantomJS,有了这个扩展很方便的将html代码转成图片。我们发邮件的时候经常需要在邮件里面放各种分析图,Python和PHP画出来的图都是工科男审美。而在浏览器上有ECharts,Highcharts……所以用node封装一个PhantomJS服务,通过接口调用画逼格高的图变的很容易。还有各种你想都想不到的功能,GitHub上一大堆,没事多看看能涨知识。

以前我一直觉得等我到了30岁,就可以不怎么学习了,吃着老本,混个title,生活美滋滋。但是年纪越大越发现生活很可怕,不但不能懈怠还要比年青人更努力……