2015年重要的软件开发发展

这篇文章是一些在2015年我前几年的评估与软件开发有关的最显著开发商可用于我个人的,自以为是的评估201420132012201120102009年2008年2007年 。 与前几年的评估一样,此评估对2015年软件开发的主要发展的评估显然是有偏见,有根据的,并且仅限于我的观点。

10.物联网

物联网的概念已经流行了很多年,但是在2015年,我似乎比以往任何时候都在非发展性主流媒体上看到了它。非发展性媒体的物联网故事例子包括《福布斯 》的综述。 《物联网预测和市场估计》(2015年17个人人都应该阅读的事实) (2014年的文章“对物联网”的简单解释也很有用),The Motley Fool“最佳物联网” 2015年的股票波利蒂科的华盛顿对物联网的真正了解》 ,《商业内幕》,《物联网》将如何影响世界公司的物联网》是个坏主意福克斯新闻为什么物联网是一把双刃剑CNN电视可能正在注视着您ABC新闻如何避免冰箱暴露数据CBS新闻FTC:“物联网”构成了消费者风险NBC News的物联网”能否保留Priva cy ?:立法者《纽约时报率先跳入物联网太多事物的互联网 ,以及《丹佛邮报 》的丹佛技术社区都在思考建立物联网的道德

CIO.com在2015年的十大物联网故事中收集了2015年的十大物联网故事

上面引用的大多数故事都集中在转向物联网的好处,风险和权衡(主要是安全性和隐私性 )上。

9.云计算

云计算一如既往地强大。 实际上,它是如此强大且如此普遍,以至于我认真考虑将其从这个列表中删除,就像我将其他诸如Web开发,移动开发, REST和敏捷。 但是,我决定将云计算列入此列表至少一年以上。 里克·布莱斯德尔(Rick Blaisdell)他的博客上发表了一篇题为《 2015云计算回顾》的文章:最大的供应商产品发生了什么变化? 在这篇文章中,Blaisdell写了供应商在2015年为采用云计算做出贡献的方式,这些方式与物联网Microsoft Office 365 ,IBM(以及被Clearleap收购)提供的视频以及移动开发有关。

8.单页应用程序/“本地Web应用程序”

Web开发人员多年来一直致力于在Web浏览器(现在在移动设备)上模拟桌面应用程序。 有人可能会争辩说,对单页应用程序(SPA)的推动实际上是从2005年采用Ajax clear原则开始的 。 在后本地Web应用程序 ,亨里克Joreteg关节运动为什么他认为术语“天然Web应用程序”(如创造的亚当Brault )是这些类型的Web应用程序,现在建立在“本机网络技术”一个更好的词HTMLCSSJavaScript

7.发展开源经济学

开源软件运动已经成功了很多年。 但是,近年来,尤其是在2015年,随着开源变得越来越普遍,我们似乎继续适应我们学习的开源新现实。 在2015年, Pivotal放弃了Groovy,因为它对他们的未来并不重要,而Groovy现在隶属于Apache Software Foundation 。 我发现它有见地的是, 笔者Igaro应用程序 (一个JavaScript单页应用框架) 回应请求,通过释放Igaro应用智能开源这个看似真理:“市场已经饱和,它并不怎么好你的框架是,获得牵引力非常困难。 充电将使其成为不可能。” 尽管Andrew Charnley专门讲JavaScript框架,但我认为这种观察在许多新的开源软件项目中都是正确的。

