Я кодировал на C++ / Linux для 10 + годы.
Я переключаюсь, чтобы сделать разработку Mac.
Моя разработка включает компоненты графического интерфейса пользователя.
Мой единственный выбор состоит в том, чтобы изучить Cocoa/Objective-C или является там способом перенести Какао и использовать его от земли C++?
Спасибо!
Да, тебе нужно выучить Объектив-С. Кроме того, вы не получили бы многого, если бы не было необходимости. Трудно выучить не язык, а каркас какао (не потому что он по своей природе тяжелый, а потому что он такой огромный).
Вы можете использовать углерод, но это устарело.
Как говорит OLE, OLE OLECTIVE-C не сложно узнать, если у вас есть фона C ++ - и вы можете смешать языки, если вы используете Objective-C ++ (что может быть полезно, но обычно лучше всего разговаривать код, который использует разные Языки - так используйте Objective-C / Cocoa для уровня GUI и C ++ для основной логики. Я делаю это таким образом в моей игре iPhone VConqr ).
Если вы сделали работу GUI в C ++, я думаю, вы оцените, почему Objective-C была выбрана для какао. Очень приятно для ведомых событий дизайна и имеет ряд абстракций, которые являются естественными посадкой. Когда вы попадаете в более абстрактные области, однако, особенно если вы используете много контейнеров и алгоритмов, вы, вероятно, начнуте найти ограничения немного раздражающим. Но дайте время - есть и другие полезные абстракции, которые не сразу очевидно (динамическое набрав, кодирование ключа / значения и другие формы отражения, категории ...).
Вы также можете найти этот вопрос этот вопрос полезно.
Нет, я не думаю, что вам нужно выучить цель - c. Вы можете использовать QT Framework для разработки приложений на Mac, используя C ++.
Если вы собираетесь работать только на Mac Apps, затем изучите Objective-C и каркасы какао. Приложения Cocoa могут забрать новые функции «бесплатно» в более новых выпусках Mac OS X и будут более непродовольственными, чем в будущее, чем перекрестная платформа, такая как Qt.
Существует так много аспектов к какао-каркасам (коллективно), что вам будет наилучшим образом, придерживаясь собственной структуры приложения для обслуживания ваших клиентов (конечных пользователей). Это действительно то, что важно, а не краткосрочные неудобства изучения нового языка или структуры (которые поставляются с работой, адаптироваться или умереть).
Довольно скоро вы будете разочарованы XCode как остальные из нас.
Я использую WxWindows на Mac для разработки своих инструментов. Немного поработал, но у меня есть конвейер c++ на основе Jam, который я использую на Windows, работая безупречно. Единственное, что нужно помнить, чтобы все это работало корректно - это создать правильные правила для приложения... легко работать как правило для джема.
Как уже упоминалось в некоторых других ответах, существует ряд перекрестных библиотек графических интерфейсов GUI, которые поддерживают Mac. Такие как Qt и wxwindows. Вы можете использовать любой из них, я лично использовал только Qt, и нашел его вполне приятным для работы после прихода из Java и C Toolkits.
Для использования нативных библиотек GUI вы можете использовать Python (Pyobjc). Java также может сделать уроженные приложения в ОС X.