Альтернативная парадигма для разработки под Mac OS X - PullRequest
1 голос
/ 17 ноября 2009

Текущий стандартный способ разработки приложений для Mac OS X - это использование XCode / Objective-C / Interface Builder с использованием парадигмы MVC.

Есть ли альтернатива?

Я бы хотел использовать Interface Builder (тоже XCode), но я бы предпочел использовать другой язык программирования. Я пришел из программирования .NET, где вы можете делегировать щелчок для определенной функции и т. Д. Есть ли что-то подобное для Mac? Я бы предпочел держаться подальше от загруженных приложений, таких как Titanium или Qt или RealBASIC.

Ответы [ 8 ]

6 голосов
/ 17 ноября 2009

Objective-c очень мощный и вместе с Cocoa и Interface Builder позволяет разрабатывать пользовательский интерфейс на Mac OS X.

Вы можете связать цель в пользовательском интерфейсе с действием в исполняемом коде и т. Д.

Вы можете проверить Руководство IB , Соединения и привязки и Введение в приложение по какао-приложениям , которое создает пример приложения (см. Модель и представление: в разделе «Контроллер » показано, как элементы пользовательского интерфейса подключаются к коду), то есть, если вы заинтересованы в Objective-c / Cocoa.

4 голосов
/ 17 ноября 2009

На SO так много таких вопросов. Особенно в тегах mac / iphone. Кто-то пишет о том, как сделать разработку для Mac / iphone более похожей на какую-то IDE / парадигму, которую они уже знают.

Разработка для Mac отличается от C #, .NET и т. Д. Она не менее мощная, она просто другая. У какао есть много сильных сторон, которые могут не проявиться, когда вы пытаетесь применить свой старый образ мышления.

Не исключать ни один из проектов, упомянутых здесь (PyObjC, MacRuby и т. Д.), Но они будут столь же запутанными, потому что они представляют собой тонкий (и неплотный) уровень абстракции по сравнению с инструментами нативного разработчика.

Если вы собираетесь разрабатывать на Mac, найдите время и изучите Objective-C / Cocoa / Xcode / IB. Это не так, как вы знаете, но это хороший способ, если вы даете ему шанс. Как только вы это узнаете, вас все равно будут критиковать, но вы, несомненно, найдете то, что вам действительно нравится в этом.

Если вам не нравится изучать новые платформы / парадигмы / среды, изучите java или qt один раз и покончите с этим.

4 голосов
/ 17 ноября 2009

Вы уже можете назначать клики для методов в Objective-C - вы определяете метод с возвращаемым типом IBAction и можете связать его с числом возможных событий в кнопке или многими другими элементами управления по этому вопросу.

Научитесь пользоваться инструментами, прежде чем решите отправиться на другие языки, потому что здесь есть много глубины от десятилетий эволюции.

2 голосов
/ 17 ноября 2009

В зависимости от вашего языкового опыта и целевых требований вы можете найти MacRuby очень интересным.

Существует также PyObjC и старый рубиновый мост с именем RubyCocoa .

Однако, если вы ищете разработку для iphone, единственное, о чем я слышал, это MonoTouch от Novell и требует лицензионных сборов.

Обратите внимание, что все вышеперечисленные технологии позволяют довольно бесшовную интеграцию как с их родными языковыми библиотеками, так и с библиотеками и средами, найденными в Cocoa и Carbon.

Использование этих технологий даст вам довольно чистое приложение с родным чувством. Тем не менее, многие, если не все, по-прежнему требуют использования Interface Builder. К тому, что я знаю, мне тоже пришлось привыкать.

1 голос
/ 17 ноября 2009

Мостов много. PyObjC, CamelBones (Perl), JSCocoa (JavaScript), Cocoa #, HOC (Haskell) и т. Д. Единственный, который действительно даже близок к бесшовному, - это MacRuby, реализация Ruby поверх основных технологий Mac OS X, таких как LLVM и Objective. -C среда выполнения и сборщик мусора, который разработан как одноранговый язык для Objective-C для разработки Какао. Это все еще в бета-версии, хотя. Это позволяет вам назначить блок Ruby в качестве обработчика действий для элементов пользовательского интерфейса, что, как я понимаю, вам нравится делать.

0 голосов
/ 17 ноября 2009

Лучше всего было бы использовать поддержку Cocoa Sharp для winforms. На сайте cocoasharp есть несколько уроков. Это даст вам преимущество, но я боюсь, что вы не продвинетесь слишком далеко с этим подходом, Какао на самом деле не подходит для этого подхода, и в конце концов, кодом будет сложно управлять.

Что вы можете сделать, если вы не возражаете против соглашений по Какао, но на самом деле не относитесь к Objective-C, - это используйте Cocoa Sharp (т.е. C #) для кодирования с использованием парадигмы Cocoa MVC. Таким образом, вы все еще можете использовать Interface Builder (я не уверен в поддержке XCode в Snow Leopard) и использовать знакомый язык.

Похоже, что этот подход продуктивен, так как люди даже делают приложения для iPhone таким образом.

0 голосов
/ 17 ноября 2009

Трудно сказать, предпочитаете ли вы разработку языка или шаблонов проектирования.

См. Objective-C ++, Python или Ruby (Java-мост устарел). Помните, что ObjC является надмножеством C, вы можете использовать C, C ++ и ObjC в одном приложении / источниках. Так что ... вам может быть удобнее всего использовать Objective-C ++. Это звучит как гибридный объект, но это просто поддержка объектов и синтаксисов в одной и той же программе (т.е. вы не основываете класс ObjC на классе C ++, но можете использовать члены). Вообще-то, это большая тема, хотя я никогда не видел надписей на ней, за исключением нескольких страниц.

Что касается шаблонов проектирования, то вы программист:)

0 голосов
/ 17 ноября 2009

Ознакомьтесь с монопроектом http://www.mono -project.com / Main_Page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...