![]() |
Кодинг приложений под Mac Os
Сегодня мы рассмотрим основные приемы кодинга для Mac OS.
Мы будем писать самый обыкновенный генератор случайных чисел. Для кодинга нам понадобится Mac OS X Developer Tools, который вы можете найти на диске вместе с Mac Os или скачать в интернете. Вы можете, конечно, использовать весь потенциал "Mac OS X Developer Tools", но, в основном, вам понадобится только два приложения: Xcode и Interface Builder. Итак, открываем xcode. Наверху мы видим заголовок File. Нажимаем и создаем новый проект File -> New project. Далее у нас есть выбор типа проекта, мы выберем Cocoa Application. Затем пишем имя проекта, например, "RandomApp" Итак, мы видим перед собой "Скелет" нашей будущей программы.. Нажмем "Build and Go", чтобы запустить нашу программу.. http://dnislavy.sk6.ru/image/4.jpg Запустив программу, мы можем увидеть http://dnislavy.sk6.ru/image/5.jpg Основная функция Нажмите Editor, чтобы можно было удобнее работать с кодом программы. Слева вы можете увидеть пункт Resources, в котором есть файл MainMenu.nib. Дважды щелкните по нему, чтобы открыть в Interface Builder Interface Builder позволяет создавать и редактировать объекты пользовательского интерфейса (например, для окон и кнопок), и сохранять эти объекты в файл. Вы также можете создавать пользовательские классы и связи между ними, или стандартный пользовательский интерфейс объектов. Создание Интерфейса. Откройте Library в пункте window -> Library. http://dnislavy.sk6.ru/image/7.jpg Во вкладке Cocoa вы можете найти пункт Views & Cells. Нажав на неё, вы можте увидеть множество объектов. Нас интересует "Rounded Rect Button". Зажмите объект левой кнопкой мыши и перетащите его в окно нашей будущей программы. Двойной клик по кнопке позволит вам изменить заголовок этой кнопки. Дайте ему название "Seed random number generator using time" (вообще то можно любое ) Создайте под этой кнопкой еще одну и дайте ей название "Generate random number". Затем, найдя в главе "Views & Cells" подглаву "Input & Values" перейдем в нее и найдем там "Label". Также переместим его в наше окно. У нас должно появиться что то вроде этого http://dnislavy.sk6.ru/image/8.jpg Сделаем окно меньше, внизу есть ползунок, чтоб было красивее. И центрируем текст "Label".Чтобы его центрировать заходим в "Tools" и находим там "Attributes Inspector". Нажимаем на "Label" И в свойствах жмем кнопку центрирования. У нас должен получиться вот такой интерфейс http://dnislavy.sk6.ru/image/9.jpg Все, с интерфейсом будущей программы мы закончили. В Objective-C, каждый класс определяется двумя файлами: файлом заголовка и файлом реализации. Файл заголовка объявляет переменные и классы. Файл реализации определяет то, что эти методы делают. Теперь вернитесь в xcode и выберите File->New File и создайте новый Cocoa -> Objective-C class. Дайте новому файлу имя Foo.m http://dnislavy.sk6.ru/image/10.jpg Файлы Foo.h и Foo.m появятся в вашем проекте. Если они не появляются в группе Classes, перетащите их туда вручную. В Foo.h, вы будете добавлять, например переменные и методы класса. Изменим Foo.h добавив в него следующий код: PHP код:
Сохраните Foo.h Вернемся к Interface Builder. Заходим в Library. В Cocoa заходим в Objects & Controllers и выбираем Object (NSObject). Перетаскиваем его в MainMenu.nib, как показано на рисунке http://dnislavy.sk6.ru/image/12.jpg В Identity Inspector, установите класс этого файла как Foo. (Ваши действия должны появиться в Identity Inspector. Если они не появятся, то еще раз проверьте файл Foo.h на наличие ошибок). http://dnislavy.sk6.ru/image/13.jpg Теперь свяжем наши действия с объектами.. Нажмите правой кнопкой мыши на "Label", вы увидите надпись "textField" и кружочек напротив нее.. Зажмите левой кнопкой мыши этот кружок и перетащите его к window http://dnislavy.sk6.ru/image/14.jpg Повторите то же самое и для кнопок "Seed random number generator using time" и "Generate random number" как показано на рисунках http://dnislavy.sk6.ru/image/15.jpg http://dnislavy.sk6.ru/image/16.jpg сохраним и снова возвратимся в xcode. Теперь изменяем файл Foo.m вставим в него следующий код.. PHP код:
еще раз все проверить, особенно файлы Foo.h и Foo.m. Если сообщения нет, и программа запустилась, значит все нормально и работает!! Удачи вам всем.. 16.06.2009 Теперь замечательная книга Become An Xcoder есть и на русском языке качаем скачать (с)kori256 специально для xaker.name и antichat.ru |
Статью почитаю на досуге.
Хочу сразу заметить, на Хабре видел вакансию Mac программиста с зарплатой больше 100k руб! Вот это сейчас актуально. Презедент же юзает Мак :-) |
Программирование прог под мак очень перспективное направление, но к моему большому сожалению слаборазвитое в нашей стране.
|
Цитата:
|
Цитата:
|
визуал студия решает)
А теперь смотри что я делаю для того чтобы создать такую же прогу. File -> new Project -> ConsoleApplication Random rand = new Random(System.DateTime.Now.Millisecond); Console.WriteLine(rand.Next(500)); В 2 строчки уложился) В win приложении эти 2 строчки нужно кинуть в обработчик события по клику) Но все равно молодец) Написал генератор) + за подробное описание, детишкам на мак осях должно понравится) |
procedure, спасибо.
|
спасибо, тс, только это не совсем кодинг ;) кодинг в текстовой части, а это... интерфейс-строение :)
а маки да, они продвигаются еще как. у президента продукция Apple, кодинг под мак нехило стоит |
уже тошнит от obj-C, тошнит от квадратных скобок в первую очередь. синтаксис просто кошмарен :(
говорила мама иди в хирурги. |
Программирование и кодинг, понятия разные.
|
Цитата:
|
Ого о_0
100к/мес? Пиздец... Учимся все вместе кодить под МАК, хотя я мак ненавижу и не вижу смысла его юзать =\ |
Цитата:
Из-за чего ты его ненавидешь? Я мак юзал много, очень понравилась, винда курит нервно в сторонке, это моё личное мнение. Будущие за Apple безусловно! |
маки не для рабочего использования, имхо
|
Цитата:
А например в iWork одно удовольствие работать |
работу я понимаю под работой коллектива из n человек выполняющих более менее похожую задачу
если для тебя работа - брут асек, мне тебя жаль( |
Spyder, знаю по крайней мере 1 конторку, где все на маках. Правда там 5 человек всего работает :)
|
Цитата:
|
Цитата:
Для множества людей в мире работа - это печатать в Word или таблички делать в E. Так что разницы никакой. И вообще, для мака есть тот же виндоус софт, только часто лучше. P.S. сам сижу под маком года два и боюсь вспоминать о винде. |
Цитата:
многие дизайн-студии сидят только на маках. Насчёт работы, тот же майкрасофт офис, намного красивее и удобнее под маком, не говорю про iWork. |
+1
на маках сидят крупные дизайн студии, а также видео и аудиостудии |
Цитата:
|
Цитата:
|
кодинг для блондинок.. нажмите эту кнопочку, напишите то-то... ты бы еще видео урок выложил чтоле...
|
Цитата:
А в тобой приведенном стиле и на Qt можно так сделать. |
Цитата:
Цитата:
|
Цитата:
|
Цитата:
|
Наконец скачал твой виджет.. щас посмортрю..
|
про програмирование под мак имхо в посте сказано очень мало. разве что основы работы с интерфейсом xcode. а ведь главное понимать Obj-C - обьектная модель там отличается от привычного большинству С++.
тут заметили что кодинг под мак - это 90% клики мышкой. позволю себе не согласится. может для такой простенькой проги и да, но для более-менее солидного проекта возне с мышкой отводится мало времени. |
scood, +1. Это всего лишь самый простенький пример.. для ознакомления со стрктурой языка и интерфейсом.
|
Цитата:
|
ТС, из какой книги статья перепечатана, признавайся.
P.S. По мануалу сделал. программку для айфона(принцип те же). Полезно оказалось. До этого пробовал 1 раз, ен вкурил. |
Цитата:
|
nerezus, книженция называется "COCOA PROGRAMMING FOR MAC OS (Third Edition)".. Книга существует только на инглише.. Но статья не перепечатана. Это адаптированный перевод.. писал сам. оно и по стилю видно.. А картинки действительно взял оттудова.. Сам долго разбирался.. у меня версия xcode другая.. а различаются кардинально.
P.S. Книга офигенная кстати.. скачай, не пожалеешь.. Под айфоном тоже хочу попробовать, сейчас качаю iphone sdk. |
Цитата:
А под мак я бы юзал Qt, а mac-only софт не нужен ) |
Да хз, честно. Не могу никак определиться, стоит под мак начинать писать, или нет?
Тяготею к Си++, Асму и Фре, и с ними расставаться ой как неохота. С другой стороны, то что у меня сейчас XCode установлен только из-за того, что у него в комплекте GCC - тоже маразмом пахнет, хотя все наверное так и делают. Вот скажите мне, господа, есть-ли веская мотивация в пользу технологий мака, если есть, то какая? Да-да-да, вопросы откровенно тупые, но чем проще вопрос, тем порой сложнее найти на него ответ. Сейчас у меня стоит выбор: FreeBSD/*NIX+C++/Qt или Apple MacOSX+Cocoa и никак к одному решению не приду. Не подскажите? зы: только убедительная просьба писать ТОЛЬКО по конкретному вопросу, мне нафиг неинтересно любое мнение обо мне или том, как я собираюсь это делать. Бывает, редко, вот сейчас как раз такой момент возник, буду рад услышать ваши конструктивные мнения. |
Цитата:
Президент использует мак:) гыы На мой взгляд мак в России в скором времени начнет бурно развиваться, следовательно и программы нужны будут. |
Цитата:
|
Цитата:
|
| Время: 03:57 |