引言
前后端分离开发方式的流行,带动了传统软件行业的变革。以前经常被诟病的“程序员审美”,现在也终于因为前端程序的介入而被彻底的扭转了。作为软件开发行业的老兵,这两年也终于放下了自己以前的一切开发习惯,去适应现阶段程序开发的趋势,感慨之余也发现自己欠缺的真的是太多了,现代化软件开发流程、方式、工具的改变,让我一开始的时候觉得真是一头雾水,完全不知所云,硬生生自己琢磨了个把月,才慢慢摸到一些门槛。
前几天和朋友聊天的时候,越发觉得传统企业应用行业的开发者们,还有很大一部分和我一样,正在而且在可预见的一段时间内,仍然处于较为原始的手工作坊模式的开发流程中,导致这批人员虽然非常精通对企业业务逻辑的梳理和业务需求的分析,但苦于对新技术的嗅觉不够灵敏,以至于现在处于一种“知其所以然而不知其然”的奇怪状态中,也就是知道企业需要什么,能够大致描绘出业务场景业务流程,但是落实到软件开发中,却不知道应该使用什么技术,采用哪种方式去进行开发。这的确是一种非常尴尬的情况。为了让大家别和我一样花费大量的精力在这方面,我也计划将我这几个月了解到的东西一点点的整理出来,帮助那些和我一样的朋友,去掌握一些近年来比较流行的开发流程和技术趋势。
从哪里开始
首先,送大家一首歌吧,激励一下斗志,祝愿大家都能够早日刷新自己的技能树!
传统意义上的企业级应用开发,基本上包含C/S、B/S两部分。B/S这一块,一般也都是界面设计人员设计好软件的界面稿,开发人员则根据设计图,自行构建网站的外观,同时还要实现业务逻辑的编写。稍微高级点,采用MVC架构(Model-View-Controller),可以简单地实现部分界面与业务逻辑的分离,但是这些设计模式在现代高速发展的移动互联时代,显得有点效率低下。举例来说,近年来小程序的流行,要求软件开发快速高效的移植到各个客户端及平台下,传统PC网站、安卓应用、iOS应用、以及微信小程序、支付宝小程序、百度小程序等等各种类型的小程序不断推陈出新。要想快速的将开发的产品适配到各种类型终端中,开发人员面临的就不再是以前那种“一次开发,终身升级”的方式了,前后端分离的需求就越来越迫切。同时,C/S程序的开发也进入到了多元化的时代,除了硬件相关的行业以外,一般意义上的C/S程序,完全可以被HTML5和JavaScript取代。在这种形式下,我们需要学习什么知识才能适应这种趋势,是这一段时间我考虑的最多的问题。经过近一个月时间的恶补,我觉得,应该从JavaScript学起。
JavaScript的版本
这里的JavaScript概念,已经不是传统意义上的网页JS了。如今的JavaScript已经拥有了前所未有的各种能力。其基本发展历史可以参考这里。而我觉得,掌握现代化软件开发架构,最主要的就是要掌握JavaScript的过程。因此,我第一个推荐大家学习的就是JavaScript。
从上面的JavaScript发展历史来看,我认为目前要从ES6这个版本进行入手。ES6包含了很多新的方法和概念,吸收了很多其他语言的精髓,无论从成熟度还是适用范围都很广泛,也是现代软件前端开发的标准。对于部分不支持ES6的浏览器和或其他环境,可以用Babel编译器转换为ES5,从而实现向下兼容。
推荐书目
不用费心找了,我给大家准备好了最值得读的JavaScript学习书籍。可以在线看,也可以下载到自己的电脑里、手机里,利用任何碎片化的时间观看。
不用害怕,其实这些东西,只要稍微掌握就行,起码达到能够阅读代码的水平就可以,因为接下来,你需要的并不是从头开发一套系统,而是利用现有的一些框架去开发系统,而一个系统最核心的部分还是业务逻辑,这也是你最擅长的部分。之所以需要掌握一些基本的JavaScript,是为了和前端人员进行沟通,或者在现有框架的基础上实现一些自己的小功能而已。