前面提到的“ 智能开源运动”被描述为“旨在阻止使用开源代码并从中赚取数十亿美元而又不向社区做出任何贡献的公司的贪婪。” 断言是“软件开发人员和程序员”(“无意间”)“为企业界的这种贪婪做出了贡献”。 智能开放源代码许可试图允许仅由“未在纽约证券交易所,纳斯达克,DJIA,LSE,DAX,上海证券交易所,东京证券交易所上市的任何人……[或]公司“免费”使用其适用的软件。交易所,香港证券交易所和/或《福布斯2000全球》榜单中列出的任何公司。” 尽管我了解这一运动的动机,但我看到它被采用和取得成功有几个障碍。 许可证中的某些概念与自由软件基金会所倡导的“言论自由”概念完全正交。 哪些公司不被允许使用该软件似乎也很困难。 是不允许“最终用户”(客户)公司使用的软件,还是不允许公司使用软件的开发公司? 例如,即使所有客户均未在任何交易所上市,也不允许纽约证券交易所上市的公司使用该框架开发产品吗? 最后,大多数开源贡献者至少部分地受到认可和看到尽可能多的人使用他们的工作的自豪感。

我们还看到Codehaus的终结和Google Code托管的终结于2015年被GitHub取代。 似乎许多(也许大多数)开发人员都使用开源,但贡献开源的比例却小得多。

认识到Polygot编程不是银弹

尽管某些语言在某些情况下更合适,并且并非所有语言在所有情况下都效果最佳,但是开发人员不禁不得不欣赏能够在非常不同的环境中使用他们熟知的一种编程语言 。 尽管polygot编程提供了许多好处,但是与所有受影响的开发人员都需要学习阅读,编写和维护多种语言相关的潜在巨大成本 。 这是许多Java开发人员的解释之一,他们更喜欢在整个企业应用程序中从客户端(带有Swing / JavaFXGoogle Web ToolkitVaadinDukeScriptJSweetJavaServer Faces等)的“厚客户端”使用Java ( 应用服务器 / SpringJPA的实现)。

JavaScript长期以来一直被认为是一种客户端技术,但是Node.js在服务器上的成功表明,许多JavaScript开发人员宁愿使用服务器上已经熟悉的语言,也不必学习新的语言,即使对于他们来说,新的语言已经存在,已经成熟并且非常适合上下文。

我相信使用新语言以及从中学习新语言及其不同方法具有很多优势,但是我还可以看到,如果需要大量的程序员来学习和使用多种语言,企业的成本可能会很高。 。 因此,对于polygot编程的热情似乎已经达到顶峰并且现在已经解决了一些不足为奇。

5. ECMAScript 2015(第6版)

近年来, JavaScript ,ECMAScript背后的规范有了重大改进和变化。 2015年6月, ECMA-262第6版ECMAScript 2015语言规范完成。 许多浏览器已经支持ES6的许多功能,并且ECMAScript的一些流行实现(例如TypeScript 1.4TypeScript 1.5 )已经支持ES6的功能。 ECMAScript 6已从其他面向JavaScript的框架中借鉴而来,有些已经开始声明它们将停止使用CoffeeScript并返回基于ECMAScript 6JavaScript。

ECMAScript 6指定了几个新功能,包括箭头函数常量 ,急需的块作用域promise ,新的数据结构( 映射集合 ),新的内置方法等。

4. DevOps

在2015年, DevOps概念仍然是软件开发中经常讨论的话题。我非常喜欢“ 如何学习DevOps嗡嗡声:不要相信您听到的一切 ”一文,因为博客作者Chad Schorr(自我描述“ DevOps传播者”阐明了我在实践中对devop的一些担忧: 含糊不清,以及有关该概念的厂商驱动(自我维护)演示过多。 另外,我的经验证明,对福音派传教士认为没有任何成本或不利因素的所有积极看法持怀疑态度通常是谨慎的。

在许多方面, DevOps似乎都在与Agile处于相同的生命周期。 问题是,尽管遭受DevOps现在面临的某些相同问题的困扰,DevOps是否将享有敏捷的长期意义。 DevOps可能会对我们编写和部署软件的方式产生长期的积极影响,但我也希望它的采用率Swift上升,同时伴随着负面或令人失望的体验的Swift上升。 最后,更紧密地协调开发和运营的想法似乎是一件很积极的事情,但我们可能会意识到,对一个组织有效的方法对另一组织并不总是相同的,因此必须学习如何实施在不同情况下,DevOps有所不同。 我们肯定还需要闯过了Mirco什么赫林关节运动 :在达克效应目前经常使用的DevOps相关。

Karthi Sadasivan发布了Devops过渡到2016主流战略的 5大理由,其中Sadasivan提供了五个理由来同意Gartner对DevOps在2016年成为主流的期望。

3.码头工人

在没有看到涉及Docker的多个博客和文章标题的情况下,打开诸如DZone之类的常规软件开发站点的首页几乎是不可能的。 在文章Docker是什么中,为什么它如此受欢迎?史蒂芬·J·沃恩·尼科尔斯Steven J. Vaughan-Nichols)写道, Docker “比热要热,因为它可以使更多的应用程序在相同的旧服务器上运行,并且还可以非常容易地打包和运送程序。” 容易解释Docker的流行,尤其是在当前对devop的重视期间,鉴于Docker具有许多与部署相关的好处。

