惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Jina AI
Jina AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 三生石上(FineUI控件)
博客园 - 【当耐特】
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
宝玉的分享
宝玉的分享
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
Apple Machine Learning Research
Apple Machine Learning Research
酷 壳 – CoolShell
酷 壳 – CoolShell
阮一峰的网络日志
阮一峰的网络日志
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
小众软件
小众软件
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
S
SegmentFault 最新的问题
博客园 - Franky
博客园_首页
T
Tailwind CSS Blog
雷峰网
雷峰网
罗磊的独立博客

博客园 - Allen Young

如何使用Eclipse中对Web Browser的支持 从流氓说开去 小试org.eclipse.jface.dialogs.TitleAreaDialog 如何在SWT中使鼠标的状态变成忙碌 如何在Eclipse PDE的Error Log View中显示自己的Log 如何在自己编写的Plugin中使用第三方jar 如何在程序中设置Hibernate Configuration的Property 在线IM工具,我们能够信任你吗? Comet: Low Latency Data for the Browser 顾城 - 我是一个任性的孩子 Links for 2006/8/14 在Liferay Portal中使用DWR Links for 2006/8/9 What's new in Spring 2.0? 也谈“轮子理论” 后续 也谈“轮子理论” 道德的起源 What's New in Eclipse 3.2 Java Development Tools Ten things programmers might want to know about marketers
Callisto的闹剧
Allen Young · 2006-06-29 · via 博客园 - Allen Young

看看Eclipse主页上闪烁的图片吧,Callisto is coming in 1 day!于是有许多人开始欣喜若狂了,甚至高呼这种按时发布是敏捷开发的伟大成果。我不知道按时发布是否真的和敏捷开发有关,在这里我也不像讨论这个东西。我想说的是,为什么Callisto这个东西会让大家如此着迷?

让我们先来看看Callisto是用来做什么的。Callisto的主页上面说:“Callisto的目的是通过提供一个更透明的可估算的开发周期提高在Eclipse框架上层工作的开发者的生产力。通过一次性发布10个项目,除去版本兼容的不确定性,并使得在开发环境中使用多个插件变得更简单。”看了这段文字,我想大家都会问这样的问题:为什么版本兼容会有不确定性?为什么使用多个插件不简单?

凡是使用过Eclipse的朋友们都应该有过这样的经历,为了安装一个插件,把自己原有的Eclipse中的插件搞得面目全非。好一点的情况是,当你需要安装一个插件A的时候,它要求你安装插件B,于是你就要去下载B这个东东;更糟糕的情况是,插件A依赖于B的1.0版本,而插件C依赖与B的1.1版本,如果想要同时使用A和B,该怎么办呢?Callisto看上去就是要解决这些问题。但是我们必须考虑这样一个问题,为什么会有这种不兼容性妨碍我们对插件的使用?最根本的原因在于Eclipse和它的核心插件的设计有问题。这个问题就是,对于Eclipse平台来说,并没有一个通用的schema来定义和约束所有的事情。于是我们可以看到EMF和GEF之间的重叠与矛盾,更看到了GMF的出现,一个即和EMF重叠又和GEF重叠,而且不能直接与它们交互的怪胎。

Eclipse平台自身的问题是无法通过发布类似于Callisto这样的插件能解决的,唯一的解决方法就是重新规划整个Eclipse平台。你们也许会说这是不可能的。但是看看Eclipse的发展过程吧,从2.1版本一直到现在的3.2版本,在哪个版本中没出现很大的变化呢?哪两个版本有很好的兼容性呢?为3.0版本开发的插件,不能在3.1版本上正确运行,这是太司空见惯的事情了,以至于IBM WebSphere和Rational系列的那么多产品还在使用Eclipse3.0平台,可怜我的内存啊!Eclipse自身版本的兼容性给IBM自己都造成了如此大的问题,更何况我们呢?我更希望Eclipse可以彻底改头换面,反正它的API从来就没有稳定过。但是IBM会愿意这么做吗?当然不会!它的那么多产品还要靠这个吃饭呢!IBM是商人,不是慈善机构。

因此,使用Eclipse的朋友们,做好准备去面对这些丑陋的兼容性问题吧。让我们看看最糟糕的情况:插件A依赖于插件B的1.0版本,插件C依赖于插件B的1.1版本,插件B的1.0版本只能装在

Eclipse3.0上,1.1版本只能装在Eclipse3.1上。除了骂娘,我们还能做什么?

posted on 2006-06-29 15:04  Allen Young  阅读(451)  评论()    收藏  举报