微软全力拥抱 Java!
Posted Java技术栈
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了微软全力拥抱 Java!相关的知识,希望对你有一定的参考价值。
点击关注公众号,Java干货及时送达
作者 | 苏宓
出品 | CSDN(ID:CSDNnews)
虽然一直以来,微软的不少产品在很多层面都有使用 Java 语言,但近日其官网上的一则「Microsoft is committed to the success of Java developers」(微软致力于 Java 开发者的成功)的公告正式吹响了微软全面拥抱 Java 的号角。
对此,我们也不禁好奇,继构建 C#、.NET、TypeScript、Visual BASIC、JScript 等语言之外,微软为何要大费周章地再去深入 Java?在本文中,我们将从近年来微软的种种足迹中探寻原因。
1、微软对 Java 的最新动作
在这篇公告中,微软开发者部总裁潘正磊(Julia Liuson)表示,“作为一家公司,我们致力于使 Java 开发人员尽可能地高效和高产。这一承诺意味着开发者能够在任何操作系统上使用任何工具、框架和应用服务器。”
为此,微软推出了一个专门针对 Java 所有相关内容的新网站(developer.microsoft.com/java),该网站提供了微软 Java 云开发团队的最新内容以及技术文档、工具、资源、教程、视频和代码示例。
另外,最新 Java 面试题整理好了,大家可以在Java面试库小程序在线刷题。除此之外,微软也在工具方向增加了对 Java 的诸多支持,其中,在新版本的 VS Code 中带来了更多 Spring 相关的新功能更新。譬如:
其一,增加了查看实时进程中的 Spring Bean 属性。
如果没有 IDE 的支持,开发者必须编写代码来获取 ApplicationContext 和调用 .getBeanDefinitionNames() 才能得到同样的结果。比如说:
System.out.println(Arrays.asList(applicationContext.getBeanDefinitionNames());
在添加了这一功能之后,VS Code 可以展现 Bean 的属性信息,即它们是否是 Singleton、prototype 等,同时还可以用“defined”来标记自己的 Bean,以保持事情的条理性。
其二,更好的 Spring 入门体验。
通过让 IDE 自动加载 Initializr 的 HELP.md 文件,为使用 Spring Initializr 初始化的项目提供了更好的启动体验。事实上,HELP.md 包含了有用的信息,但过去大部分开发者都忽略了它的存在,如今随着这一功能的改进,方便开发者上手。
推荐一个开源免费的 Spring Boot 最全教程:
https://github.com/javastacks/spring-boot-best-practice
其三,Java Project Explorer 集成了 Maven 和 Gradle
有点像 Intellij,微软加强了 VS Code,使其更容易访问最频繁的构建操作,如访问访问 POM 或调用 Maven。
与此同时,微软并没有把对 Java 和 Spring 的支持局限于 VSCode,它还加强了对 Intellij 和 Azure 的支持。
2、微软与 Java 的爱恨情仇
当然,以上仅是微软近段时间为扩建自己的 Java 生态版图所做的一些工作。其实,微软对拿下 Java 开发者的“野心”也非一两天之间才有的。
在 Java 诞生的第二年,一群有敏锐的前瞻意识的人发现了这门语言的潜力,其中就包括了来自微软的专家们。时任微软 CEO 的比尔·盖茨也曾评价道,“Java 是很长时间以来最优秀的程序设计语言。”
为了降低这样的焦虑,微软研发了一款 Java 集成开发环境,使用的语言是 J++。一定程度上可以将 J++ 视为是 Java 的一个变种,其语法、关键字等都与 Java 有异曲同工之处。
微软强烈否认有任何不当行为,并坚称它坚持与 Sun 签订的许可协议。该公司辩称,微软对 Java 所做的任何更改都只是允许开发人员利用 Windows 特有的功能。
在这一年的 7 月,微软宣布开始在 Windows XP 系统中不再支持 Sun 的 JVM,从而扶持自家的 .NET 平台,与 Java 分庭抗礼。
3、为什么此时要对 Java 展开攻势?
那要问微软为何要在时下再次拥抱 Java,根据微软官方的解释是,「如今,越来越多的 Java 开发者正在考虑如何将现有的 Java 应用程序迁移到云中,或者如何构建新的云原生应用程序。我们一直在努力让您更轻松地使用您喜欢的工具和框架将 Java 应用程序迁移到云中。然后,您可以使用您已经了解和信任的相同应用程序服务器和开源技术轻松部署和扩展。」
多年来,Java 已经积累了庞大的开发者群体,且有数以万计的设备使用 Java。在云时代下,微软在产品研发过程中也添加了对 Java 的高度支持。
最新 Java 教程:https://www.javastack.cn/java/
除了在上文提到了的 VS Code 之外,微软在 Intellij IDEA、GitHub、Playwright、Apache Maven、Gradle 等工具方面,以及在某些产品上都有 Java 的身影。
如微软在搜索引擎 Bing 中的支持 Windows 开始菜单中的搜索功能,便是使用 Java 来执行与索引相关的功能,同时 Bing 横跨 50,000 多台服务器上有数十万个 JVM。
在 2019 年 8 月,微软收购了一家主营业务是 Java 性能优化的公司——jClarity。2021 年,时间点有些巧合的是,彼时 4 月 5 日,美国最高法院在 Google 与 Oracle 之间关于在 android 使用 Java 的诉讼案中,最终判定 Google 开发 Android 使用的 Java API 代码合理。次日,与此事没有任何关系的科技巨头微软便推出了自家的 JDK 项目 Microsoft Build of OpenJDK 版本。
来源:https://cdn.graph.office.net/prod/media/java/infographic-evolution-of-java-at-microsoft.pdf
整体而言,微软此举一方面是想要在 Java 的市场中站稳脚跟,另一方面根据官方发布的 Java 演进图显示,微软在自己的基础设施中大量使用 Java,特别是它的 Azure 生态系统(Azure Spring Cloud、Azure App Service、Azure Functions、Azure Kubernetes),为此它需要有自己的统一和通用的构建方式。
再者,正如 i-programmer 评价道,“微软此举还有将 Azure 推给 Java 开发者的宣传动机,微软试图引诱他们,甚至通过提供免费课程帮助他们迁移他们的应用程序。”
不过,归根究底,对开发者而言,也是一个不错的消息。
参考资料:
https://www.infoworld.com/article/2074908/sun-microsoft-settle-java-lawsuit.html
https://www.i-programmer.info/news/80-java/15701-microsoft-goes-all-out-on-java.html
End
Spring Cloud 微服务最新课程!
以上是关于微软全力拥抱 Java!的主要内容,如果未能解决你的问题,请参考以下文章
我在盘石这些年第90期Cassandra:既然选择了互联网,便只顾拥抱变化全力以赴!