Сохранение унаследованного Углеродного кода в живых - PullRequest
1 голос
/ 23 декабря 2011

Apple убила Carbon для 64-битных приложений. У меня есть куча унаследованного кода, который нацелен на углеродные виджеты пользовательского интерфейса, которые я хотел бы сохранить в течение некоторого времени. Большинство из них представлены в виде плагинов и пакетов, которые должны работать 64-битно синхронно с их хост-платформой.

Выбор, который Apple, по-видимому, принимает, заключается в том, чтобы выбросить весь устаревший код и переписать с помощью какао. Это не произойдет в краткосрочной перспективе, хотя бы потому, что тот же устаревший код также привязан к привязке к ПК.

Я рассматриваю 3 варианта

(1) Погрузитесь в какао, создайте пакет совместимости, который поддерживает небольшое подмножество углерода, который мне действительно нужен.

(2) использовать Кокоатрон в качестве новой цели. В краткосрочной перспективе соединить углерод-кокотрон и, возможно, в долгосрочной перспективе превратить нативный кокосатрон как для Mac, так и для ПК. (ссылка: http://cocotron.org/)

(3) использовать QT в качестве новой цели. Смотрите вариант (2). (ссылка: http://qt.nokia.com/)

Что я действительно предпочел бы, так это четвертый вариант, такой как бутлег-копия 64-битного Углеродная бета, которую Apple убила, или пакет совместимости, явно предназначенный просто подражать углероду.

1 Ответ

6 голосов
/ 02 января 2012

Я бы порекомендовал вам выбрать вариант 1. Создание оболочки Cocoa UI для вашего кода, вероятно, не будет таким сложным, как вы думаете.Распространенным способом создания кроссплатформенного приложения является создание основной части приложения в кроссплатформенном C ++ и использование Cocoa / Objective-C ++ для пользовательского интерфейса Mac и один из API-интерфейсов Windows для пользовательского интерфейса Windows.

У этого варианта также есть преимущество в том, что он полностью поддерживается Apple, а API стабильны и зрелы.

Cocotron - хорошая идея, но на данный момент она недостаточно развита (на мой взгляд) для обеспечения надежной работы.кроссплатформенное решение.Я знаю, что с этим есть успехи, но размер выборки невелик.

Qt - вариант.Тем не менее, он страдает от очень не похожего на Mac пользовательского интерфейса.Использование приложения Qt на Mac всегда кажется быстрым портом, а не нативным приложением, и это вряд ли когда-либо изменится.

«Bootleg Carbon Runtime» - это просто фантазия, просто не существует способаполучить это работает надежно и абсолютно нет шансов распространять его.Вам нужно будет найти другой путь.

...