До сих пор я писал только драйвера, и С++ знаю неплохо, а вот с приложениями под MacOSX пока туговато, только command-line utility.
Какие есть варианты?
1.
Cocoa, Objective-C. Есть Interface Builder, в котором можно сделать очень много, есть образцы программ. Да вот, блин, эти образцы под Леопарда, новые классы, новые методы, а мне нужно под Тигра, и я тупо не могу ничего сделать с тем же генерикЦПУПМ, он не подходит к Тигру, и не переделывается. Ну и соображение на будущее: как бы я не любил Мак, но Objective-C применяется только на нем, и нигде больше, бесперспективно.
2.
Carbon, C++. Это уже гораздо ближе к истине, Интерфейс-билдер строит визуальную оболочку, а дальше наполняем программу кодами. Автоматизация проектирования близка к нулю. Я не вижу в кодах никакой связи с интерфейсом, не вижу созданных объектов, не знаю, какие у них методы и свойства. В тексте только события. Где их перечень? Свойства, прописанные в интерфейсе также не отображаются в кодах. Короче, все нужно делать вручную, если знать как. А Эппл не очень объясняет, как пользоваться карбоном, все какао рекламируют.
3.
QT4, C++ от компании Nokia

. Есть собственный Designer с очень богатым набором свойств. Есть туториалы и демо, есть образцы. Но когда я нарисовал интерфейс, я не понял, как это компилировать. Связь с XCode отсутствует, нужно вроде делать makefile. Преимущества колоссальные - это и универсальность для разных платформ, хочешь, делай под Винды, хочешь - для iPhone, хочешь - для Nintendo. И естественно, для Линукса, откуда оно и взялось. Небольшой баг пакета - КП на аудио плагине. Я уже зарегился на баг-трекере, буду их колотить. Что бы там не говорили про кривые драйвера, но хорошая программа не должна паниковать из-за плохой входной информации.
Еще проблема чтобы поставить на Тигра.
4.
SDL, Objective-C. Пакет классов, встраивается в XCode.
Если он как-то соединяется с Carbon, тогда имеет смысл поизучать, а в голом виде отсутствие графической оболочки перечеркивает все достоинства, если они есть. Соединяется с Cocoa и расширяет его возможности.
5.
RealBasic. Взяв этот пакет, я за один вечер написал работающую программу. Есть там описание, как сделать интерфейс к языку С, а из него уже можно иметь доступ к системе. Можно компилировать под разные системы. Но пакет небесплатен, и с современными версиями проблема. Да и взаимодействие с системой все же проблематично.
6.
Eclipse. C++. Чего-то я в ней не понял. Что это?
7.
XSD, xerces, C++. Идея пакета - писать программу на XML, а затем переводить ее в С++. Меня в этой технологии заинтересовала возможность использования xib файла, сгенеренного Interface Builder-ом. Но вся эта технология далека от очевидной.
8.
PowerPlantX, C++ Ностальгия по классике. Проект компанией Метроверкс был переведен в разряд свободных и появился на сорсфорже как OpenPowerPlant. В нем есть все старые PowerPlant классы, которые карбонизированы, и добавлено что-то для OSX. Мне удалось собрать Constructor, однако, он не выполняет некоторых функций, есть ошибки. Да и элементы не все присутствуют. Короче, явная недоделка. И сомневаюсь, что ее будут доделывать. Если у вас есть большая программа, написанная еще в старые времена классики под старый PowerPlant, то это - кратчайший путь для ее перевода под MacOSX.
Еще варианты?
QUOTE (Slice @ May 5 2010, 01:23 AM)

хочешь - для iPhone
хочешь, не хочешь - но под него нельзя

Однако кроссплатформаенность иногда заставляет взглянуть на кути, но мне кажется он каким то громоздким и не слишком приятным.
Если целиться на мак то лучше всего выбрать коку.
З.Ы. вроди ещё есть моно.
This post has been edited by Bugagazavr: May 4 2010, 09:45 PM
QUOTE (Bugagazavr @ May 5 2010, 01:30 AM)

хочешь, не хочешь - но под него нельзя

Однако кроссплатформаенность иногда заставляет взглянуть на кути, но мне кажется он каким то громоздким и не слишком приятным.
Если целиться на мак то лучше всего выбрать коку.
З.Ы. вроди ещё есть моно.
Не, какао для младенцев, на серьезные задачи встанут серьезные ограничения. Короче, не хочу изучать ОбъективныйСи, язык, сочетающий надежность С, с быстродействием SmallTalk
Я смотрю послужной список SDL, и мне начинает нравится: Battle for Wesnoth, VLC, Game Maker, DOSBox, клон игры Marathon 2, и другие.
Есть соединение с Interface Builder!
Какой еще Mono?
QUOTE (Bugagazavr @ May 5 2010, 05:06 PM)

