首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨平台开发

跨平台开发
EN

Stack Overflow用户
提问于 2009-02-25 19:41:46
回答 9查看 1.5K关注 0票数 8

我有关于真正的跨平台开发的问题,以及是否可以使用一个平台来开发软件。

我写了几个应用程序,可以在OS X、Windows和Linux上运行。它们都使用原生平台工具包和一些跨平台的共享源代码。我必须引导到每个平台,签出,编译等。

我过去曾尝试过像QT这样的GUI工具包(我为Win,mac,Linus购买了商业许可,但非常昂贵,而且年复一年地支付变得很困难)。我尝试过WxWidgets,但开发进展缓慢。

所以我在想的是,有一种方法可以运行单一平台,并为其他平台交叉编译,这样我就可以从单一平台构建我的产品。

我喜欢OS X,有没有一种方法可以在OS X上为OS X,Windows,Linux写应用程序,我只需要在每个平台上分别测试。我找到了关于交叉编译器、存根编译等的信息。

有谁有什么想法吗?这有可能吗?创造这样的野兽会让人发大财吗?

EN

回答 9

Stack Overflow用户

发布于 2009-05-27 22:32:23

在我的公司,我们使用Mozilla Framework来开发跨平台的字典产品。这些应用程序是基于Gecko/Necko浏览器的,大多数开发都是通过Javascript、HTML、CSS、XSL、XUL等完成的。当然,我们的自制搜索引擎必须在三个平台上交叉编译(与一些其他代码一起,这些代码首先是用JS完成的,然后为了速度的原因移植到moz的C++上)。

最后,我们有了一个合理的跨平台解决方案:我们的开发人员大多像高级web开发人员一样工作(同时考虑客户端和服务器端)。因为Gecko在三个平台上是相同的,我们知道可以预见它的外观和行为都是一样的(除了有but的时候,但从这个角度来看,这个平台现在已经相当成熟了)。

我们的研发人员知道如何将缓慢的javascript代码移植到相当快速的可移植C++代码中(您可以使用NSPR库,一个跨平台库来编写Mozilla代码)。测试总是要在三个平台上完成,尽管随着时间的推移和经验的积累,你会知道什么会在哪里崩溃(字体支持,音频支持,Flash支持)……

今天,你可能应该看看XULRunner,它实际上是没有任何真正浏览器界面的Mozilla (在2002年,我们不得不拆卸Mozilla浏览器,将它重新刷成我们的第一个产品的颜色)。当然,对于简单的应用程序来说,它工作得很好,但是如果你想制作OpenGL、3D音频和其他漂亮的东西,XULRunner就显得太有限了。

我相信暴雪有一些跨平台的框架来处理这类事情。:)

祝好运!

皮埃尔。

票数 8
EN

Stack Overflow用户

发布于 2009-02-25 19:55:43

尝试在单个平台上开发将在多个平台上使用的应用程序不是一种好方法。在最好的情况下,您将使应用程序对您开发时未针对的平台的用户感到陌生。

更有可能的是,你会在你从未见过的地方遇到微妙的兼容性问题。如果你想走这条路,Java可能是最好的选择。交叉编译将导致自动生成的代码,这将是调试和维护的噩梦。

当然,在某些情况下,您可以使用工具进行移植,但我不认为这是一个问题,一般情况下,您可以为其提供自动化解决方案。

票数 3
EN

Stack Overflow用户

发布于 2009-02-25 19:51:31

老实说,一次性构建跨平台的应用程序的唯一保证方法是使用Java,但它需要先安装相当大的运行时。

然而,如果这不是一个选择,我建议关注Qt的最新发展-它现在(或应该很快就会)在LGPL下可用,这可能意味着你不再需要为它付费了。我发现,在不同的平台上交叉编译时,使用Qt的GCC效果很好,只要你只使用Qt的类/代码/对象,并确保你创建或使用的任何非Qt代码都能够跨平台编译。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/587497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档