【发布时间】:2011-04-03 06:30:53
【问题描述】:
我正在为新的硬件设备编写软件,我希望任何类型的新第三方应用程序都能够访问它。
该软件将是一个本机进程 (C++),应该可以被想要支持硬件设备的第 3 方游戏和应用程序轮询。这些第 3 方应用程序还应该能够在订阅的基础上接收来自本机进程的事件。因此,除了本机进程之外,我还将为第 3 方开发人员提供“连接器”库,用于他们可能选择的所有平台/语言(Java、C++、Python 等)嵌入到他们的应用程序中,以便他们可以轻松连接到设备几乎不需要他们编写任何额外的代码。我想针对所有台式机/笔记本电脑操作系统平台,并且对我想要公开的功能有一个很好的了解,但理想情况下我不想太卡住(即我希望它可以从客户端和服务器优雅地扩展观点)。
我正在寻找未来的可靠性、性能、可维护性,以及跨平台/语言的灵活性,以及易于开发,按此顺序。
我应该使用什么?
CORBA、MessagePack-RPC、Thrift 还是其他?
(由于许可,我省略了 ICE)
【问题讨论】:
-
CORBA 是古老的。它也是重量级和过时的。几乎可以肯定有更好的解决方案。
-
skaffman,古代、重量级和过时的形容词根本不会让我失望。每个 ORB 的内存量只有几兆字节,这对于嵌入式来说可能很糟糕,但对于台式计算机来说绝对没问题,而且性能很快。我关心的是性能速度、跨平台灵活性、易于开发、可维护性和未来的可靠性。只要它在这些部门中总体上是最好的,其他人对此有何“想法”并不重要,也不必是“最新时尚”,它就会赢。我只是想知道这是否最适合我正在做的事情。
-
-
也感谢您的回答,我已经编辑了问题。谢谢。
-
这不是 stackoverflow 的真正问题。您可以使任何这些技术发挥作用。这个问题太主观了。对你最好的东西可能对其他人不是最好的。您需要做的是做一些功课并尝试其中的每一项,然后自己判断最适合您的应用程序的方法。
标签: cross-platform rpc corba thrift interprocess