【问题标题】:When should I use a platform like OSGI and when it must be avoided?我什么时候应该使用像 OSGI 这样的平台,什么时候必须避免?
【发布时间】:2026-01-13 14:00:05
【问题描述】:

我的问题非常简单:应用程序的哪些特性会迫使开发人员利用类似 OSGI 的系统?什么情况下不需要这样的实用程序?

【问题讨论】:

    标签: desktop osgi


    【解决方案1】:

    我刚刚将以下链接发布到另一个问题 (What does OSGi solve),但我认为这里更合适。 Hal Hildebrand 写了一篇关于他为什么以及何时认为 OSGi 正在帮助您的开发/产品的博客。

    这篇(相当长的)帖子的核心本质在于,它在处理长期运行的复杂企业项目时尤其有用。特别是从长远来看,拥有强制结构的好处将会得到回报,但是read for yourselves

    编辑:修复断开的链接。

    【讨论】:

    【解决方案2】:

    如果你想要一些,请使用 OSGI:

    • 非常模块化的代码结构(极端情况:每次安装都有一组不同的模块/插件)
    • 启动/停止/升级模块而不停止应用程序的其余部分

    【讨论】:

    • 如果你碰巧用Java写了一个Web浏览器,你会用OSGI吗?
    • @Bubba88 作为一个技术人员,约束一般是给我的,我在工作中不会选择它们。如果我写这个是为了好玩,我可以选择;那么我会根据“我想学习OSGI吗?”来选择。所以我的回答是是的,因为 OSGI 是一项非常有前途的技术,已经被广泛采用。
    • @Bubba88 - 是的,OSGi 非常适合 Web 浏览器!浏览器需要一个可扩展的架构,并支持稍后可能由第三方提供的插件;这正是 OSGi 为您提供的。