早在2015年1月,Doug Dineley问了一个好问题 :“但是我们见过像Docker这样的东西吗?”

2.微服务

的话题微服务将继续在2015年独领风骚的在线软件开发的博客和文章微服务由詹姆斯·刘易斯和Martin Fowler的定义为“一种方法来开发一个应用程序作为套件的小服务,在自己的进程每次运行,并与通信“轻量级机制”被吹捧为它带来许多好处,其中包括模块化服务以供不同团队实施的能力,在不同服务中使用不同技术的能力以及使各功能部件之间的相互依赖程度降低以进行部署和执行的能力。 但是,微服务就像所有架构样式一样,需要权衡取舍,并且要付出成本 。 与微服务有关的最受欢迎的讨论点之一是讨论它们面向服务的体系结构(SOA)有何不同 。 考虑到两种架构风格都具有多个特征,并且SOA和微服务在业界受到了广泛的炒作 ,这并不奇怪。

1.软件安全性和软件中断

我想稍微改变一下,让软件安全性问题和功能障碍不是本年度软件开发的主要发展趋势( 2014年排名第一, 2013 排名第二,技术功能障碍排名第一, 2012年排名第二) ,但是与软件相关的频繁且重大的损失使我无法将其降低到我的清单上。 与2015年的软件安全和中断相关的问题包括: 对八年级计算机黑客的重罪 ,对Ashley Madison数据的黑客攻击和暴露,与1500万人( 包括T-Mobile客户 )相关的Experian数据的黑客入侵美国总统竞选活动勒索软件的Swift崛起, 更多的Java和Flash漏洞Apache Commons暴露了Java可序列化的问题以及人事管理办公室中超过2000万人的数据被黑客入​​侵。

一种快速了解近几年来黑客问题的好方法,请参阅《纽约时报 》的“您的个人信息向黑客暴露了多少次?”。 这个交互式站点允许用户选择他或她最近几年拥有关联数据的组织,以了解他或她的数据可能被黑客入侵了多少次。 克雷格·洛厄尔Craig Lowell)在上周停运残骸分类 ”一文中称2015年为“停电之年”。

荣誉奖

与前十名相比,软件开发中总是存在着值得注意的发展。 本“荣誉奖”部分重点介绍了2015年发生的其他重大发展,但错过了我的前十名。

大数据

人们对大数据的兴趣仍然很强,甚至在2015年可能会变得更大。Bernard Marr提供了大数据大数据高点和低点的月度汇总:2015年12个惊人的高点和低点微软显然认为,大数据是一件大事,因为它于2015年收购了Revolution Analytics (“ R统计编程语言的主要商业发行商”)。

Thor Olavsrud收集了CIO.com的“ 2015年10大顶级大数据和分析故事”蒂姆·斯潘Tim Spann在2016年学习大数据工具提供了斯潘(Spann)建议的“大数据很少工具”

的GitHub

