总结|2016年编程方面的主流趋势

TechCrunch在去年一月时曾发布过一篇文章,预测2016年编程方面的主要趋势,但软件开发的世界总是变幻莫测,很难明确预测到会有哪些全新的开发语言、框架以及工具出现。如今已是2017年伊始,之前的预测实现了多少呢?

最新版JavaScript的变化

2015年6月,JavaScript/ECMAScript 6(即ECMAScript 2015或ES6)发布。根据之前的预测,在2016年JS语言将会获得广泛采用——这一预测基本实现。超过九成的主流浏览器,以及开源的JavaScript运行时Node.js都已兼容ES6。目前,不仅企业内部工具及不太重要的小型系统都有更多用到ES6语法,面对客户的主流系统也出现了更多ES6的痕迹,像Airbnb和谷歌这样不依赖旧版客户端的公司都在内部编程风格指南中明令要求使用ES6的语法。

然而,ES6并未在全球范围内普及,仍有一些开发者必须对老版的JS提供支持。一方面想要在程序中使用ES6注释,但仍有老版本浏览器客户需要维护的开发者们可以通过transpilers或者polyfills这样的工具,将ES6代码转为旧版语法。此外,某些ES6的功能尚未在所有JS环境中实现,比如正确的处理尾调用。这里有张表格,列出了目标平台是否兼容ES6的情况。老版的JavaScript不会一夕消失,但2016年间ES6的应用确实取得了很大的进展,希望来年再斩佳绩。

后端即服务

与预测一致,后端即服务(BaaS)在2016年间也有所增长。BaaS即通过第三方服务,执行项目中特定重复任务,比如云存储、推送通知等。有了这些服务的出色工作,开发者也更能专注于自身专业。由于前端框架不断发展,跟这些服务交互更加容易,因此后端API服务也在蓬勃发展。开发者也偏向采用整合技术,通过一些较小的应用组合成整体系统。

简易的镜像管理与部署机制

如同预期那样,类似Docker和Packer这样的服务成为了许多开发团队的支柱。工程师可以运用这些服务,快速生成、复制被称为“容器”的机器镜像——其中捆绑有运行时、软件、系统工具及数据库等,确保在任何环境下都能快速运行起来。在一个带有预先版本控制的轻量级虚拟环境中构建项目的原型,再轻松将新版本部署到多台服务器上非常简单。手工配置服务器费时费力,因此被自动化取代也是可以预见的。

去年间相关的配置管理工具都在普及开来,包括Vagrant、Puppet、Chef和Ansible。使用以容器为基础的系统来工作成为了开发人员的基本技能,其大势所趋,不可阻挡。

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

类似Haskell、Clojure、Scala等函数式编程语言在2016年间也逐渐热门起来,随着智能手机与联网设备的普及,为了在这些设备上获得更好的体验,服务器端语言也随之兴盛。随着计算机、平板电脑、智能手机和物联网小物件的日趋强大,服务器也成为了性能表现的瓶颈。目前发展方向就是:增进服务器性能,实现任务并行,并在与大量互联设备互动时获得更积极的响应。

大多函数式编程模型都是无状态的,也就是说无需复杂的同步,这些软件便能更简单、更高效地在不同的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语言将成为标准开发实践中更为核心的部分。

原文发布于微信公众号 - CSDN技术头条(CSDN_Tech)

原文发表时间:2017-01-03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏智能算法

总结:2016年编程方面的主流趋势

TechCrunch在去年一月时曾发布过一篇文章,预测2016年编程方面的主要趋势,但软件开发的世界总是变幻莫测,很难明确预测到会有哪些全新的开发语言、框架以及...

35010
来自专栏程序人生

Phoenix 1.3,迈向正确的道路

距离 1.2 发布已经有一年多,而 exlirconf 2016 McCord 宣布 1.3 的特性也已过去半年,phoenix 1.3 依旧犹抱琵琶半遮面,迟...

39115
来自专栏WeTest质量开放平台团队的专栏

百万并发量苹果官网准备好了吗?——一分钟学会服务器压力测试

企业需要良好的网站性能。网站的访问速度和顺利的体验是企业必须要做好的事情。本文从苹果官网两年来每次预购都出现的服务器宕机情况,揭示服务器性能测试的重要性,手把手...

2323
来自专栏花叔的专栏

为学cocos,和机友做了个重力小游戏

于是,趁着小游戏发布之际,一边学createjs一边发布了个人第一款小游戏:最强坦克,现在每逢周末都会或多或少地迭代一下。

1793
来自专栏CSDN技术头条

2017开发者生态报告,学什么语言最有前途?

JetBrains 在 2016 年底至 2017 年初期间,对 5000 多名开发人员进行了调查,以研究最新的开发生态。 最近,调查结果已公布:Java 被...

26410
来自专栏腾讯移动品质中心TMQ的专栏

零基础探索式测试实践之路

初识探索式测试 与“探索式测试”的结缘,始于一年多前师傅安东尼在组内推荐的【探索式测试实践之路.pdf】电子书,通过前两章节的学习,了解到探索式测试是基于经验的...

3069
来自专栏最新活动整理

腾讯云双11优惠活动整理,助力全民优惠上云

双十一期间的云服务器促销活动肯定不能少的了腾讯云商家。在昨天阿里云发布活动之后依旧只能新用户才可以购买便宜产品,老用户没有资格还是有些失望的。不过腾讯云商家并没...

4110
来自专栏云计算D1net

私有云:硬件规划四大要素

要构建私有云需要考虑诸多因素,尤其是当你的预算并不宽裕的时候。通过仔细的规划硬件,容量,存储和网络配置,你就能将有限的预算做出高效的运用。 要找出云成本效益最高...

4576
来自专栏云计算爱好者

云服务器的优势在哪里?

现在企业会跟随时代的发展来更新换代企业设备等,服务器对于很多互联网企业来说,投入大而且需要更新也更为小心谨慎。

3926
来自专栏ThoughtWorks

从未失约|2017年11月期技术雷达正式发布!

技术雷达是由 ThoughtWorks 技术战略委员会(TAB)经由多番正式讨论给出的最新技术趋势报告,它以独特的雷达形式对各类最新技术的成熟度进行评估并给出建...

2999

扫码关注云+社区

领取腾讯云代金券