最新版JavaScript的变化
超过九成的主流浏览器,以及开源的JavaScript运行时Node.js都已兼容ES6。目前,不仅企业内部工具及不太重要的小型系统都有更多用到ES6语法,面对客户的主流系统也出现了更多ES6的痕迹,像Airbnb和谷歌这样不依赖旧版客户端的公司都在内部编程风格指南中明令要求使用ES6的语法。
然而,ES6并未在全球范围内普及,仍有一些开发者必须对老版的JS提供支持。一方面想要在程序中使用ES6注释,但仍有老版本浏览器客户需要维护的开发者们可以通过transpilers或者polyfills这样的工具,将ES6代码转为旧版语法。此外,某些ES6的功能尚未在所有JS环境中实现,比如正确的处理尾调用。这里有张表格,列出了目标平台是否兼容ES6的情况。老版的JavaScript不会一夕消失,但2016年间ES6的应用确实取得了很大的进展,希望来年再斩佳绩。
后端即服务
开发者也偏向采用整合技术,通过一些较小的应用组合成整体系统。
简易的镜像管理与部署机制
如同预期那样,类似Docker和Packer这样的服务成为了许多开发团队的支柱。工程师可以运用这些服务,快速生成、复制被称为“容器”的机器镜像——其中捆绑有运行时、软件、系统工具及数据库等,确保在任何环境下都能快速运行起来。在一个带有预先版本控制的轻量级虚拟环境中构建项目的原型,再轻松将新版本部署到多台服务器上非常简单。手工配置服务器费时费力,因此被自动化取代也是可以预见的。
使用以容器为基础的系统来工作成为了开发人员的基本技能,其大势所趋,不可阻挡。
增加对函数式编程语言的依赖
增进服务器性能,实现任务并行,并在与大量互联设备互动时获得更积极的响应。
大多函数式编程模型都是无状态的,也就是说无需复杂的同步,这些软件便能更简单、更高效地在不同的CPU内核或者机器上实现并行运行,函数式范式在执行类似网络请求这样的并行任务时具有天然优势。
Material Design和模式趋同
2016年的视觉设计前端非常有趣,谷歌果然在系列产品中加入了更多的material design元素,涉及范围包括操作系统(ChromeOS、Android),应用(Chrome、Drive、Google Play Music),网站(YouTube、AdSense)甚至其网络搜索,从Slack、Twitter、Spotify、Airbnb以及Wikipedia等安卓应用,还有Asana、Geekbench等网站中都能看到material design的痕迹。不过除了Ubuntu有少量应用之外,其它平台无论是iOS、Tizen、Windows、MacOS,我们都未见到相关的应用。
其它平台的开发者也在努力推进相关平台的特定风格。预测到2017年,开发者会抛弃传统的设计风格,转向非视觉界面——Amazon Alexa、Siri、Cortana、Google Home等语音助手,或AR、VR等超视觉界面。
结论
2016年,软件开发方面出现了许多振奋人心的变化,我们预测在2017年,容器和函数式编程语言将获得广泛的采用,同时JavaScript语言将成为标准开发实践中更为核心的部分。