Тоже какао, только для 10.3.
Разобрался с SDL. Классная вешь, но это просто пристройка к Cocoa/Objective-C для написания OpenGL игр. Хорошо, полезно, но не то, что я искал.
Итак, первые пробы.
Cocoa. Нарисовал интерфейс, стал по туториалу создавть объекты, связи, события, хрен знает что... Скомпилированная без ошибок программа не запускается. Очевидно сделал не все и не так. Тестирование в бета-фазе не получилось. Три дня на то, чтобы запустить голый интерфейс?! Не, технология не для меня.
CarbonИнтерфейс создан, запустился без проблем, попытки добавить новые функции прошли успешно. Можно работать.
Вот только я смотрю, а в Барсике уже нет опции создания карбоновой программы, т.е. технология устарела. Ну посмотрим, как пойдет дальше, можно ли компилировать готовый проект под Барсиком. Во всяком случае запускается без проблем.
Qt4Удалил PhononPlugin, и смог работать в дизайнере. Прекрасный пакет! Начинаю изучать подробности, ну и надо испытать под Тигром.
Продолжаю.
В хелпах все рассказано и показано.
Нарисовал оболочку в дизайнере класса QDialog.
Создал файл App.pro
CODE
TEMPLATE = app
FORMS = InternalMonitor.ui
SOURCES = main.cpp
Создал файл main.cpp
CODE
#include "ui_InternalMonitor.h"
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QDialog *widget = new QDialog;
Ui::Monitor ui;
ui.setupUi(widget);
widget->show();
return app.exec();
}
Набираю команду в терминале
CODE
qmake -o Makefile App.pro
В результате я получаю... XCode.project! Ну а теперь Build, проверка и исправления ошибок, наполнение новым кодом и т.д.
На выходе - рабочая оболочка. Изучение инструментария заняло полдня.
Screen_shot_2010_05_06_at_15.36.40.png ( 27.85K )
Number of downloads: 29В отличие от Какао я имею нормальный С++, в отличие от Антрацита - намного более полная система классов и визуальное построение связей.
Маленькое неудобство - предварительные действия по созданию проекта, уже преодолел.
Класс Маэстро! Слежу за твоей темой.
А вот и маленькая неприятность. Эта программа под Тигром не запустилась, пока не установил Qt Framework.
Так что, если сделаю для других, в пакет я еще должен и Qt прикладывать?
Мда, мысли снова уходят на антрацит.
QUOTE (Slice @ May 6 2010, 10:21 PM)

А вот и маленькая неприятность. Эта программа под Тигром не запустилась, пока не установил Qt Framework.
Так что, если сделаю для других, в пакет я еще должен и Qt прикладывать?
Мда, мысли снова уходят на антрацит.
У меня он (Qt) стоит, точнее стоял, ноут пока в ауте, на днях восстановлю.
This post has been edited by PauliK: May 6 2010, 09:54 PM
QUOTE (PauliK @ May 7 2010, 01:53 AM)

У меня он (Qt) стоит, точнее стоял, ноут пока в ауте, на днях восстановлю.
А я на ноуте собираюсь менять ХДД, так что новые разработки пока откладываются, буду поднимать систему с нуля. Да тут еще гости... Но это не по теме.
У меня есть мысль, что, наверно, достаточно какую-то часть Qt вставить внутрь аппликации. Определиться бы, какую именно, чтобы весила поменьше.
Вот образец
/Applications/OsiriX.app/Contents/Frameworks/Nitrogen.framework.
Надо будет на чистой системе, без Qt, поэкспериментировать.
Мда QtGui.framework=26Мб, не очень весело, если нужна именно она. С другой стороны, даже простенький Mail.app весит 77Мб, так что это нормально.
Продолжаю исследования.
1.
Qt. Nokia отозвалась на мой баг, сказали, что исправили, а я пока работаю без аудио-плагина. Да, Qt остается лучшей средой для серьезных проектов.
2.
Carbon. Ту мелочь, что я задумал, придется все же делать в Карбоне. Вот только не пойму, как сделать таймер для обновления внешнего вида.
3.
PowerPlant Явная недоделка.
Screen_shot_2010_05_12_at_16.25.49.png ( 138.01K )
Number of downloads: 26
Смотрите, какая прелесть!
______________2010_06_02___17.43.40.png ( 113.28K )
Number of downloads: 54
QUOTE (Slice @ Jun 2 2010, 01:45 PM)

Смотрите, какая прелесть!
______________2010_06_02___17.43.40.png ( 113.28K )
Number of downloads: 54Выглядит впечатляюще, как сам оцениваешь работу?
QUOTE (PauliK @ Jun 2 2010, 10:24 PM)

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