2017编程趋势预测:10大技术大热,10大技术遇冷

在编程世界,流行的是科学,严谨和精确的准则。这不是说编程是一种缺乏趋势的行业。不同的是,由于编程重视的是高效,用户化和使用方便,因此编程技术需要不断更新换代。那么,在即将到来的2017年和未来的几年内,会有哪些新技术出现,成为新的潮流,又有哪些技术的热潮会渐渐消退呢?下面所列出的10种技术,摘自infoworld.com的一位编辑Peter Wayner撰写的文章21 hot programming trends -- and 21 going cold。本文旨在与大家一起讨论这个话题。

1. JavaScript MV 框架成为热门,JavaScript文件遇冷

很久以前,我们写JavaScript代码来弹出一个消息窗口或检查表格中含有@符号的电子邮件地址。不过现在有了HTML Ajax应用程序,它们非常精细,因此很少人从零开始写代码了。现在比较简单的方法是:使用一个有详细说明的框架和写一点胶水代码来执行商业逻辑。现在有很多框架,如Kendo, Sencha,jQuery Mobile,AngularJS,Ember, Backbone, Meteor JS等等,所有这些框架都是为了处理Web应用程序以及页面事件和内容而准备的。另外,还有一些为智能手机和平板电脑提供的跨平台框架,其中包括nativescript,PhoneGap和Sencha Touch等,它们可以用来创建源自HTML5技术的app。

在livecoding.tv上,一位开发者使用Phonegap开发一款HTML5 App

2. SVG + JavaScript on Canvas受欢迎,Flash风光不再

Flash风光了很多年,很多有才华的编程大师建立了一个Flash代码堆垛来处理复杂的过渡和动画。不过,现在JavaScript层具有很多相同的能力。浏览器的制造商和开发者都在为Flash的结束而欢呼。JavaScript可以与DOM层更好地整合在一起,DOM层来自一些新的格式,例如SVG(可缩放矢量图形)。SVG和HTML包含了一大堆标签,Web开发者使用起来往往更方便,现在还有了大的APIs,让你可以在画布对象上详细地绘画图形,通常还会提供视频卡来帮助你使用。当把它们结合起来使用,你还有什么理由要用Flash呢?

3. 游戏框架比本土游戏开发更受欢迎

以前,游戏开发意味着要请大量开发人员,他们从零开始用C语言写所有代码。这需要投入巨资。现在,大多数游戏开发者放下了他们多年前的骄傲资本,现在他们使用库,如Unity, Corona, 或LibGDX来建立系统。他们不会再写像库说明那么多的C代码了。我们的游戏不再是用手工写代码完成,而是由相同的引擎来制作而成的。这也许让人觉得惭愧,不过,大多数开发者都对此感到很欣慰,因为他们不需要被迫去处理细节,这样他们可以专注于游戏玩法,情节,人物和艺术。

Livecoding.tv 上的直播者使用 Unity 及其它库来开发各种游戏

4. 单一网页的Web apps盛行,网站遇冷

制作传统网站的时候,网站设计人员要花几个小时来制作网站地图,以令网站导航变得简单。新的Web应用程序是从前端到有大量内容的大数据库。当Web应用程序需要信息时,它就从数据库中提取信息并将信息注入到本地的模具中。现在没有必要使用Web附加设备所需要的所有东西来标记数据,以便创建一个网页了。数据层是完全独立于演示和格式层。移动计算的兴起是另一个因素:单页的,响应式设计的网页,它工作起来就像一个app——所有这些都更好,以避免混乱的App商店。

5. 移动Web apps比本土移动Web apps更具竞争力

APP开发者可以写不同版本的app来应用于不同的系统:Android,iOS,Windows 8,甚至BlackBerry OS或是其它任何一个系统。每一个版本的app需要由一个独立的,懂得不同编程语言的团队来开发。然而,每一个平台上的app商店在把app交到用户手中之前,可能会提出种种合理不合情的要求。这是开发者不希望看到的。开发者可以创建一个HTML app,把它放在一个网站上,在所有平台上运行。如果出现了什么变化,你不需要返回app商店去请求获得一个迅速的错误检查和修复。现在,HTML层越来越快,而且它在速度较快的芯片上运行,这种方法可以使移动Web app更好地与本土app竞争,甚至是与更复杂的交互式app竞争。

6. Android大热, iOS遇冷

几年前,苹果专卖店门前排起的“人龙”还记得吧?时代在改变,虽然iPhone和iPad仍然拥有忠实粉丝,他们喜欢丰富、复杂的用户界面,但原始销售数据依然对Android有利。甚至有报道说,超过80%的手机是Android的。原因可能很简单,因为成本。当iOS的设备成本仍然很高的时候,Android正在以大量竞争汹涌而来,那就是用五分之一的价格来生产平板电脑。省钱永远是一种诱惑。不过,另一个因素可能是开源的效果。任何人都可以在市场上竞争。

