首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

NetBeans在Apache基金会取得的进展

大约两年前,甲骨文开始将NetBeans捐赠给Apache软件基金会,而第一个主要的代码落地大约在12个月前。从那时候起,他们开始了大量的工程工作。尽管如此,NetBeans社区仍在取得进展,包括发布了一个新的主要版本。InfoQ采访了甲骨文高级首席产品经理Geertjan Wielenga,他见证了整个过程。

InfoQ:感谢你花时间参加我们的采访。你能否告诉我们NetBeans是如何转变为Apache项目的?一路上你发现了哪些有趣的事情?

Geertijan Wielenga:这是一个缓慢而彻底的过程。一个不关心自家软件工具的企业是不会将它们捐赠给软件基金会的。相反,他们只会停止开发这些工具,并会向全世界撂下一句“就这样吧”。让我感到惊讶的是,甲骨文将NetBeans捐赠给Apache是认真的。有很多开发人员参与其中,包括甲骨文的法律团队。他们在仔细审核并清理NetBeans相关问题后,才将其移交给Apache。

这是一个长期的过程,远远没有结束。目前,NetBeans用户使用的大多数功能都已捐赠给Apache,并且可以在GitHub上找到。后续还有更多的东西,主要是C/C++工具,以及一系列其他功能和文档。

可以看出,Apache目前拥有7,493,322行NetBeans代码,占Apache磁盘空间的4.38%,Apache NetBeans成为当前最大的Apache项目,可见其规模和复杂性。

InfoQ:我听说新版本的NetBeans提供了很多新功能。你能否告诉我们它们是什么以及它们对NetBeans用户和Java开发人员来说意味着什么?你认为新版本的哪些方面对于可能想要尝试NetBeans的开发人员最具吸引力?是什么让它有别于其他IDE?

Wielenga:NetBeans的“开箱即用”一直是它的优势。当前版本9.0专门针对Java SE的特性而开发,因为NetBeans的其他模块仍在进行捐赠过程中。最终,NetBeans过去的所有内容都将成为未来NetBeans的一部分,只要它们符合Apache Way。

例如,基于GPL许可的东西与Apache的发布策略存在冲突,因此已经有一两个特性从发布版本中移除,比如Hibernate和JSR 295 BeansBinding。不过,虽然无法在Apache发布这些特性,但开发者仍然可以开发包含这些技术的外部插件。

目前,Apache NetBeans特别适合Java SE开发人员。不过请注意,现在可以通过注册NetBeans IDE 8.2插件中心开启其他功能——从8.2版本开始就已经实现的功能,例如用于开发JavaScript、Java/Jakarta EE、PHP和Groovy的工具。Apache NetBeans的新功能包括支持JDK 9 Jigsaw模块系统和JDK 9 JShell。它对JDK 10的支持包括用于处理JDK 10 LVTI的编辑器增强功能(即新的var语法支持),还提供了新旧var语法的转换器。

InfoQ:接下来我们聊聊新的发布周期——作为工具开发者,更快的发布周期、类文件格式的变化以及新的模型对NetBeans产生了怎样的影响?

Wielenga:或许,至少在一开始我们不会与JDK的版本数字同步。从甲骨文接管Sun的时间点开始,NetBeans版本紧随Java,也就是说,JDK 7带着NetBeans 7,JDK 8带着NetBeans,并以此类推。除了讨论Apache NetBeans社区是否必须继续支持Java而不是其他语言和技术之外,我们很难与Java的快速发布周期保持一致。

除此之外,我们也不清楚甲骨文是否仍然关心工具。Java的赞助公司没有制定任何工具战略,这在Java历史上还是第一次。相比之下,IntelliJ IDEA走的是Kotlin路线,而微软Visual Studio的目标并不在IDE上,有些人似乎认为IDE对微软来说并不重要。也许文本编辑才是未来。

Java占主导地位的一个关键原因是过去几十年来一直存在的强大的IDE。不幸的是,目前的碎片化很可能也会对Java产生影响。

由于NetBeans主要面向Java,同时也是用Java开发的,十分依赖于Java,因此NetBeans将继续在Java方向上发展。当然,史上没有完全板上钉钉的事情。如果Apache NetBeans社区决定将注意力转向PHP或Kotlin开发人员,那么就有可能调转方向。在Apache社区中,每个人都有平等投票的权力,任何公司或组织都无法预先确定Apache项目的方向。

InfoQ:各种调查显示,Java IDE市场正在被IntelliJ占领,其次是Eclipse,而NetBeans则落后于它们。你认为这是一个准确的评估吗?

Wielenga:我们需要重新考虑我们行业中的那些调查是如何进行得,这些方法存在严重问题。我觉得奇怪的是,是不是只有我们的行业会进行这种草率的调查——据我所知,自选的民意调查在所有其他领域都是不可接受的。

既然我们是程序员,也许我们应该考虑采用编程方式进行调查。以Jelastic为例,它“通过放大镜来分析引擎、应用程序服务器、数据库和插件的统计数据,以此得出哪些技术栈评级或使用率更高”,然后我们惊奇地发现“超过一半的用户(50.5%)更愿意使用NetBeans来开发他们的项目“。

地狱给那些进行草率调查的人留了位置。多年来,这些人一直在通过制造噪音来污染软件行业。

InfoQ:NetBeans的开发者社区有多大?感兴趣的Java开发人员如何参与该社区?

Wielenga:NetBeans的代码托管在Github上,我们提供了一个公共贡献者图表和一个NetBeans开发人员和用户的活动邮件列表。我们非常欢迎有兴趣成为参与者的开发人员,我们提供了多种方式可以让各个级别的开发人员参与其中

InfoQ:未来将怎样发展?NetBeans的路线图是怎样的?你认为对开发人员现在以及未来的整体影响是什么?

Wielenga:NetBeans是一个Apache项目,它的未来将由Apache NetBeans社区来决定。目前,重点是将甲骨文第二次捐赠的功能集成到Apache NetBeans主代码库中,并将其作为下一个版本的一部分。我们有一个实验性的路线图,后续还有更多的计划

对开发人员的总体影响就是他们需要参与其中。从各方面来说,我们现在都是平等的,每个人都是志愿者,我们需要每个人都参与其中。Apache NetBeans是比其他开发环境更加开放,我们遵循Apache Way,并且提供了很多令人兴奋的机会和众多参与方式。我们期待看到更多的开发人员参与进来。

InfoQ:你有其他想法或建议想与我们的读者分享吗?

Wielenga:我们现在既有好消息,也有坏消息。我们现在很自由,但随之而来的是责任。多年来,NetBeans社区抱怨它没有被认真对待,并且没有为NetBeans的路线图、方向和功能做出有意义的贡献。但现在一切皆有可能。

另一方面,现在没有人抱怨他们不了解路线图、无法参与路线图、无法获得他们想要的功能——NetBeans现在不仅是开源的,而且还开放了监管。现在是让NetBeans成为你想要的一切的时候了。欢迎随时拉取代码请求,所有关于Apache NetBeans的信息都可以在我们的主页上找到。

感谢并期待比以前更多的参与加入我们!

兼容Java 9和10的NetBeans 9现已推出。

  • 发表于:
  • 本文为 InfoQ 中文站特供稿件
  • 首发地址http://www.infoq.com/cn/news/2018/08/netbeans-apache-update-aug18
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券