Я нахожусь на фоне программирования Windows при написании инструментов, но программировал с помощью Carbon и Cocoa за последний год. Я признаю это, скрываясь от программирования пользовательского интерфейса. Я в основном вскрывал свой код OpenGL в представлении, а затем оставался в своей комфортной зоне, используя обычный агрегированный OpenGL С++ код платформы, как обычно.
Однако теперь я хочу начать перенос одного из моих более сложных приложений в Mac OS.
Обычно я использую стандартный подход к подключению MDI для Visual Studio, который отлично, но очень похож на Windows. От использования Mac в основном сейчас какое-то время, я не склонен видеть такой метод, используемый для пользовательских интерфейсов Mac. К сожалению, даже Xcode не поддерживает идею перетаскивания/закрепления просмотров. Я вижу пристыкованные виды с разделительными панелями, но об этом.
Ближайшая вещь, которую я видел для подхода Visual Studio, - это Photoshop CS4, который довольно приятный.
Итак, каков общий консенсус по этому поводу? Есть ли еще Mac-образный способ достижения того же, чего я не видел? Если нет, я рад написать диспетчер окон в Cocoa сам, так что я наконец смогу научиться тому, что выглядит как отличный API.
Заметьте, я не хочу использовать QT или любые другие кросс-платформенные библиотеки. Все дело в том, что я хочу, чтобы приложение Mac выглядело как приложение для Mac, оставьте приложение Windows похожим на приложение Windows. Я всегда нахожу, что библиотеки кросс-платформенного, как правило, теряют этот эффект, и когда я вижу собственный пользовательский интерфейс Mac с фантастическими переходами и анимациями w80, я всегда улыбаюсь. Это также хороший повод для меня узнать Cocoa.
Если это так, если для этого есть библиотека с открытым исходным кодом Cocoa, мне бы хотелось узнать об этом! Мне бы хотелось увидеть, как кто-то еще это достигнет, и поможет сгладить кривую обучения Cocoa.
Приветствия,
Шейн
ОБНОВЛЕНИЕ. Я забыл упомянуть критический момент. Я поддерживаю плагины, которые могут иметь собственный пользовательский интерфейс для отображения различной информации о плагинах. Я не знаю, какие плагины будут загружены, и я не знаю, где будет жить их пользовательский интерфейс, если я не поддерживаю стыковку. Мне бы хотелось услышать мысли людей об этом, а именно: как мне поддерживать архитектуру просмотра плагинов, если пользовательский интерфейс не может измениться? Где я могу разместить плагины?