Насколько сложно заставить приложение Какао работать в Windows? - PullRequest
26 голосов
/ 26 апреля 2009

В статье в Википедии о какао написано:

Существуют также реализации с открытым исходным кодом основных частей инфраструктуры Какао, которые позволяют создавать приложения для какао, в том числе GNUstep , Cappuccino и *. 1010 * Cocotron .

Тем не менее, когда я посмотрел, доступно ли для Mac приложение Tweetie , разработчик исключил его :

В Windows нет Какао, среды программирования, в которой создан Tweetie, поэтому такая возможность кажется плохой.

Я хотел бы получить ответ, чтобы указать разработчикам Tweetie (и как ресурс для других разработчиков какао), который бы сказал им:

  • Какая реализация наиболее подходит для запуска приложения с какао на Windows?
  • Сколько работы может потребоваться для запуска приложения под Windows?
  • Насколько легко / сложно поддерживать общую кодовую базу для Mac и Windows?
  • (какие-нибудь другие соображения, которые я пропустил?)

Конечно, если это будет слишком много работы, я бы тоже хотел об этом знать, прежде чем предлагать это и потенциально отправлять кого-то еще на бесполезный поиск.

Ответы [ 3 ]

12 голосов
/ 26 апреля 2009

Не забудьте:

  1. «Основные части каркасов Какао» - это не то же самое, что «совокупность каркасов Какао». Tweetie может использовать то, чего не хватает.
  2. Tweetie может (очень вероятно, использует) API-интерфейсы не-Какао-фреймворков, таких как Core Foundation, Core Services, Core Graphics и Core Animation. Один порт платформ Cocoa не будет включать ни один из этих API, и даже более полная инфраструктура эмуляции Mac-API не будет включать их все.
  3. Эти рамки вечно преследуют Apple. Даже если они наверстают упущенное, они сразу отстанут со следующей версии Mac OS X. Разработчики Mac уже откладывают использование новых API в новых выпусках Mac OS X, ожидая пока пользователи обновятся до этих новых выпусков; теперь вы просите atebits также дождаться, пока разработчик другой платформы снова догонит Apple.
  4. Любая вторая реализация существующего API будет иметь ошибки, которых нет в первой реализации, и наоборот. Эти различия вызовут проблемы разработки и поддержки.
  5. Вы просите atebits добавить третью платформу в приложение, которое уже существует на двух. Поддержка одной платформы - это много работы. Поддержка двух платформ - адская работа. Поддерживая три? Теперь вы попадаете на территорию большой компании.

Итак, даже с этими какао-подобными структурами ответ таков: Hard.

4 голосов
/ 26 апреля 2009

Среди GNUstep, Cappuccino и Cocotron Cocotron является единственным возможным выбором для переноса приложения Mac на Windows. Cappuccino предназначен для Интернета, а GNUstep работает только поверх Cygwin или Mingw, что означает, что графический интерфейс не похож на собственные приложения Windows.

Теоретически возможно создавать приложения для Windows с помощью Cocotron. Однако реальность такова, что его все еще очень трудно использовать, и он все еще довольно ограничен в API Какао.

Следовательно, два возможных решения:

  • Старайтесь изо всех сил удалять коды, которые не поддерживаются Cocotron в исходной базе кода, и выполняйте кросс-компиляцию. Поддерживать общую базу кода будет больно.
  • Запустить новый графический интерфейс вообще, без общей базы кода. два варианта здесь
    • Запустите кроссплатформенный проект с кросс-платформенной средой, такой как Qt или Java.
    • Запустить проект только для Windows. Здесь есть много вариантов, приложение .Net WinForm, MFC и т. Д.
1 голос
/ 26 апреля 2009

Есть Windows-компиляторы для Objective-C (язык программирования, используемый для написания приложений какао). Тем не менее, Какао включает в себя рамки для представления GUI. Эти визуальные структуры являются специфическими для Mac OS X, потому что они используют только окна OS X и другие элементы управления. Таким образом, кто-то должен будет повторно реализовать элементы управления в Какао, чтобы использовать элементы управления Windows.

Кроме того, я вполне уверен, что Tweetie использует только технологии Mac OS X, такие как Core Animation. Этого не существует в Windows, поэтому приятные анимационные эффекты, присутствующие в приложениях, должны быть реализованы совершенно другим способом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...