文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

Martin Puryear Crunch Network 贡献者

Martin Puryear是Coding Dojo的课程和技术主管,Coding Dojo这是一个为期14周,教授全栈开发的编码训练课程。

此作者的其他文章:

去年一月,我写了一个TechCrunch的帖子预测2016年的主要编程趋势。

但在软件开发世界中,事物变化非常快。在所有热门的新开发语言,框架和工具的你争我都之下,很难看清总体的趋势。

 
第 1 段(可获 1.1 积分)

所以,随着我们接近2016年年底,我的预测是否准确呢?

JavaScript最新版本的发展

JavaScript / ECMAScript 6.0版本(通常称为ECMAScript 2015或ES6)在2015年6月推出,我预计2016年将广泛采用其新功能,因为网络开发人员已经调整到这个web标准的新版本。 我的预测几乎是正确的。 超过90%所有主流浏览器和Node.js(一个开源的JavaScript运行时环境)都与ES6兼容。 现在,我们在生产中看到越来越多的使用ES6语法,不仅仅是内部实用程序和较小的低风险系统,还有主要的面向客户的系统。 不依赖旧版客户端的公司(如Airbnb和Google)在内部样式指南中强制实施ES6语法。

第 2 段(可获 1.58 积分)

然而,ES6仍然尚未得到普遍采用。 一些开发人员由于守旧的原因需要支持旧版本的JavaScript。 希望使用ES6符号但仍需要使用旧版浏览器接触客户的开发人员可以使用转码器或polyfills等工具将现代ES6代码转换为旧语法。此外,一些ES6功能还不能完全在每个JavaScript环境中实现,例如适当的 tail-recursion (Safari 10和iOS 10就总是发生异常)。 这个表格是一个重要的资源,通过它可以查看您的目标平台是否符合ES6。 老版本的JavaScript不会一夜之间消失,但​​我们看到ES6的使用在2016年显著增长,我期望大多数重新开发的网站在新的一年将使用它。可以说这个预测是相当准确的!

第 3 段(可获 1.7 积分)

后端即服务

后端即服务,简写为BaaS,如预料的那样,在2016年有所增长。 BaaS就是使用第三方服务为一个项目执行重复性的任务,比如像云存储或者推送通知消息。 通过使用这些服务,开发人员可以专注于他们的专业,而这些服务做他们最擅长的事情。 后端API服务蓬勃发展,因为前端框架正在改变,更容易与这些服务进行交互。 开发人员也越来越多地使用一种称为组合的技术,其中整个系统由几个较小的应用程序组成。 在这样的系统中,这些小应用程序容易由第三方服务提供。

第 4 段(可获 1.31 积分)

我很高兴看到软件规范将如何在未来一年取得进展。

注意:在我最后一篇文章中,我提到了一个名为Parse的流行BaaS。在文章发布后不久,Facebook(它的所有者)宣布Parse很快就会关闭。使用它的用户需要创建自己的Parse服务器,并在2017年1月28日之前迁移。

方便的图像管理和部署

正如预测的那样,像Docker和Packer这样的服务在2016年成为许多开发团队的支柱。这些服务允许工程师快速生成和复制称为容器的机器映像,这些容器将一些软件与运行时环境,系统工具和库等捆绑在一起, 保证它具有在任何环境中运行所需的一切。 开发人员可以在具有预构建版本控制的轻量级虚拟环境中快速建立项目原型,然后在多个服务器上轻松部署新版本。 手工配置服务器原本是棘手和耗时的,所以毫不奇怪,自动化这个过程已经快速推进。

第 5 段(可获 2.05 积分)

去年越来越受欢迎的相关工具包括Vagrant(用于轻松设置开发环境),以及Puppet,Chef和Ansible(用于配置管理)。使用基于容器的系统已经成为标准开发人员工具包的一个组成部分。我看不出有什么理由放慢他们发展的速度。

增加对函数式编程语言的依赖

函数式编程语言(如Haskell,Clojure和Scala)在2016年稳步增长。这些服务器端语言的使用是由于智能手机和连接设备数量的爆炸性增长, 以及我们对这些设备上出色体验的期望。 随着我们的计算机,平板电脑,智能手机和物联网设备变得更加强大,服务器成为性能的瓶颈。 增加服务器执行并行任务的能力使其在与大量连接的设备交互时更具响应性。 函数式编程模型(大部分)是无状态的,意味着部分软件可以更容易和高效地并行运行在不同的CPU内核或机器上,而无需复杂的同步。 这使得功能范例在进行诸如web请求的并发处理时总是面向对象的。

第 6 段(可获 2.38 积分)

转向材料设计和模式的共性

2016年的视觉设计很有趣。不出所料,Google在其整个产品系列(ChromeOS,Android),应用程序(Chrome,云端硬盘,Google Play音乐),网站(YouTube,AdSense)甚至网络搜索中整合了越来越多的材料设计元素。 我们看到了Slack,Twitter,Spotify,Airbnb和维基百科以及Asana,Geekbench和其他网站的Android应用程序中的材料设计方面。也就是说,我们没有看到在其他平台(iOS,Tizen,Windows,MacOS - 小部分Ubuntu)采纳。在这些平台的开发者在不同程度上推出了特定于这些平台的样式。

第 7 段(可获 1.34 积分)

对今年早些时候的个别预测我自己也不太自信。 如果允许我在2017年重新进行预测,那么我将完全摆脱传统的模式 — (Amazon Alexa,Siri,Cortana,Google Home)或者超视觉界面(增强现实,虚拟现实)。

总结

2016带来了许多令人兴奋的软件开发体验,2017将会表现更好,因为容器和函数式编程语言越来越多地被采用并且JavaScript正在成为标准开发实践的中心。 我很急切看到软件规范在未来一年将取得什么进展,并渴望与我的同事们分享我的想法!

图片:Bernhard Lang / The Image Bank / Getty Images

第 8 段(可获 1.56 积分)

文章评论