正如我之前在关于开放源代码经济学的讨论中所提到的那样,由于GitHub的Swift流行和开发者的广泛使用, GitHub已经实质上使Codehaus和Google Code公共存储库不再存在。 代码并不是在GitHub上唯一可用的东西; 书籍,设计文档以及其他各种文档和工件也在GitHub上“开源”。 甚至有一个软件开发人员的招聘职位,标题为“ 如何:使用GitHub来寻找超级人才的开发人员 ”,而Yegor Bugayenko甚至说:“…如果您的GitHub个人资料中没有项目和提交,则您的“价值”因为软件开发人员的水平很低……”(有关完整上下文,请参阅博客文章 )。

节点基础

Node.js的基金会在2015年创建为涉及协作融合的Node.js分叉2014io.js代码库和管理今后的工作中“中性”的论坛。 Node.js Foundation由Linux Foundation托管。

OpenJDK的

Java已经拥有自己的社区流程和指导结构。 甲骨文领导OpenJDK直到2015年6月19日RedHat担任 OpenJDK的 领导职务 。 甲骨文还在 2015年提出了OpenJDK:Mobile

Emil Protalinski 写道 :“ Google确认下一个Android版本将使用Oracle的Java API开源OpenJDK。” Protalinski补充说:“ Google正在用Oracle Java开发工具包(JDK)的开源版本OpenJDK替换其在Android中对Java应用程序编程接口(API)的实现。 …Google向VentureBeat确认Android N将依赖OpenJDK实现,而不是Android自己的Java API实现。”

在《 Analysis:Google真正意味着OpenJDK的转变》一书中, Shai Almog对Android即将用OpenJDK库替换Harmony库的声明进行了深刻的分析,并写道:“这真是了不起的消息,对Java而言是巨大的进步。” Abel AvramAndroid中将使用OpenJDK写道:“ Android广泛使用Java语言和几个库,后者基于已退休的Apache Harmony项目”( Apache Harmony在2011年底退休Apache Attic )。

Mitch Pronschinske也引用了这一重大新闻并写道 :“ Google过去已经为OpenJDK做出了贡献,并且他们计划在将来向Android内的OpenJDK完全过渡时做出更多贡献。 这种变化对Java社区的影响可能是巨大的,因为更多的开发人员将熟悉Android的库。 与Google的基于Harmony的库相比,OpenJDK对更广泛的Java社区更熟悉。”

2015年其他与Java相关的开发

2015年是Java看到其开发人员采用带有lambda表达式流的 Java 8的一年。 随着这些方法变得越来越普遍,我们开始看到更多有关使用lambda表达式性能和其他含义的证据。 Java 9及其旗舰功能 (使用Project Jigsaw进行Java模块化 )已推迟2017年 ,甲骨文据称已消除或至少精简了Java传福音团队 ,因此感到非常震惊 。 有关2015年Java发生的情况的更多详细信息,请参阅Java在2015年–重大事件

角度2

Angular.js在Web和移动开发世界中的流行度和使用率Swift增长。 因此,随着Angular 2发布临近 ,它获得了可观的报道甚至引起争议 ,这不足为奇。 Angular 2beta版本2015年12月中旬发布

打字稿

打字稿享受一个非常成功的2015年,在这一年, 打字稿看到发布打字稿1.4 (1月), 打字稿1.5阿尔法 (3月), 打字稿1.5测试版 (4月), 打字稿1.5 (七月释放巨大), 打字稿1.6 Beta版 ( 9月,支持React / JSXTypeScript 1.6 (9月), TypeScript 1.6 (9月), TypeScript 1.7 (11月)和TypeScript 1.7.5 (12月)。 TypeScript 1.5包含专门为Angular 2设计的功能并且宣布 Angular 2 建立在TypeScript之上看来这也意味着 AtScript的终结

Scala.js

2015宣布,0.6.0版 ,“ Scala.js不再处于实验阶段”。 SébastienDoeraene也写道:“就像Scala与Java完全可互操作一样,Scala.js与JavaScript也可完全互操作。 Scala.js可以以静态或动态类型与JavaScript进行互操作。” 在撰写本文时, Scala.js最新版本是0.6.5 ,并且“完全兼容EcmaScript5”。

Kotlin

Kotlin 1.0 BetaKotlin 1.0 Beta 2Kotlin 1.0 Beta 3Kotlin 1.0 Beta 4于2015年发布。Kotlin Eclipse插件0.5.0也于2015年发布。Kotlin在其主页上被描述为“静态类型编程语言”。用于JVM,Android和浏览器。” 约瑟夫·海格Joseph Hager)写道:“如今,Kotlin在移动领域引领着新的JVM语言。”

