Что альтернативы к Objective C для программирования Mac?

Когда вы создаете Haikunator, определите семя как seed: new Date().getTime(). Таким образом, семя для генератора случайных чисел будет меняться каждый раз, когда вы загружаете страницу.

10
задан Ned Batchelder 9 November 2008 в 17:27
поделиться

13 ответов

Что Вы подразумеваете "под компонентом?" Вы имеете в виду блок кода или библиотеки, которую Вы собираетесь вручить другим людям для соединения в их приложения? Раз так затем не реалистично использовать любой из соединенных мостом языков в это время. В то время как много мостов очень хорошо, у них почти всегда есть сложности и проблемы, что большинство разработчиков приложения не будет готово иметь дело с использовать единственный компонент, особенно если он включит введение существенного времени выполнения.

Мосты являются самыми ценными для образования моста других библиотек языка в приложение Objective C. В то время как можно записать, что довольно законченные приложения с помощью них, делая так часто требуют лучшего понимания Objective C, чем простая запись приложения Objective C, так как необходимо понять и справиться с языком, объектной моделью, поточной обработкой и несоответствиями импеданса выделения памяти, которые происходят.

Это также, почему многие люди утверждают, что, даже если Вы довольно знакомы с языком, пытаясь изучить Какао с помощью того языка через мост, является обычно более трудным что, изучая это с помощью Objective C.

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

В конечном счете, если Вы пишете библиотеку, которая будет связанной в другие приложения, необходимо работать на Tiger и Leopard, и необходимо получить доступ к Какао только API, я думаю, что Вы найдете использование любого решения не-Objective C довольно трудным.

19
ответ дан 3 December 2019 в 13:28
поделиться

Попробуйте любой из мостов Какао, перечисленных в здесь http://www.cocoadev.com/index.pl?CocoaBridges

Можно также попробовать F-сценарий - smalltalk диалект, который записан специально для MacOSX/Cocoa.

3
ответ дан 3 December 2019 в 13:28
поделиться

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

Вот прием. Вы инкапсулируете свой код MM в методах доступа и всегда используете средства доступа. XCode имеет встроенные сценарии для генерации соответствующих средств доступа, или если Вам нужно больше гибкости существуют приложения 3-й части как Accessorizer.

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

Большинство людей, которые испытывают трудности с "ручным" управлением памятью Какао, делает так в результате неправильного использования его. Наиболее распространенная ошибка состоит в том, чтобы рассеять соответствующие нормы повсеместно. Это означает, что отсутствие сохраняет, дополнительный выпуск, и т.д. будет трудным найти.

9
ответ дан 3 December 2019 в 13:28
поделиться

Можно попробовать PyObjC для записи приложений Какао в Python или MacRuby, если Вы интересуетесь Ruby.

11
ответ дан 3 December 2019 в 13:28
поделиться

RubyCocoa становится постоянно более впечатляющим, и я видел много успешных внедрений с помощью него. Таким образом, конечно, если Ваша чашка чая Ruby...

2
ответ дан 3 December 2019 в 13:28
поделиться

Можно всегда использовать REALbasic (www.realsoftware.com). Очень легкий и забавный использовать, не свободный все же. Вы не можете сделать dylibs (или dll's) использованием его, но можно использовать dylibs и dll's в коде. И можно пользоваться библиотеками какао также

1
ответ дан 3 December 2019 в 13:28
поделиться

Не забывайте, что можно использовать Java также, и я не имею в виду мост какао Java, я имею в виду фактический Java.

Существует также пакет от яблока, которое предоставляет Вам доступ к нескольким osx функциям также.

Также для комментария точки Shem, если osx 10.5 предназначения и выше, можно использовать в своих интересах сборку "мусора".

1
ответ дан 3 December 2019 в 13:28
поделиться

Если Вы хотите синтаксис шепелявости затем, Ню является шепелявостью, реализованной сверху Objective C http://www.programming.nu/

1
ответ дан 3 December 2019 в 13:28
поделиться

Кроме того, FreePascal может генерировать собственные Углеродные Приложения (в прогрессе, работающем на Coccoa)

1
ответ дан 3 December 2019 в 13:28
поделиться

Взгляд на Python и wxPython (wxWidgets в Python).

wxWidgets имеют очень изящный шаблон проектирования приложений Представления документа приложения, это очень, очень хорошо. Это не использовало достаточно, IMO. Я не нашел wxPython примеров этого примера Представления документа приложения, таким образом, необходимо использовать примеры C, чтобы продумать, как он работал бы в Python.

Я отправил бы примеры, но у меня нет всего этого еще работающего, также.

0
ответ дан 3 December 2019 в 13:28
поделиться

См. NObjective (http://code.google.com/p/objcmapper/) мост к Какао. Это обеспечивает больше функций, чем другие с меньшим количеством издержек.

0
ответ дан 3 December 2019 в 13:28
поделиться

Я изучаю Моно также. Objective C немного слишком причудлив для меня в этой точке. Слишком много лет, делая C/C++, Java, C#, Perl и т.д. Я предполагаю. Все они кажутся довольно легкими плавать между. Не так для Objective C. Любите мой Mac, но боящийся потребуется слишком много драгоценного времени для освоения языка.

0
ответ дан 3 December 2019 в 13:28
поделиться

.NET с помощью Моно mono-project.com

0
ответ дан 3 December 2019 в 13:28
поделиться