Я сторонник языкового разнообразия, но цель C - безумие. Так что мне любопытно: можно ли кодировать приложения для iPhone с помощью C ++ при использовании Cocoa API и т. Д.?
c++
iphone
objective-c
Дмитрий Нестерук
источник
источник
Хотя изначально Objective-C действительно кажется «безумным», я призываю вас придерживаться его. Как только у вас наступает момент «а-ха», внезапно все начинает обретать смысл. Мне потребовалось около 2 недель целенаправленной концентрации на Objective-C, чтобы действительно понять фреймворки Cocoa, язык и то, как все это сочетается друг с другом. Но когда я действительно "понял" это, это было очень-очень захватывающе.
Звучит банально, но это правда. Придерживаться его.
Конечно, если вы используете библиотеки C ++ или существующий код C ++, вы можете использовать эти модули с Objective-C / Objective-C ++.
источник
Я использую Objective-C, чтобы собрать пользовательский интерфейс.
Но суть кода все еще написана на C ++.
Это основная цель Objective-C - интерфейс пользовательского интерфейса и обработка событий.
И он отлично подходит для этой цели.
Мне все еще нравится C ++ в качестве бэкэнда для кода (но в основном потому, что мне нравится C ++), вы также можете легко использовать Objective-C для бэкэнда приложения.
источник
#include <XXX>
C / C ++.Во-первых, сказать, что Objective-C «безумен» - это юмористично. Рядом со мной лежит книга Бьярна Страуструпа по C ++, которая занимает 1020 страниц. PDF-файл Apple на Objective-C - 141.
Если вы хотите использовать UIKit, вам будет очень и очень сложно что-либо делать на C ++. Любое серьезное приложение для iPhone, которое соответствует пользовательскому интерфейсу Apple, потребует, чтобы его части пользовательского интерфейса были написаны на Objective-C. Только если вы пишете игру OpenGL, вы можете почти полностью придерживаться C / C ++.
источник
Имея некоторый опыт в этом, вы действительно можете использовать код C ++ для своего «основного» кода, но вы должны использовать objective-C для всего, что касается iPhone.
Не пытайтесь заставить Objective-C действовать как C ++. Сначала вам может показаться, что это возможно, но полученный код действительно не будет работать с Какао, и вы очень запутаетесь в том, что происходит. Потратьте время на то, чтобы правильно изучить, без использования C ++, как создавать графические интерфейсы и приложения для iPhone, а затем разместить ссылку в своей базе C ++.
источник
Вы должны использовать Objective C для взаимодействия с Cocoa API, поэтому выбора нет. Конечно, вы можете использовать столько C ++, сколько захотите, за кулисами (Objective C ++ упрощает это).
Это действительно безумный язык, но он также ... забавный в использовании, когда вы немного привыкнете к нему. :-)
источник
Я не уверен насчет C ++, но вы определенно можете кодировать приложения для iPhone на C #, используя продукт под названием MonoTouch .
Вы можете увидеть этот пост для подробного обсуждения MonoTouch против Obj-C: как выбрать между MonoTouch и Objective-C?
источник
Я сейчас портирую приложение Android, требующее больших вычислений, написанное на Java, на iOS6. Я делаю это, портируя части, не относящиеся к пользовательскому интерфейсу, с Java на C ++, записывая (минимальные) части пользовательского интерфейса в Obj-C и помещая первые в (небольшой) интерфейс C, используя стандартную технику C / C ++, чтобы к нему можно получить доступ из Obj-C, который, в конце концов, является надмножеством C.
До сих пор это было эффективно, и я не встречал никаких ошибок. Это кажется законным подходом, поскольку Xcode позволяет создавать классы C ++, а также классы Obj-C, и некоторые официальные примеры кода делают это таким образом. Для этого мне не пришлось выходить за пределы официально поддерживаемых интерфейсов.
Написание оставшегося кода пользовательского интерфейса на C ++ вряд ли принесет много пользы, даже если бы это было возможно, с учетом помощи, предоставленной вам построителем интерфейса в Xcode, поэтому я отвечу, что вы можете использовать C ++ для почти все ваше приложение или столько, сколько вы сочтете подходящим / удобным.
источник
Да, но думать, что вы можете программировать все виды программ на одном языке, - ошибочная идея, если вы не пишете очень простые программы. Objective C предназначен для Cocoa, как C # для .NET, Используйте правильный инструмент для правильной работы, Пытаться заставить C ++ взаимодействовать с Cocoa посредством написания кода моста и попытаться заставить код C ++ вести себя в соответствии с требованиями Cocoa - не лучшая идея, ни ожидание C ++ производительность от Objective C есть. Вам следует попытаться разработать макет и архитектуру приложения с учетом имеющихся навыков и определить, какая часть должна быть написана на каком языке, а затем соответствующим образом построить.
источник
В настоящее время я пишу платформу Objective-C ++ под названием Objective-X, которая делает возможным ПРОГРАММИРОВАНИЕ iPHONE PURE C ++. Сделать можно так:
и скомпилируйте его, используя соответствующие параметры командной строки GCC. Я уже скомпилировал это приложение helloworld, и оно похоже на очарование w0rkX0rz. ;-) Скоро он будет доступен в GoogleCode. Найдите Objective-X или посетите http://infotronix.orgfree.com/objectivex ок. неделю спустя!
Обновленный (но явно неактивный) URL: http://code.google.com/p/objectivex/
источник
Это может быть немного оффтоп, но все равно. Вы можете программировать на C ++ прямо на устройствах iOS. Ознакомьтесь с приложением CppCode ios - http://cppcode.info . Я считаю, что это поможет позже изучить C, C ++ и Objective-C.
источник