Why Eclipse Jolts的原因介绍
Why Eclipse Jolts的原因介绍
(透明思考:http://gigix.blogdriver.com)
十年之前,IDE都是一个奢侈品;十年之后,易用的界面、强大的功能、飞快的速度已经不再能够触动Jolt奖评委们的眼球。现在的IDE应该带给人们一些更多的东西——更多的边际价值,这是JBuilder和Visual Studio们逐渐淡出Jolt视野的原因:它们提供的东西仍然很棒,但是已经不足以令人震撼。
Eclipse首先是一个功能强大的IDE。单就IDE(准确说,JDT)而言,它与JBuilder算是各擅胜常在某些方面(例如对JSP和EJB的支持),JDT本身不如JBuilder,所以很多人对Eclipse持怀疑的态度。
Martin Fowler说软件开发的两种态度(http://martinfowler.com/bliki/SoftwareDevelopmentAttitude.html)。大多数IDE选择了Directing Attitude,也就是说,在一个all-in-one的环境里提供用户需要的一切功能。如果你有新的需要,请告诉Borland,我们会考虑在下一个版本中加上一个feature——当然,也有可能不睬你,因为你的需要太偏门。但Eclipse选择了Enabling Attitude:它提供你一个开放的平台、一个平等参与的机会,以及一些需要遵守的总体规则,然后你可以尽情挥洒自己的才情,以Eclipse开发者们都想不到的方式来使用Eclipse。如果你有新的需要,不用客气,自己做个plug-in好了,那将是对整个Eclipse社群的贡献。
Eclipse每一部分的规划和设计都遵循三个重要原则:
- 邀请法则(Invitation Rule):只要可能,尽量邀请别人在你作品的基础上继续作出贡献。
- 公平竞赛法则(Fair Play Rule):对于一项功能,所有使用者遵守同一套规则,包括这功能的作者本人。
- 整合法则(Integration Rule):新的功能应该尽量与既有环境整合,提供统一的用户体验,而不要显得格格不入。
这三条法则保证整个Eclipse平台以一种“自由城邦”的方式生长,并且始终提供熟悉而一致的用户体验。实际上,大多数Eclipse的抱怨者仅仅是没有充分利用其他人的贡献。譬如JSP和EJB,Lomboz(http://sourceforge.net/projects/lomboz)已经提供了很好的支持。我甚至曾经找到过一个用于可视化开发JSR-168兼容的portlet的plug-in,相信这是其他任何一款IDE都不可能提供的。这是只有在Open Source社群才会出现的奇景。
另外,Eclipse的“微核心+插件”机制实际上为开发者提供了很多的可能性,唯一的局限只是你的想象力。譬如说,可以把整个Eclipse workbench作为desktop application的GUI基础,在上面开发自己的业务功能。甚至于,如果你不喜欢SWT,可以把Eclipse作为一个组件容器,把workspace作为资源容器,从这里开始做自己的GUI。
Enabling Attitude需要使用者具有相当的主观能动性——Eclipse提供你基本的功能和扩展的手段,你需要发挥自己的想象力和技术,与全世界的社群协作,把Eclipse变成你所喜欢的样子。如果你仅仅想要一个IDE,如果你不愿意在这里动脑筋,如果你没兴趣在这个开放的环境中施展技艺,那么你不需要Enabling Attitude也不需要Eclipse,JBuilder或许是更好的选择。