微软全面拥抱 Java !技术圈的瓜快来吃!

2022年9月23日09:45:30621

微软全面拥抱 Java !技术圈的瓜快来吃!

口口相传的 北大青鸟贵州大数据学院

微软全面拥抱 Java !技术圈的瓜快来吃!

虽然一直以来,微软的不少产品在很多层面都有使用 Java 语言,但近日其官网上的一则「Microsoft is committed to the success of Java developers」(微软致力于 Java 开发者的成功)的公告正式吹响了微软全面拥抱 Java 的号角。小伙伴们可速来围观,微软全面拥抱 Java !技术圈的瓜快来吃!

对此,我们也不禁好奇,继构建 C#、.NET、TypeScript、Visual BASIC、JScript 等语言之外,微软为何要大费周章地再去深入 Java?在本文中,我们将从近年来微软的种种足迹中探寻原因。

微软全面拥抱 Java !技术圈的瓜快来吃!

微软对 Java 的最新动作

在这篇公告中,微软开发者部总裁潘正磊(Julia Liuson)表示,“作为一家公司,我们致力于使 Java 开发人员尽可能地高效和高产。这一承诺意味着开发者能够在任何操作系统上使用任何工具、框架和应用服务器。”

为此,微软推出了一个专门针对 Java 所有相关内容的新网站(developer.microsoft.com/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,以保持事情的条理性。

微软全面拥抱 Java !技术圈的瓜快来吃!

  • 其二,更好的 Spring 入门体验。

通过让 IDE 自动加载 Initializr 的 HELP.md 文件,为使用 Spring Initializr 初始化的项目提供了更好的启动体验。事实上,HELP.md 包含了有用的信息,但过去大部分开发者都忽略了它的存在,如今随着这一功能的改进,方便开发者上手。

  • 其三,Java Project Explorer 集成了 Maven 和 Gradle

有点像 Intellij,微软加强了 VS Code,使其更容易访问最频繁的构建操作,如访问访问 POM 或调用 Maven。

与此同时,微软并没有把对 Java 和 Spring 的支持局限于 VSCode,它还加强了对 Intellij 和 Azure 的支持。

微软与 Java 的爱恨情仇

当然,以上仅是微软近段时间为扩建自己的 Java 生态版图所做的一些工作。其实,微软对拿下 Java 开发者的“野心”也非一两天之间才有的。

如果说曾经依靠 Windows 构建起生态帝国的微软不可一世,从藐视开源、嫌弃 Linux,再到开源、数字化浪潮下的“微软爱 Linux”并稳居开源贡献榜单的 Top 之列,那么,它对 Java 的态度也有这样的一个转变过程。

在 Java 诞生的第二年,一群有敏锐的前瞻意识的人发现了这门语言的潜力,其中就包括了来自微软的专家们。时任微软 CEO 的比尔·盖茨也曾评价道,“Java 是很长时间以来最优秀的程序设计语言。”

在此趋势之下,微软在 1996 年 3 月与还没有被 Oracle 收购的 Sun Microsystems 签订了一份 Java 许可协议。可以说,微软应用 Java 的这一举措也极大地推动了 Java 自身的普及与发展。不过,好景并不长。

1996 年微软研发了一款 Java 集成开发环境,使用的语言是 J++。一定程度上可以将 J++ 视为是 Java 的一个变种,其语法、关键字等都与 Java 有异曲同工之处。

这样有些“擦边球”的行为,引发了 Sun 公司的注意。于是,1997 年 11 月,Sun 公司以违反合同为由对微软提起诉讼,指控微软分发了与 Sun 不兼容的 Java 版本。Sun 于 1998 年 5 月修改了其诉讼书,添加了不正当竞争和侵犯版权的指控。

彼时 Sun 在法庭上辩称,微软将 Java 的“一次编写,随处运行”功能视为对 Windows 的威胁,因为 Java 降低了软件开发人员为微软操作系统编写程序的动力。据 Sun 公司称,微软发布的 Java 版本与其 Windows 软件配合得更好。Sun 的律师表示,这样的举动威胁到 Java 提供跨平台开发环境的能力。

微软强烈否认有任何不当行为,并坚称它坚持与 Sun 签订的许可协议。该公司辩称,微软对 Java 所做的任何更改都只是允许开发人员利用 Windows 特有的功能。

历经三年之后,在 2001 年 1 月,两家达成和解,最终以微软同意向 Sun Microsystems 支付 2000 万美元,并且永久禁止在其产品上使用“Java 兼容”商标。不过,此时的微软还可以继续提供采用 Sun 开发的 Java 技术的现有产品,但这一场官司也让微软有了其他的想法。

在这一年的 7 月,微软宣布开始在 Windows XP 系统中不再支持 Sun 的 JVM,从而扶持自家的 .NET 平台,与 Java 分庭抗礼。

为什么此时要对 Java 展开攻势?

那要问微软为何要在时下再次拥抱 Java,根据微软官方的解释是,「如今,越来越多的 Java 开发者正在考虑如何将现有的 Java 应用程序迁移到云中,或者如何构建新的云原生应用程序。我们一直在努力让您更轻松地使用您喜欢的工具和框架将 Java 应用程序迁移到云中。然后,您可以使用您已经了解和信任的相同应用程序服务器和开源技术轻松部署和扩展。」

多年来,Java 已经积累了庞大的开发者群体,且有数以万计的设备使用 Java。在云时代下,微软在产品研发过程中也添加了对 Java 的高度支持。

除了在上文提到了的 VS Code 之外,微软在 Intellij IDEA、GitHub、Playwright、Apache Maven、Gradle 等工具方面,以及在某些产品上都有 Java 的身影。

如微软在搜索引擎 Bing 中的支持 Windows 开始菜单中的搜索功能,便是使用 Java 来执行与索引相关的功能,同时 Bing 横跨 50,000 多台服务器上有数十万个 JVM。

在 2019 年 8 月,微软收购了一家主营业务是 Java 性能优化的公司——jClarity。

微软全面拥抱 Java !技术圈的瓜快来吃!微软全面拥抱 Java !技术圈的瓜快来吃!

整体而言,微软此举一方面是想要在 Java 的市场中站稳脚跟,另一方面根据官方发布的 Java 演进图显示,微软在自己的基础设施中大量使用 Java,特别是它的 Azure 生态系统(Azure Spring Cloud、Azure App Service、Azure Functions、Azure Kubernetes),为此它需要有自己的统一和通用的构建方式。

再者,正如评价说,“微软此举还有将 Azure 推给 Java 开发者的宣传动机,微软试图引诱他们,甚至通过提供免费课程帮助他们迁移他们的应用程序。”小伙伴们机会来了,微软全面拥抱 Java !技术圈的瓜快来吃!

不过,归根究底,对开发者而言,也是一个不错的消息。

(部分素材来源于网络,如有侵权,请及时联系删除!)

 

下是我们校区的地址和联系方式:

北大青鸟贵州大数据学院白云校区

贵阳市白云区白云南路895号

北大青鸟高新大学生实训校区

贵阳市观山湖区长岭南路33号国家大数据(贵州)综合试验区四楼

网上报名
  • 文中图片素材来源网络,如有侵权请联系354383606@qq.com删除
  • 转载请务必保留本文链接:https://zxbmw.cn/?p=5276