我对真正的跨平台开发有疑问,是否有可能使用ONE平台开发软件.
我在OS X,Windows和Linux上编写了一些应用程序.它们都使用本机平台工具包和跨平台的一些共享源.我必须启动到每个平台,结帐,编译等.
我过去曾尝试过像QT这样的GUI工具包(我为Win,mac,Linus买了一个商业许可证,但非常昂贵并且年复一年地付钱变得很难).我试过WxWidgets,开发进展缓慢.
所以我在想的是有一种方法可以运行单个平台并为其他平台交叉编译,这样我就可以从一个平台构建我的产品.
我喜欢OS X,有没有办法从OS X为OS X,Windows,Linux编写应用程序,我只需要分别在每个平台上进行测试.我找到了关于交叉编译器,存根编译等的信息等.
有人有想法吗?这甚至可能吗?有人会杀人造成这样的野兽吗?
在我的公司,我们使用Mozilla Framework开发跨平台字典产品.这些应用程序基于Gecko/Necko浏览器,大部分开发都是通过Javascript,HTML,CSS,XSL,XUL,...当然,我们的自制搜索引擎必须交叉编译到三个平台(有一些其他代码首先在JS中完成,然后由于速度原因移植到moz'C++中.
最后,我们有一个合理的跨平台解决方案:我们的开发人员大多数都像强大的Web开发人员(同时考虑客户端和服务器端).因为Gecko在三个平台上是相同的,我们知道它可以预测的外观和行为方式相同(除非存在错误,但平台现在在这个观点上相当成熟).
我们的研发部门知道如何将缓慢的javascript代码移植到相当快速的可移植C++代码中(使用NSPR库(一个跨平台的lib)执行Mozilla代码).测试总是在三个平台上完成,但是,虽然有时间和经验,但你会知道什么会破坏(字体支持,音频支持,Flash支持)......
今天,您应该看看XULRunner,它实际上是没有任何真正浏览器界面的Mozilla(在2002年,我们不得不拆除Mozilla浏览器以我们的第一个产品颜色重新绘制它).当然,它适用于简单的应用程序,但如果你想制作OpenGL,3D音频和其他漂亮的东西,XULRunner将显得有限.
我相信暴雪有一些跨平台的框架用于那种事情...... :)
祝好运!
皮埃尔.