锡兰

Ceylon 1.2.0发布于2015年。此版本引入了新功能,并解决了1500多个问题加文·金Gavin King)在帖子“ 为什么要选择Ceylon ”中指出,“ Ceylon是一种在JVM和任何JavaScript VM上都同样适用的语言。”

Groovy

Groovy在2015年初被Pivotal淘汰 ,但此后加入Apache Software Foundation最终资助的Pivotal版本Groovy 2.4Grails 3.0 。 Groovy 2.4提供了Android支持

Clojure

C#和.NET

C#6.0于2015年发布,“ 随Visual Studio 2015一起提供 ”。 C#6.0包括Mark Michaelis 编写的 几个新功能这些功能 “将改变您在特定情况下编写C#代码的方式”。 C#6.0 发布结合使用的.NET Framework 4.6F#4Visual Basic中14Visual Studio的2015年

Swift

Swift 2.0 宣布了 ,甚至更重要的是开源了Swift.org网站包含有关开源Swift的更多详细信息。 与Swift相关的源代码可以在Apple的GitHub存储库中找到

Ruby和Ruby on Rails

Serdar Yegulalp在文章Ruby和Rails的状态:机遇与障碍中 ,写了Ruby和Ruby on Rails的当前状态,并提到了积极和挑战。 Yegulalp还写了Ruby on Rails在具有WebSocket支持和API模式的Node.js上的应用 ,他着重介绍了Rails 5.0.0 beta 1的最新版本。 Rails 5仅适用Ruby 2.2.2 (也于2015年发布)或更高版本,因此最新版本的Rails可以利用 Ruby 2.2的功能性能改进,并结合Ruby OpenSSL主机名验证修补程序Ruby 2.3.0自 2015年发布以来

佩尔

Perl 6已有15年的历史了,2015年才终于到来。 更具体地说, Perl 6 的Rakudo实现beta版已于11月和发行。 在Perl 6降临日历中,圣诞节到了。 ”, 可口可乐宣布“ Rakudo Perl 6#94'коледа'的圣诞节发行版(2015年12月)”,并补充说“ Rakudo是Moar虚拟机Perl 6的实现。”

2015.52之后的版本:越来越接近发行版 ,这种紧迫感使我们迫切需要为“ 2015年圣诞节”发行版开发Perl 6规范保罗·克里尔Paul Krill )的开发人员可以在圣诞节解开Perl 6,引述拉里·沃尔(Larry Wall)最近的一封电子邮件,“圣诞节仍然是计划[发布],尽管在某些文化中当然要持续到1月6日左右。 在释放之前,我们只是试图确定尽可能多的松散末端。” 磷虾文章还简要地着眼于如何Perl 6的股用Perl 5的一些概念,也是从根本上不同与其他方式(和不兼容) 的Perl 5

Python

在我看来,对Perl的未来影响最大的“其他”语言是Python。 Python的受欢迎程度长期以来一直持续上升。 在2015年,Python经历了几个新版本,包括Python 3.4.3 (2月), Python 3.5.0a3 (3月), Python 2.7.10Python 2.7.10 RC 1 (5月), Python 3.5.0b2 (6月), Python 3.5 .0b3 (七月), Python 3.5.0 RC 1 (八月), Python 3.5.0 RC 3 (九月), Python 3.5.0 RC 4 (九月), Python 3.5.0 (九月), Python 2.7.11 RC 1 (11月), Python 2.7.11 (12月), Python 3.5.1和Python 3.4.4 RC 1 (12月)。

