我正在努力节省一些资金并开发一个适用于Windows和Mac OS的桌面应用程序。这可能吗?我们可以用C ++做,然后通过一些修复和调整,仍然可以在两个操作系统上重用相同的应用程序吗?
答案 0 :(得分:6)
是的,这是可能的。由于操作系统存在差异,因此某些代码可能会有所不同。
Google就是一个跨域开发指南,人们之前已经做过这样的事情。 :)
它可能没有关系,但仍然值得注意(因为你说“省钱”),Java和Mono Project(。Net,Qt)允许你编写技术有限的跨平台应用程序底层平台。它们是更高级别的语言,通常被认为是节省时间(但这是一个单独的讨论。)
答案 1 :(得分:2)
扩展我的评论:
不要
在便携式C ++中编写库代码;尽可能多地放置库中的功能,确保您随时学习特定于平台的API(可能是Cocoa和.NET),因此库的接口至少适合于这两者。
然后将您的库包装在本机二进制文件中;确保您注意应用程序在每个平台上的外观以及它们的感觉。
构建一个看起来像X11应用程序的应用程序,并以某种方式在Gnome应用程序,KDE应用程序,OS X应用程序和Windows应用程序之间进行操作,真的会伤害用户体验。< / p>
<强>严重强>
答案 2 :(得分:1)
这个问题得到asked a lot,另见: this question,this one和this one等。
答案 3 :(得分:0)
来到这里参加晚会!
我正处于完成跨平台商业应用程序的最后阶段(目前OS / X和Windows,后来可能是Linux或iOS)。
我们正在使用一个名为Juce的开源,跨平台C ++开发库,我不能说得太多。它的功能非常全面,代码坚固且高质量,您可以从相同的代码库中显然为Windows,OS / X,Linux,iOS和Android构建(我们只尝试过前两个,但其他开发人员是显然报告了其他平台的成功。)
特别好的是,首席开发人员在他的公告板上非常活跃,对问题报告反应非常敏捷。
此外,您可以根据GPL许可图书馆,并且他们也拥有价格合理的商业许可证。
Juce在做数字音频应用的人群中非常受欢迎 - 事实上,据我所知,很多或者大多数顶级商业数字音频应用程序都使用这个系统 - 但它功能非常全,速度非常快,应该算是顶级的任何跨平台开发应用程序的候选者。