总结:2016年编程方面的主流趋势 -欧洲杯足彩官网

3顶
1踩

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

最新版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语言将成为标准开发实践中更为核心的部分。

原文链接: (编译/孙薇 责编/钱曙光)
3
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 自2015年6月 javascript/ecmascript 6 推出以来,其新功能被广泛应用于网络开发领域。超过 90% 的主流浏览器和 node.js 兼容 es6 语法,即使是未实现 es6 的老版本浏览器,你也能通过转译器或者 polyfill 用上 es6。...

  • 不知不觉间,linkboy面世已到十年。十年前的这个时候,开始着手设计开发这门编程语言,经过不断迭代和...本文将回顾和总结过去十年的开发历程,感兴趣的朋友可以借此一窥linkboy的内部设计细节和研发演进。 概述...

  • android开源2016 图书出版商分享了2016年必读的与开源相关的图书发行的精选内容。 没有淀粉新闻 (由anna morrow提供) 汽车黑客手册 克雷格·史密斯(craig smith) 304页 发布时间:2016年3月 《 the car ...

  • 外媒 kdnuggets 日前针对大数据领域在2016年度取得的重大发展,以及2017年度可能出现的变化趋势,询问了8位行业内的顶级专家。 虽然各位专家的意见不尽相同,但从其发言中大约可以总结出一个共通点:大数据研究正在...

  • 来源:硅谷智库 这份报告是美国陆军公布的一份长达35页的《2016-2045年新兴科技趋势报告》。它是美国在过去几年由政府机构、咨询机构、智囊团、科研机构等发表的32份科技趋势相关研究调查报告的基础上提炼形成的。 ...

  • 很久以前,只有几个主流的编程语言瓜分天下,它们分别是:cobol、basic和fortran。很多软件系统都是用这几种语言编写的,而且令人惊讶的是,其中很多系统生存至今。经过多年的发展,cobol和fo...

  • gartner’s top nine strategic tech trends for 2021编者按:今年由于疫情的关系,一些原本比较平稳的趋势得到了加速。总来说,因为疫情导致人与人...

  • 2016年全球50个创新趋势 编者按 一年一度《快公司》“全球最佳创新公司50”榜单出炉了,这份榜单也反映了此时此刻的全球创新实况。商界变革日新月异,创新公司奋力超越自我,带着新创意与新动力不断涌现,吸引...

  •  (本文2016年发表于《程序员》杂志)  (想更系统地学习深度学习知识?请参考: 深度学习枕边书 )  随着深度学习技术的快速进展,人工智能时代的序幕已经揭起,目前深度学习在图像处理方面的能力已经接近...

  • 一年以前,我写了一篇文章来预测 2020 年的软件开发趋势: 《20 个 2020 年软件开发趋势预测》 https://www.infoq.cn/article/piuh6nwqcu8gzw1v8eqg 在软件开发行业,一年几乎就是一光年。我没有更新旧帖子,而是...

  • 看趋势:把握机器学习的未来   机器学习虽然取得了长足的进步,也解决了很多实际问题,但是客观地讲,机器学习领域仍然存在着巨大的挑战。   首先,主流的机器学习技术是黑箱技术,这让我们无法预知...

  • 前端框架是什么?前端框架一般指用于简化网页设计的框架,目前常用的框架有:react、vue、angular、bootstrap、...2016年开始应该是互联网飞速发展的几年,同时也是web前端开发非常火爆的一年,web 前端技术发展速...

  • 随着最新趋势被引入it领域,qa测试有了很大的进步和发展。创新技术的引入带来了软件测试、开发、设计、交付方面的最新更新,大部分it领导者相信他们的组织能采取最新的it方法。 数字转型是在云计算和商业分析方面...

  • 本篇主要介绍ocr竞赛技巧总结,主要从ocr概念、分类、模型方法、推荐框架、常用trick、评估指标等多个方面进行总结介绍,部分内容取自本人专栏《深入浅出ocr》系列,上述内容后续会继续更新,欢迎大家订阅学习交流,...

  • 这篇文章是一些在2016年与软件开发的最显著的发展我个人的,自以为是的评估这是我的第十个年头这一年一度的职位和我的前几年的评估可用于2015年 , 2014 , 2013 , 2012 , 2011 , 2010 , 2009年 , 2008年和...

  • 2016即将结束,外媒kdnuggets日前针对大数据领域在2016年度取得的重大发展,以及2017年度可能出现的变化趋势,询问了8位行业内的顶级专家。 虽然各位专家的意见不尽相同,但从其发言中大约可以总结出一个共通点:...

  • 2016即将结束,外媒kdnuggets日前针对大数据领域在2016年度取得的重大发展,以及2017年度可能出现的变化趋势,询问了8位行业内的顶级专家。 虽然各位专家的意见不尽相同,但从其发言中大约可以总结出一个共通点:...

  • 从语言、操作系统、云平台看全球物联网开发趋势。

  • vb语言vb光盘管理系统设计(源代码 系统)本资源系百度网盘分享地址

global site tag (gtag.js) - google analytics
网站地图