Все повече и повече зачестяват темите в интернет напоследък за програмиране за Mac OS X.По въпросите си личи, че хората са объркани , не знаят какво е необходимо и от къде да се захванат.В следващите редове ще се опитам да осветля с повече информация всеки , който е решил да програмира за Mac.

Apple подържа огромна база данни с информация включваща инструкции, мейли и други свързани единствено и само с разработката на програми за Mac OS, както и за iOS.Сайта на който може да се регистрира всеки е http://developer.apple.com/

В зависимост от това, което целите и от езика, който владеете има различни подходи за това да създадете приложения за Mac OS X.Ето основните пътища:

Програмиране на Objecive - C и Cocoa

Езика, който Apple използва за създаване на програми се казва Objective  - C.Той е създаден от компанията на Стив Джобс NEXT след като е изгонен от Apple.При завръщането си обратно официално езика Objective - C се приема от Apple.Той обектно ориентиран и е взаимстван от езиците C и SmallTalk.Използва се за създаването както на конзолни така и на приложения с GUI ( графичен интерфейс).Графичните библиотеки, които се използват в Mac OS X се наричат с общото име Cocoa.За това често може да срещнете термина cialis rebate Cocoa programming, има се впредвид програмиране на приложения с графичен интерфейс на Objective - C.Средата за програмиране се нарича XCode и е част от всяко инсталацонно DVD идващо с компютрите Macintosh.Най-актуалната версия може да бъде изтеглена безплатно от сайта на Apple за разработчици опоменат по-горе.Следвайки този път, за да създавате приложения трябва да знаете Objective - C (Cocoa) и да си свалите XCode.Предимства: С Objective - C вие създавате бързи приложения използващи най-мощните библиотеки конструирани специално за Mac OS.Освен това с овладяването на езика и принципите може да разработвате приложения за iOS  ( iPhone, iPod touch, iPad).Недостатъци: С кода, който пишете може да създадете приложение само за Mac OS или iOS, но не и за друга операционна система.

Програмиране на Java

Тъй като JVM (Java Virtual Machine) идва предварително инсталирана в Mac OS, всеки който желае може да напише приложение за Mac OS на Java.Има различни среди за разработка на Java приложения за Mac, най-известните сред които са Eclipse и Netbeans.На Java могат да се пишат конзолни приложения както и такива с графичен интерфейс.Преди да се захванете с Java e добре да се запознаете с плюсовете и минусите на езика.Java е скриптов език.Това означава, че изходният код не се компилира до бинарен код (както например в Objective C, C++ и други), който да се изпълнява директно, а до т.н. байт код, който при всяко стартиране на програмата се интерпретира от виртуалната машина.Това разбирасе по-малко или повече води до по-слаба производителност на програмата, въпреки , че с всяка версия JVM става все по-оптимизирана.Предимства: С един единствен код вашето приложение може да се стартира на Windows, Mac OS, Linux и други платформи с JVM.Недостатъци: сравнително по-слаба производителност.

Програмиране с QT ( C++, Java, Python )

Тъй като XCode съдържа в себе си GCC C++ компилатор, вие спокойно може да създавате C++ конзолни програми.C++ е мощен обектно ориентиран език с огромна популярност и множество последователи.Това го прави предпочитан език за програмиране като цяло.Ако решите обаче да създавате програми с графичен интерфейс то алтернативите не са много.Тук на помощ идва една от най-известните кросплатформени ( един и същ код се компилира за повече от една операционна система ) среди за разработка в света с името QT ( http://qt.nokia.com/ ). Първоначално QT е собственост на компанията Trolltech, но после е закупен от Nokia.QT представлява библиотеки от класове за графичен интерфейс.С QT може да се създават приложения както със C++ така и с Python, Java и дори Ruby.С QT вашият код ще може да бъде компилиран за Mac OS, Windows, Linux както и за т.н. embeded systems.Примери за програми направени с QT са Skype и Google Earth.QT се използва за направата на софтуер за автомобили и самолети.QT се предлага в три различни лиценза: GPL, LGPL и платена версия. Предимства: Един и същи код се компилира за различните платформи.Използва познати езици.Безплатен. Недостатъци: добра подръжка само за  C++

За пръв път в България се организира курс за програмиране на C++ с QT. За повече подробности http://www.mmw.bg/show/422_vyvedenie_v_qt/



Най-накратко Mono представлява платформа с отворен код, създадена да позволи на програмистите  да разработват многоплатформени приложения за .NET.Най-често използваният език е C#.Версии на Mono има за Linux, Windows, Mac OS, BSD, Sun solaris, Nintendo Wii, Sony PlayStation 3, iPhone. Предимства: Език от високо ниво без ръчно управление на паметта.Двоична съвместимост с .NET на Microsoft Недостатъци: По-бавно изпълнение поради наличието на виртуална машина; липса на някои технологии и отделни библиотеки от .NET; като проект с отворен код, има малка вероятност някои от по-рядко използваните класове или функции да не работят правилно на определена платформа.

http://mono-project.com


Обновена на 17.01.2010