7. Web界面兴起,IDEs热潮消退

很久以前,人们用的是命令行编译器,然后有人把编辑器和其它工具整合在一起,创造了IDE。现在又轮到IDE的热潮消退了,因为有了基于浏览器的工具出现。它们通常是一个工作系统,可以让你编辑代码。如果你不喜欢WordPress的功能,它配备了一个内置的编辑器,让你可以即时更改代码。微软的Azure允许你在它的入口写JavaScript胶水代码。虽然这些系统不能提供最好的调试环境,并且在编辑生产代码时可能会有一些危险,但这个创意是不错的。

你可以尝试Cloud9,Aptana,和Mozilla WebIDE,但要坚持探索。Web界面正在变得越来越强大。有可能会出现这样的情况,在微软的Azure网站上建立一个完整的大数据分析项目。

8. 大热的是Node.js, 遇冷的是JavaEE, Ruby on Rails

服务器的世界一直在线程模型上长盛不衰,它让程序员在使用操作系统时可以有种种行为,如固执,低效或是放任。无论是由程序员编码而造成的愚蠢的循环或是浪费的计算,操作系统都可以在线程之间切换来平衡性能。

Node连同JavaScript一起回调编程模型,它的代码的确运行得很快,比任何人预期的还快。它曾经可能是一种无实用价值的语言,只是被用于警告消息框。但意外地,由于创建新线程的开销变得明显,Node.js腾飞了。当程序员表现得不好时,问题就会出现了,但责任在很大程度上是对他们有好处的。显然,限制资源往往可以令程序员更快地写代码。Node.js还有利于浏览器和服务器之间的和谐。运行在浏览器和服务器上的相同代码可以让开发人员更方便地移动和复制功能。因此,Node.js层已经成为互联网上最热门的栈。

9. PHP7.0速度提升,旧版PHP淡出

在过去,PHP是一种简单的方法来淘汰一些动态网页。如果你需要一点点的变化,你可以在HTML标签之间嵌入简单的代码。Web开发者有了它就基本足够了,但它的缓慢足以令程序员中的中坚分子看不起它。一些喜爱PHP的程序员在Wordpress和Facebook等地方都在争相利用即时编译器,这种曾创造出Java如此高性能解决方案的技术来执行比以前更快的PHP代码。现在的工具如HipHop,虚拟机和PHP7.0提供的速度可能是旧版本的2倍。这会给Node.js和java带来挑战。

10. 在线即时教育成趋势,四年传统教育不再是主流

以计算机为媒介的课程已经不是新玩意了,每个人正在享受着观看视频讲座的好处。但这不仅是教育的一种本质,网上课程技术的背后是它颠覆了教育产业技术的复杂性;它还可以让你灵活地支配自己的学习时间和地点。这正在改变我们的生活动态,因为我们不再需要投资四年的时间以及负担高额的学费去学习一系列课程了。当你需要获得新信息的时候,你的需要可以即时得到满足。

就编程来说,我们可以在网上找到很多学习网站、社区、博客,这些都是很好的学习资源。例如Livecoding.tv, 这是一个将直播,教育,社交和工作结合在一起的综合平台。这个平台以直播编程的方式,将世界各地的程序员开发产品或项目的过程直观地呈现给观众用户。你可以学到很多在书本上不一定能学到的编程知识和技巧,因为每一个直播,都是一个真实的案例。除了直播,你还可以观看每一个直播者的视频。因此,你可以在这个网站上学习某种编程语言的基础知识,也可以学习某个产品,工具甚至是整个项目的开发,看看优秀的开发者是如何写代码,除错,创建框架等等。当直播与在线学习结合在一起时,这也是互联网的一个趋势。

在编程世界,无论是哪一种潮流的兴起或衰退,都是编程技术的魅力所在。它总是在快速变化,又总是充满着激情和争论。这也正是编程世界精彩的地方。

时间: 2024-10-25 18:54:02

2017编程趋势预测:10大技术大热,10大技术遇冷的相关文章

2017 编程趋势预测:10大技术大热,10大技术遇冷

在编程世界,流行的是科学,严谨和精确的准则.这不是说编程是一种缺乏趋势的行业.不同的是,由于编程重视的是高效,用户化和使用方便,因此编程技术需要不断更新换代. 那么,在即将到来的2017年和未来的几年内,会有哪些新技术出现,成为新的潮流,又有哪些技术的热潮会渐渐消退呢?下面所列出的10种技术,摘自infoworld.com的一位编辑Peter Wayner撰写的文章21 hot programming trends -- and 21 going cold.本文旨在与大家一起讨论这个话题. 1.

大数据挑战与NoSQL数据库技术pdf

