使用 Xojo 进行跨平台开发有哪些妥协?

SMG*_*eld 0 c++ windows macos cross-platform xojo

许多关于 SO 的跨平台开发主题似乎已有 6 到 9 年的历史了。有人最近有 Xojo 的经验吗?它可以用来在 macOS 和 Windows 上的 C++ 生成的链接库之上快速部署 UI 吗?这在 iOS 上如何运作?这个工具有什么限制?

Tho*_*ann 5

我没有使用 Xojo 进行 iOS 部署的经验,但在很多 x 平台项目(Mac/Win/Linux)中使用了 Xojo,在这些项目中我还访问了自己编写的 C 代码,例如在iBored中。

总的来说,与 Qt 或 Java 相比,我更喜欢 Xojo 来设计和部署带有 GUI 的应用程序。恕我直言,Xojo 更接近 UI 细节。然而,由于社区相当小,您将很难找到帮助。

要访问 C++ 代码,您需要自己编写一个 C 级层,因为 Xojo 没有提供链接和使用 C++ 对象的简单方法。但是在任何库(.dylib、.dll、.so)中连接普通函数都非常简单,主要涉及编写函数声明的 Xojo 等效项,并且还可能添加一些结构定义。您可以传递所有简单的数据类型(所有大小的 Int、float、double、C 和 Pascal 字符串,甚至通过指针访问原始内存),但必须为更复杂的数据结构(数组、字典等)提供访问器函数,如 Xojo 的对象管理不会与 C++ 或其他运行时的对象管理混合。

Xojo 已经存在近 20 年了(以前称为 REALbasic),并且足够好,值得依赖。

OTOH,Xojo 是闭源的,该公司解决问题的速度相当慢(甚至无法/不愿意)——而且显然,你自己也无法解决它们。我遇到过不止一个案例,我想出了如何修复他们的二进制代码中的错误,但他们想要禁止我这样做,威胁要使我的许可证失效,同时也不承诺提供修复。如果这让您担心,我建议您远离 Xojo。