美国网页设计标准

美国Web设计标准Alpha )于2015年夏季发布。该网站的广告目的是“开放源代码UI组件和视觉样式指南,以在美国联邦政府网站上创建一致性和优美的用户体验。” 该站点包括《 视觉样式指南》 ,《 用户界面组件标准 》以及该站点支持的原理和标准示例。

弹簧

Josh Long在今年Spring– 2015年12月29日 ”的帖子概述了2015年Spring / 枢纽世界中的重大事件。 这些包括Spring Cloud 1.0.0Spring Cloud Data FlowSpring Boot 1.3.0以及其他与云相关的产品。 还宣布了Spring Framework 5.0将被延迟,因为“ Spring 5旨在非常紧密地跟踪JDK 9”,因此只有在JDK 9(已延迟)可用之后才发生。

“浏览器大战”的复兴

由于Web浏览器是台式机,笔记本电脑和移动设备普遍使用的部署环境,因此浏览器领域的竞争似乎再次升温并不奇怪。 杰克·沃伦(Jack Wallen )在“ Mozilla抛弃了浏览器之外的所有内容 ”中写道,“ Mozilla正式宣布将停止在Firefox OS上的工作,并希望拆分Thunderbird,以便他们只能专注于一件事和一件事。 Firefox。” 微软发布了Microsoft Edge ,以取代受Windows 10安装困扰的Internet ExplorerOpera相关的开发人员创建Vivaldi浏览器看起来很有前途,目前处于测试阶段。

浏览器在各种特性和特征上进行竞争,包括性能,安全性,支持的媒体类型和支持的平台。 有趣的是,新的竞争将如何继续帮助浏览器在所有这些领域向前发展。 说到浏览器和安全性,即使浏览器锁定了插件( NPAPI )并支持本机HTML5, 插件仍然存在安全性问题

选择最喜欢的Web浏览器显然是一个品味问题,并且要取决于给定的人在Web浏览器中发现的最重要的内容。 综上所述 ,我发现Mark Hachman 总结了如何比较“五个现代浏览器”(Chrome,Opera,Firefox,Edge和Internet Explorer)很有趣。

JSON API

JavaScript对象表示法 (JSON)在基于JavaScript和基于REST的应用程序使用的数据格式中日益流行。 通过REST公开其API的组织需要为客户端提供一种机制,以了解如何读取由HATEOAS方法提供的URI并对其采取行动。 JSON API是“在JSON中构建API”的一种方法,它提供了在构造基于JSON的响应时可以使用的约定。 2015年中期, Dan Gebhardt宣布:“经过两年,有四个发布候选版本,数百个请求请求和问题,以及无数小时的讨论,JSON API规范终于达到1.0”( JSON API 1.0 )。

渐进式Web应用

渐进式Web应用程序是一个在2015年末Swift流行的概念。 与此相关的一些很好的入门资源包括: 渐进式Web应用程序:逃脱选项卡而不会丢失我们的灵魂渐进式Web应用程序对Web意味着什么 ,以及渐进式Web应用程序:准备在黄金时段使用

结论

2015年又是软件开发领域取得重大进展的又一年,本篇博文以非常高的水平报道了其中一些重大事件。 尽管我将在2015年的最后一天发布此帖子,但我可能会添加我认为有的其他项目,详细信息或链接,或者在接下来的几天甚至几周内浏览它们,以形成有关主要主题的更完整描述2015年是软件开发方面的重大事件。2015年对于软件开发人员而言又是伟大的一年,如果我们不谨慎的话,编程语言,工具,框架和成功实践的文档的可用性可能会导致我们开发自己的软件案例开发人员版本“ affluenza”

翻译自: https://www.javacodegeeks.com/2016/01/significant-software-development-developments-2015.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值