保持传统碳代码的活力

ddy*_*yer 1 64-bit cocoa macos-carbon osx-snow-leopard

Apple为64位应用程序杀死了Carbon.我有一堆遗留代码,针对碳UI小部件,我想保持一段时间.其中大多数是插件和捆绑包的形式,必须与他们的主机平台同步64位.

Apple似乎假设的选择是抛弃所有遗留代码并使用Cocoa重写.它不会在短期内发生,只是因为相同的遗留代码也与PC绑定相关联.

我正在考虑3个选项

(1)潜入可可,创建一个兼容包,支持我实际需要的一小部分碳.

(2)使用Cocoatron作为新目标.在短期运行的碳桥到cocotron,并且可能在较长时间内转换为mac和pc的原生cocoa.(参考:http://cocotron.org/)

(3)使用QT作为新目标.见选项(2).(参考:http://qt.nokia.com/)

我真正喜欢的是第四种选择,例如Apple杀死的64位Carbon beta的盗版副本,或明确仅用于模拟碳的兼容性软件包.

Rob*_*ger 6

我建议你选择选项1.为你的代码创建一个Cocoa UI包装器可能不会像你想象的那么复杂.创建跨平台应用程序的常用方法是在跨平台C++中创建大量应用程序,并为Mac UI使用Cocoa/Objective-C++,为Windows UI使用Windows API之一.

此选项还具有Apple完全支持的优点,并且API稳定且成熟.

Cocotron是一个不错的主意,但截至目前,我(在我看来)还不够成熟,无法提供强大的跨平台解决方案.我知道它有成功但样本量很小.

Qt是一个选择.然而,它遭受了非常类似Mac的用户界面.在Mac上使用Qt应用程序总是感觉像一个快速端口而不是本机应用程序,这不太可能改变.

"盗版碳运行时"只是一个幻想,根本没有办法让它可靠地工作,绝对没有机会分发它.你需要找到另一种方式.