计划使用OSGi重构swing_designer
和一个朋友聊天时谈到了OSGi,突然觉得swing_designer这个项目是最适合用OSGi模式开发的。这个项目里存在很多适合component和service的模型,因此打算把这个项目改造成OSGi架构的。今天仔细阅读了一遍OSGi R4的规范,发现其DS是比较适合这个项目的。由于之前在设计这个系统时就有意的做好了各种分割,接口设计的也比较合理,粗略估计了一下,代码修改改不会太多。重构好了之后的swing_designer应该是一个能使用OSGi插件机制方便的扩充平台,不仅仅能扩充自定义组件,还能扩充自定义布局管理器、自定义border、自定义属性编辑器等。
其实OSGi的确是一个不错的技术标准,希望Sun能给OSGi在Java更高的地位。一直以来人们都认为OSGi和Sun的对立,就像Eclipse同NetBeans的对立一样尖锐。但根据我所了解的情况,Sun并没有敌视OSGi,只是对于在Java中纳入OSGi的态度过于谨慎。我觉得Sun肯定是要最后完全纳入OSGi的,问题就是速度问题。Sun在JSR 277和JSR 291的意思应该解释为,不赞同在JVM一个级别支持OSGi,但愿意在更高应用层支持OSGi。在Sun看来,JSR 277存在层次比OSGi更低,它可以为JSR 291所提的OSGi标准提供更好的支持。而在更低层次支持OSGi一方面存在技术上的原因,另一方面会忽略了其他技术的支持。总之一句话,JSR 277和JSR 291不存在像OSGi拥护者想像的那种激烈竞争关系,而是相辅相成的关系,他们存在于不同的层面,JSR 277为OSGi的实现提供底层支持。这一点就连JSR 291的专家组组长也是这么认为的。当然我希望JSR 277和JSR 291能够更好的沟通,避免不必要的重叠和竞争设计。
关于JSR 277和OSGi之争,我觉得最好搁置,求同存异,毕竟将OSGi这种高层标准放到JVM层来实现的确不合适。希望这两个JSR能较好的处理好两者的关系,不要让他们形成竞争关系,而应该使他们成为合作关系。
以前经常看到OSGi这个术语但是一直不知道是什么意思
今天看到楼主对OSGi有如此之高的赞誉,我得去研究研究了!
:-)
发表于 小虫 在 2007年11月06日, 09:54 下午 CST #
楼主精通 swing 外,还精通什么;我的意思是:以swing为中心的,还需要什么辅助技术?
发表于 crystalK 在 2007年11月06日, 10:21 下午 CST #
to crystalK
在我看来,楼主好像没有什么不精通!!!
可以肯定的是对OS非常精通
:)
发表于 222.95.20.153 在 2007年11月06日, 11:34 下午 CST #
楼上实在过誉了,很多东西我都不懂。在Java上只是学习和使用的时间比一般人长些有些领悟罢了。卖油翁而已。
发表于 William Chen 在 2007年11月07日, 10:26 上午 CST #
OSGI,我的理解是一个很优秀的Framework。
我对framework的理解是:解决某一特性领域中共通问题的标准化模型,它建立在设计模式这个广义范畴之上,是其的一个具体实现。
使用framework带来的好处我觉得有2点,提高开发效率,减少错误出现。但是如前面所说的,framework能解决共通,但设计框架的人很难做到面面俱到,所以framework会带来很多限制。
和同事聊天时他说到,“framework是为懒人设计的”,我觉得不能说没道理,程序员完全可以用 道德 来维护代码的结构,健壮性。所以有些人不提倡使用框架。其实这也不足为奇,现在仍然有很多骨灰级程序员用Edit-plus做coding,直接用JDBC访问数据库。
不知道LZ有什么观点。
发表于 电玩 在 2007年11月07日, 10:56 上午 CST #
framework可以说是为懒人做的,不过你想想看科学技术提高了人类的生产效率,把人类从繁重的体力劳动解放出来,是不是也是“为懒人”的做法呢?
“为懒人”是科学发展的原动力之一。如果你不使用“为懒人”这句话想,而是使用“提高生产效率”方面想,不就是积极的吗?
OSGi不仅仅是框架,更重要的是一套规范,一套开发模式,使用它能提升程序员本身的模式设计理念,它是软件开发的框架,而不是一种技术框架,说的抽象些,是方法论,具有
指导意义。它指导了程序员往良好的开发习惯上走,而不是叫程序员莫名奇妙的实现某些接口,采用某些具体步骤来部署等。这是OSGi区别于一般的框架的地方,它包含了模块化
、组件化软件开发的思想。
不提倡使用框架和完全依赖框架都不是正确的,老祖宗的中庸之道还是非常正确的。不提倡使用框架的人,如果他是高手,最终他要发明一套自己的框架来提高他的生产效率,而他发
明的这些框架很可能就是已经存在的框架,何不拿来用呢。当然我们反对对第三方框架的过分依赖,使用别人的优秀框架,最好能在熟悉了解这种框架工作原理进行,最好能掌控框架
,然后为自己所用。而不是只知道1、2、3按照人家的文档来做,而不理解问什么这样做。
使用别人框架应该像鲁迅先生所说的拿来主义那样,有分析、有区别、有消化的使用,最好能转化成为自己的一部分。
发表于 William Chen 在 2007年11月07日, 11:25 上午 CST #
hi,前辈。您的回复我看了,我对您提到的工具很感兴趣。
但是少安毋躁,待我将有关布局管理器 和 xml配置组件的帖子发表后咱们再进一步讨论。如何。
发表于 电玩 在 2007年11月08日, 10:24 上午 CST #
电玩,
我只是提个想法,不一定就去实现啊。我觉得这个想法还是挺有现实意义的,能够更容易让人们改变对Swing的看法。以后讨论,我现在也很忙。
发表于 WilliamChen 在 2007年11月08日, 02:21 下午 CST #