admin管理员组

文章数量:1530041

vs2015 开发软件

这篇文章是我对2015年与软件开发相关的一些最重要开发人员的个人观点和独到见解。我之前的评估适用于2014年 , 2013年 , 2012年 , 2011年 , 2010年 , 2009年 , 2008年和2007年 。 与前几年的评估一样,此评估对2015年软件开发的主要发展的评估显然是有偏见,有根据的,并且仅限于我的观点。

10.物联网

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

CIO在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应用程序,现在建立在“本机网络技术”一个更好的词HTML , CSS和JavaScript 。

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 / JavaFX , Google Web Toolkit , Vaadin , DukeScript , JSweet , JavaServer Faces等)的“厚客户端”中使用Java。 ( 应用服务器 / Spring和JPA的实现)。

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

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

5. ECMAScript 2015(第6版)

近年来, JavaScript ,ECMAScript背后的规范有了重大改进和变化。 2015年6月, ECMA-262第6版ECMAScript 2015语言规范完成。 许多浏览器已经支持ES6的许多功能,并且一些流行的ECMAScript实现(例如TypeScript 1.4和TypeScript 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的“ 2015年10大顶级大数据和分析故事” 。 蒂姆·斯潘 ( Tim Spann ) 在2016年的《 学习大数据工具》中提供了斯潘(Spann)建议的“一些大数据工具”

的GitHub

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

节点基础

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

OpenJDK的

Java已经拥有自己的社区流程和指导结构。 Oracle领导OpenJDK直到2015年6月19日,当时RedHat担任 OpenJDK的 领导者。 Oracle还在 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 Avram在Android中将使用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年 ,Oracle据称已消除或至少精简了其Java传福音团队 ,因此感到非常震惊 。 有关2015年Java发生的情况的更多详细信息,请参阅Java在2015年–重大事件 。

角度2

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

打字稿

打字稿享受一个非常成功的2015年,在这一年, 打字稿看到发布的打字稿1.4 (1月), 打字稿1.5阿尔法 (3月), 打字稿1.5测试版 (4月), 打字稿1.5 (七月释放巨大), 打字稿1.6 Beta版 ( 9月,支持React / JSX , TypeScript 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 Beta , Kotlin 1.0 Beta 2 , Kotlin 1.0 Beta 3和Kotlin 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.4和Grails 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.6 , F#4 , Visual Basic中14和Visual Studio的2015年 。

Swift

Swift 2.0 宣布了 ,甚至更重要的是开源了 。 Swift网站包含有关开源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 Hostname Verification修复程序 。 Ruby 2.3.0已于 2015年发布 。

Perl

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.10和Python 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.0 , Spring Cloud Data Flow , Spring 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 Explorer 。 由与Opera相关的开发人员创建的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/2016/01/significant-software-development-developments-2015.html

vs2015 开发软件

本文标签: 开发软件软件