下载地址:网盘下载 内容简介 编辑 <大数据挑战与nosql数据库技术>对大数据时代面临的挑战,以及nosql数据库的基本知识做了清晰的阐述,有助于读者整理思路,了解需求,并更有针对性.有选择地深入学习相关知识.[1] 目录 编辑 第1章概论1 1.1引子2 1.2大数据挑战3 1.3大数据的存储和管理5 1.3.1并行数据库5 1.3.2NoSQL数据管理系统6 1.3.3NewSQL数据管理系统8 1.3.4云数据管理11 1.4大数据的处理和分析11 1.5小结13 参考文献13 理论篇

中国未来10年内最热门的十大新兴职业

新职业层出不穷,老职业越老越吃香.人才市场的竞争永远激烈,其间有多少是最受职场人士关注.三千宠爱集一身的职业?未来几年的金牌职业有哪些?我们的金牌职业.俗称“金饭碗”具有以下特征:含金量高.收入多.发展前景广阔.相对稳定.身上聚集了无数艳慕的眼光,让众多职业人士产生心跳加速.眼热嘴馋等连锁反应,本期经过过市场调查并综合专家分析,预测未来几年的十大金饭碗. 1.理财规划师    生活水平越来越高了,口袋也越来越鼓了,可是为什么还有那么多白领入不敷出?想让你的钱“生”钱吗?想快乐地高枕无忧地参与企业

[爆笑吐槽]2014年10大网络流行语Top 10 online buzzwords of 2014

[爆笑吐槽]2014年10大网络流行语Top 10 online buzzwords of 2014 2014年10大网络流行语 1.且行且珍惜(Cherish what you have at the moment) 出处:2014年3月底,文章回应“出轨门”承认了“劈腿”传闻.3分钟后,马伊琍在微博写了句“恋爱虽易,婚姻不易,且行且珍惜”回应.于是“且行且珍惜”开始流行. Origin: At the end of March in 2014, Wen Zhang responded to

大数据流式计算:关键技术及系统实例

孙大为1, 张广艳1,2, 郑纬民1 摘要:大数据计算主要有批量计算和流式计算两种形态,目前,关于大数据批量计算系统的研究和讨论相对充分,而如何构建低延迟.高吞吐且持续可靠运行的大数据流式计算系统是当前亟待解决的问题且研究成果和实践经验相对较少.总结了典型应用领域中流式大数据所呈现出的实时性.易失性.突发性.无序性.无限性等特征,给出了理想的大数据流式计算系统在系统结构.数据传输.应用接口.高可用技术等方面应该具有的关键技术特征,论述并对比了已有的大数据流式计算系统的典型实例,最后阐述了大数据流

产品不要被技术绑架的十大注意事项(转)

“不可能的:有难度的:你懂不懂技术的:这个功能要放在二期才能做:要做可以但需要时间:把那个项目停掉我就给你做……”,如果经常听到技术这样说,那你的产品很有可能已经被技术绑架了,接下来你想再多的功能,只要技术说不可以那就没戏. 1.正确选人 ——做网站的技术开发,必须是个技术牛人,要像科学怪人那样的人最好,为实现一个功能可以两天不睡觉的主.千万不要找一个所谓的高级架构师之类的高人,其实这种人连最简单的功能也不会开发了. 2.严禁不可能 ——如果一个程序员说“不可能的”,那他应该去屎.做技术的就是把

Win 10露出真容,盗版玩家大呼上当

8月16日,刊出署名文章"Microsoft can remotely disable pirated games, if you're running them on Windows 10",意思是,Win10与盗版游戏"水火不容",也就是说,在运行中的Win10上盗版游戏"玩不转".微软的这种远程反盗版本领从何而来?根据何在? 多年来,盗版玩家与微软周旋不断,自持技术高明.但是,这次遇上Win10,碰了一个硬钉子,只能大呼上当了.现在的问题是

柯南君 :Oracle 分区技术 之 如何支撑大数据操作?

前段时间,看了罗女士( 资深技术顾问 - Oracle 中国 顾问咨询部)关于<大批量数据处理技术的演讲>视频,感觉受益良多,结合多年的知识积累,柯南君给大家分享一下: 交流内容: 一.Oracle的分区技术 (一)分区技术内容 1. 什么是分区? 分区就是将一个非常大的table或者index 按照某一列的值,分解为更小的,易于管理的逻辑片段---分区.将表或者索引分区不会影响SQL语句以及DML(见备注)语句,就和使用非分区表一样,每个分区拥有自己的segment(见备注),因为,DDL(

《Spark大数据分析:核心概念、技术及实践》大数据技术一览

本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第1章,第1节,作者穆罕默德·古勒(Mohammed Guller)更多章节内容可以访问云栖社区"华章计算机"公众号查看. 大数据技术一览 我们正处在大数据时代.数据不仅是任何组织的命脉,而且在指数级增长.今天所产生的数据比过去几年所产生的数据大好几个数量级.挑战在于如何从数据中获取商业价值.这就是大数据相关技术想要解决的问题.因此,大数据已成为过去几年最热门的技术趋势之一.一些非常活跃的开源项目都