3

我正在为移动设备开发应用程序。我从来没有为 OSGi 开发过,现在,我正在考虑开始使用它。

我读过很多关于在手机上使用 OSGi 的文章,据说它可以在 J2ME、Symbian、Windows Mobile、Android 上运行……但在我看来,目前似乎没有人在那里使用它。

我真的很想利用 OSGi 的许多好处,但我知道没有它我也能做到。而且我不想排除任何无法在手机上使用 OSGi 或者必须通过复杂的设置过程使他们的手机为 OSGi 做好准备的用户。

而且我简直不敢相信那些便宜的 J2ME 手机中的大多数都可以运行像 OSGi 这样复杂的东西。不是在谈论 1000 美元的智能手机,而是在谈论您可以从索尼爱立信以 100 美元(公平地说是 200 美元)购买的那些消费设备。

移动 OSGi 现在是真正的替代品,还是只是未来使用的一个很好的前景?

编辑: 到目前为止,只有一个答案,它表明我们离使用移动 OSGi 还很远。但对我来说,一个答案是做出重要决定的依据很少,所以我希望赏金能吸引更多读者。

如果没有更多的答案出现,那么这表明没有人有移动 OSGi 的经验,然后我会得出结论,我不想成为第一个探索它的人。通常我喜欢尝试新技术,但这次押错马是至关重要的。

4

5 回答 5

3

您没有得到答案的原因可能是因为 OSGi Mobile 还没有为现实世界做好准备。更要命的是,这件事公布了3年多,还没跟上,好像大家都忘记了。这与 MIDP 3.0 类似,每个人都在等待。

据我了解,OSGi 承诺为移动设备提供 CDC 配置,允许它们使用像 Swing 这样的丰富框架。它还将解除 MIDP 配置文件施加的一些限制,最重要的是,它将允许用户通过无线方式下载和安装插件。

您现在需要考虑所有这些如何适应当前的市场状况。我们现在有很多智能手机平台(iPhone、Windows Mobile、Symbian)。这些都是关键参与者,当然他们希望人们更喜欢本机应用程序而不是 Java 应用程序。事实上,Apple 到目前为止已经禁止 iPhone 上的 Java 或任何其他 VM 应用程序。但是,即使制造商没有这样做,我认为客户自己也不会更喜欢更丰富和更强大的本机应用程序的任何风格的 Java 应用程序。Java 移动应用程序在几年前还很有意义,但如今它们似乎已成为过去。

当然有人会争辩说,Sun 不想放弃移动 Java,它已部署在数十亿台设备中,并且会做一些事情来重振它。好吧,他们实际上做了一些事情,这就是JavaFX mobile

所以在我看来,OSGi mobile 被排除在现在和未来之外。

于 2009-03-17T12:52:44.840 回答
3

没有理由不应该这样做。OSGi 作为一个框架,bundle 定义和依赖管理都比较紧凑。那么重要的是由 OSGi 标准定义的标准服务。但是,它们不是框架正常运行所必需的。

尽管 OSGi mobile 可能还没有出现,但没有理由不使用专为小型设备设计的 OSGi 平台。一个例子是来自http://www.buglabs.net/的 BUG 。他们使用专为小型设备设计的 concierge OSGi 实现 ( http://concierge.sourceforge.net/ )。

根据 concierge 项目页面:“Concierge 是一个优化的 OSGi R3 框架实现,文件占用空间约为 80 kBytes。这使其成为移动或嵌入式设备的理想选择。”。concierge 项目页面还提供了经过测试的平台列表,参见:http ://concierge.sourceforge.net/platforms/index.html

在我看来,它现在已经是一种替代方案。

于 2009-03-17T21:53:05.550 回答
0

我们离那里还很远,但我完全同意它需要添加到任何地方的手机中。

至少,未来的移动虚拟机正朝着这个方向发展。

所以,现在:不可能。未来:没有人可以说,但那会很棒,实际上很有意义。

于 2009-03-11T19:20:45.037 回答
0

抱歉,我不知道这个论坛,所以我之前没有看到这个问题。Mobile OSGi 是活生生的,并且已经由 Sprint 在其 winmobile 设备上发布,并且很快将用于 sprint 产品组合中的其他设备。Sprint 还为任何 winmobile 6.0 手机发布了 Open eval 版本,即使它不在 sprints 网络上。移动 OSGi 提供了移动领域其他任何地方都没有的功能。您可以在 OSGi 中运行完全可管理的 Java Web/App 服务器(来 javaone 并查看演示)。并且可以创建富互联网应用程序,这些应用程序使用设备上的浏览器连接到设备上的服务器,我们称之为富移动网络模式。与 android 不同,它完全可以远程管理。并且不像 iphone 完全打开。它确实需要移动强大的 Java CDC VM 作为基础,因此它不会一直运行到低端设备,但在中段和上段会很好。它也是唯一可以跨操作系统运行的应用程序框架。它是完整的 OSGi r4 meg 堆栈,它为移动设备带来了与 glassfish、oracle 服务器、websphere、springsource 等中使用的 OSGi 相同的功能。这是唯一的移动解决方案,这不是一些独特的移动黑客,而是从玻璃房服务器到云边缘的相同技术。查看 developer.sprint.com/titan Jon Bostrom MobiNoir 咨询总裁 移动 Java 之父 这是唯一的移动解决方案,这不是一些独特的移动黑客,而是从玻璃房服务器到云边缘的相同技术。查看 developer.sprint.com/titan Jon Bostrom MobiNoir 咨询总裁 移动 Java 之父 这是唯一的移动解决方案,这不是一些独特的移动黑客,而是从玻璃房服务器到云边缘的相同技术。查看 developer.sprint.com/titan Jon Bostrom MobiNoir 咨询总裁 移动 Java 之父

于 2009-04-30T16:13:47.020 回答
0

坏消息:作为应用程序开发人员,世界上没有任何技术可以用来开发可以在任何地方运行的应用程序,因此要么将自己限制在一个平台上,要么多次重写应用程序。

好消息:OSGi 已经可用于 4 个平台(Win Mobile、Android、Nokia、Brew),还有什么其他平台可以覆盖?

关于为什么需要 OSGi 的好文章:http ://www.pikesoft.com/blog/index.php?itemid=220

就市场渗透而言,是的,它尚未普遍部署,我理解对于应用程序开发人员(通常不希望将平台与他的应用程序一起部署)这是一个限制。然而,正如乔恩所说,今年美国开始大规模部署,其他部署也将紧随其后。忍受这项技术!

于 2009-04-30T16:23:00.070 回答