Я разрабатываю приложения с графическим интерфейсом для Mac. Я использую C ++ более 10 лет. Нужно ли переходить на цель C? - PullRequest
5 голосов
/ 21 января 2010

Я программирую на C ++ / Linux уже более 10 лет.

Я переключаюсь на разработку Mac.

Моя разработка включает компоненты GUI.

Является ли я единственным выбором для изучения Какао / Objective-C или есть способ обернуть Какао и использовать его из земли C ++?

Спасибо!

Ответы [ 7 ]

9 голосов
/ 21 января 2010

Да, вам нужно выучить Objective-C. Кроме того, вы бы не получили много, если бы вам это не нужно. Трудно выучить не язык, а фреймворк Cocoa (не потому, что он сложен по своей сути, а потому, что он такой огромный).

8 голосов
/ 21 января 2010

Вы можете использовать углерод, но это устарело.

Как говорит Оле, Objective-C несложно выучить, если у вас есть опыт работы с C ++ - и вы можете смешивать языки, если используете Objective-C ++ (что может быть полезно, но обычно лучше всего разбивать код, который использует разные языки - так что используйте Objective-C / Cocoa для уровня GUI и C ++ для логики ядра. Я делаю это таким образом в моей игре для iPhone, vConqr ).

Если вы работали с графическим интерфейсом в C ++, я думаю, вы поймете, почему Objective-C был выбран для Какао. Это очень хорошо для событийно-ориентированных проектов и имеет ряд абстракций, которые естественно подходят. Однако, когда вы перейдете в более абстрактные области, особенно если вы используете много контейнеров и алгоритмов, вы, вероятно, начнете находить ограничения немного раздражающими. Но дайте время - есть и другие полезные абстракции, которые не сразу очевидны (динамическая типизация, кодирование ключа / значения и другие формы отражения, категории ...).

Вы также можете найти этот вопрос о стеке полезным.

3 голосов
/ 21 января 2010

Нет, я не думаю, что вам нужно изучать Objective-C. Вы можете использовать каркас Qt для разработки приложений на Mac с использованием C ++.

1 голос
/ 21 января 2010

Если вы собираетесь работать только с приложениями Mac, изучите Objective-C и платформы Cocoa. Приложения какао могут использовать новые функции «бесплатно» в новых версиях Mac OS X и будут более ориентированы на будущее, чем кросс-платформенная среда приложений, такая как Qt.

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

Довольно скоро вы будете так же разочарованы Xcode, как и все мы.

0 голосов
/ 21 января 2010

Чтобы использовать нативные библиотеки GUI, вы также можете использовать Python (PyObjC). Java также может создавать приложения в OS X.

0 голосов
/ 21 января 2010

Как уже упоминалось в нескольких других ответах, существует несколько кроссплатформенных библиотек с графическим интерфейсом, которые поддерживают Mac. Такие как Qt и WxWindows. Вы можете использовать любой из них, лично я использовал только Qt, и мне было довольно приятно работать с ним после использования инструментов Java и C.

0 голосов
/ 21 января 2010

Я использую WxWindows на Mac для разработки инструментов. Потребовалось немного поработать, но я получил мой c ++ конвейер на основе Jam, который я использую на окнах, которые работают отлично. Единственное, что вам нужно помнить, чтобы все это работало правильно, - это создавать правильные правила для приложения ... легко начать работать как правило для застревания.

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