技术世界在发展,Java也在同步发展。Java在软件世界建起地盘的头几年,它从没想过涉足服务应用程序、移动端应用程序以及机器人之类业务。今天,随着Java的发展,这门语言已经进入了聊天机器人、虚拟现实以及物联网等新领域。

除了不断开拓新领域,在服务端、移动端以及桌面端应用等生态中,Java的地位也越来越稳固。在本文中,我们将首先回顾去年所做的若干预测,然后展望2017年Java会在浏览器之外开拓哪些新地盘。先来看看Java在服务端应用程序中的情况吧。

Node.js是构建服务器端应用程序的开源运行时库,这类Java代码不是在浏览器中运行的。在过去的几年里,Node已经从初创公司中流行的技术框架演变为各种规模公司所使用的主流开发技术。

Node的包管理工具npm也不再是托管服务端应用程序模块的工具,而是转变为了分发Java代码的规范化的工具。也许npm上的包的数量是最能表现Node的发展趋势。在去年的预测中,我们制作了下面的图表,比较了各种语言中包管理的数据,显示出了npm的优势。

在过去一年里,npm的增长并没有放缓的迹象。事实上,npm包的数量从20万增长到了大约35万,促使整个Y轴比例尺都被迫调整。

增长背后的因素有很多,其中一个就是很多公司在基础服务中使用了Node。这同我们去年预测的结果相吻合。

“在2016年,我们可以预见到更多的公司将会进一步采用Node和他的包管理工具npm。因为Node的长期支持计划,微软、IBM、Intel、Progress等大公司将会继续使用Node,用来替代一些Java之类的传统企业解决方案。”

“在2016年,我们可以预见到更多的公司将会进一步采用Node和他的包管理工具npm。因为Node的长期支持计划,微软、IBM、Intel、Progress等大公司将会继续使用Node,用来替代一些.NET、Java之类的传统企业解决方案。”

从Node的增长趋势来看,上面的预测结果并不意外。关于Node的案例研究表明,一部分中等规模的公司已经开始使用Node,包括Netflix,GoDaddy和Capital One等。

Node在关键基础设施中得到了应用,其中最惹人注目的非NASA莫属了。你也可以看看NASA对Node的研究,在这里我只摘录一段话。

“在考虑宇航员的生命安全时,轻微的打嗝或者服务中断都会酿成生死事故。从EVA(舱外活动)的数据到太空中宇航员的各个领域里,Node.js都有助于确保所有人与事的安全。”

“在考虑宇航员的生命安全时,轻微的打嗝或者服务中断都会酿成生死事故。从EVA(舱外活动)的数据到太空中宇航员的各个领域里,Node.js都有助于确保所有人与事的安全。”

但是Node的发展并非只有NASA帮忙。Node的包管理工具npm已经成为了存储跨环境Java代码的不二选择,包管理工具的统一化反之也推动了Node的发展。

在本文中,我们讨论的每个框架、每项技术都使用npm来存储和分发其源代码。在npm中搜索“jquery”,“polymer”,“react”,“cordova”或“native”,你大概就能了解npm现在的规模。随着Java的普及,npm也越来越受欢迎。npm越普及,Node.js发展越快。我们相信,这个趋势将会在一段时间内继续保持下去。

在2017年,我们相信更多的公司将从传统的开发方式(比如JAVA和C#)切换到Node。我们相信Type也将有助于推动Node的成长,因为它对Java和C#的开发人员更加友好。Node对LTS版本的支持承诺也将有助于这一趋势,因为它保证了这些公司使用的版本会在未来几年得到持续的支持和维护。

总的来说,大公司不喜欢维护多套开发系统和语言,而借助Node,这些公司可以用单一语言来整合所有的开发系统,还不仅仅是是服务器端的代码。下来我们看看Java是如何影响移动端的。

PhoneGap以及它的基石Cordova,是Java进入原生开发领域的初次尝试。Cordova将web代码封装在WebView中,借由WebView来驱动原生的移动应用。这种方法允许Web开发人员使用他们已经掌握的技能(即Java)来开发移动应用程序,正因为如此,在很多年里,Cordova都是开发移动应用的重要选择。

但是这种情况开始慢慢改变了。今天,Cordova面临了很多替代方案的挑战,它们大部分使用与Cordova类似的基于Java的方案。也许Cordova最大的挑战来自谷歌主导的Progressive Web Apps(简称PWAs)。

PWAs为web世界了带来了很多近似原生的功能,比如推送通知、离线访问和主屏幕图标等。去年,我们预测Google将开始慢慢推行PWA方法。事实证明,这一预测还是过于保守,因为Google已经明确表示,他们将开展多种活动来推广PWAs。在最近的Chrome开发者峰会,以及今年的Google I/O会议上,谷歌都为PWAs安排了大量讨论。

PWAs和我们的讨论息息相关,因为它已经开始蚕食 Cordova的领域——需要使用原生功能的Web应用程序。如果你的web应用需要离线访问或者推送通知的功能,选择基于PWA 而不是 Cordova会是个更好的方案。尽管很难测量有多少人在混合应用中选择了PWAs,但已经有很多证据表明Cordova的使用量正在缩减。下面是最近两年Cordova每周被人们下载的次数。你可以看到,尽管Cordova下载数没有大幅波动,但增幅已经没有那么明显了。

衰退还有一个原因。尽管我们认为PWA正在蚕食Cordova的份额,但我们也相信,移动领域中更新的开发方式也在蚕食了Cordova的份额。

在去年的讨论中,我们预测2016年将会是这些框架成熟并广泛使用的一年,现在看来这些预测是准确的。在过去的两年里,React Native的每周下载次数在持续增加。

变化不只体现在这些Java驱动的原生框架的下载数据提升上,最近的一项调查研究(State of Java 2016)表明,Java开发人员对React Native和Native都很感兴趣。

在兴趣分数上,“Cordova”和“PhoneGap”的得分很低,这也许是它们的性能问题导致的。虽然Cordova和PhoneGap所依赖的手机浏览器和Java引擎有了很大提升,但还是不如运行原生代码(如React Native)。

在兴趣分数上,“Cordova”和“PhoneGap”的得分很低,这也许是它们的性能问题导致的。虽然Cordova和PhoneGap所依赖的手机浏览器和Java引擎有了很大提升,但还是不如运行原生代码(如React Native)。

在2017年,随着越来越多的Java开发人员开始尝试构建原生应。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注