Какой язык программирования для ios. Как грамотно начать погружаться в разработку под iOS и что для этого нужно

Какой язык программирования для ios. Как грамотно начать погружаться в разработку под iOS и что для этого нужно

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

Деньги: как получить?

Спрос на самоучители по разработке для iOS стал особенно высоким с 2014 года. Именно тогда автор из Вьетнама выпустил под эту платформу быстро завоевавшую всемирную популярность игрушку - простую по исполнению, но сложную для прохождения. Проект получил наименование Flappy Bird и принес своему создателю несколько сотен тысяч американских долларов всего за пару месяцев. Тогда многие люди, способные видеть будущее технологий и прогнозировать, на что будет спрос спустя какое-то время, поняли, что пришло время осваивать разработку с нуля для iOS. Действительно, в настоящее время спрос на специалистов в этой сфере велик, но хорошие деньги получают лишь те, кто могут писать качественный код.

Разработка приложений под iPhone у многих вызывает настоящее море вопросов. Совершенно неясно, с чего начинать, как применить уже имеющиеся знания, где пройти обучение, чтобы получить хороший уровень навыков. С чего начать разработку приложений для iOS? На этот вопрос отвечают многие современные книги, но большие объемы и сложная подача информации делают их труднодоступными для непрофессионалов.

Базовые навыки

Обычно уроки разработки iOS начинаются непосредственно с написания кода, а также объяснения приемов, которые могут пригодиться начинающем специалисту. Но ведь далеко не всегда за освоение берется тот, кто уже знаком с подходящим языком программирования, поэтому корректнее говорить, что оптимальный первичный этап - исследование подходящего инструмента. Чаще всего разработчики iOS применяют Objective-C. Язык принадлежит к группе объектно-ориентированных. Из опыта многих разработчиков iOS видно, что именно он удобнее прочих при создании приложений для смартфонов. Впрочем, не только для «яблочной» техники - можно использовать и при работе под Android.

Если созданием мобильных приложений решил заняться человек, ранее уже освоивший какой-либо язык из группы объектно-ориентированных, тогда работа с новым инструментом не доставит проблем. Все ООП довольно близки между собой, подчинены сходной логике. Как стать разработчиком iOS, если навыки создания кода есть? Нужно взять книгу, объясняющую основные особенности Objective-C, и попрактиковаться в программировании элементов. Это занимает немного времени, зато дает отличный результат. Начинающий специалист освоит синтаксис, поймет, какие скрыты в языке возможности, каким образом можно организовать код с максимальной эффективностью. Стоит помнить о том, что если код качественный, то высоко оценивается и разработчик iOS. Зарплата будет приличной - сотни тысяч рублей. А вот те, кто пишут сложный, непонятный, путаный код, получают намного меньше.

Идем с нуля

Впрочем, разработка приложений под iOS доступна не только тем, у кого уже есть опыт создания кода. Можно смело браться за осваивание области, не имея специфических знаний и образования - это дело наживное. Конечно, Objective-C - это не самый простой язык, в том числе и из категории ООП, поэтому проще справиться с ним будет, если сперва вникнуть в логику всей этой группы программных инструментов, после чего особенное внимание уделить специфике конкретного варианта. Как говорят специалисты, разработка приложений под iOS обязательно должна производиться с учетом трех основных особенностей, свойственных инструменту для создания кода: это полиморфизм, наследование, инкапсуляция. Это - киты мира программирования для «яблочных» смартфонов.

В 2014 была выпущена интересная программная разработка - язык Swift. Его представили сами Apple, презентуя как средство для создания приложений под их технику. Основная задача этого продукта - сделать процесс разработки кода простым, быстрым. Swift ориентирован под особенности смартфонов, поэтому при его применении разработка приложений для iOS намного проще, чем при попытке подстроить под эту цель продукты, изначально задуманные как способ написания кода для стационарных машин под управлением других ОС. Swift приобрёл определенную популярность - на нем пишут не только код для приложений смартфонов, планшетов, но и программы для систем наподобие UNIX.

Не распыляться!

Освоение инструментов Swift разумно в случае, когда программист уже знаком с языками объектно-ориентированного программирования. Обязательно нужно уделить время освоению разработки «Яблока» и в случае, если человек способен писать код на Objective-C. А вот если только еще предстоит освоить этот незаменимый инструмент для создания мобильных приложений, тогда не нужно отвлекаться от главной задачи. Swift, конечно, важен и нужен, но заняться им можно будет и попозже - когда удастся «победить» Objective-C. А поначалу и одного этого нового инструмента хватит, чтобы загрузить мозг по полной программе. Как говорят специалисты, это точно не самый простой из языков программирования, зато довольно гибкий и предоставляет много возможностей создания эффективного кода.

Инструментарий: полезно для программиста

Разработка приложений для iOS предполагает взаимодействие с несколькими инструментами, позволяющими сделать приложение оптимизированным, работоспособным, эффективным и эстетичным. Традиционно наиболее важная и упоминаемая первой - это среда разработки. При создании продуктов для «яблочных» мобильных приборов лучше всего обращаться к XCode. Он совершенно бесплатен, а скачать можно через официальный магазин приложений. Распространение свободное, доступ есть у всех желающих.

Следующий инструмент для разработки приложений для iOS - редактор, позволяющий корректировать созданный код. Предпочтение лучше отдавать легким, простым программам. Традиционно наиболее популярны те, где есть функция подсветки. Всего несколько секунд - и вот уже написанный код запущен. Для обнаружения ошибочных строчек и исправления необходимо немного времени, это не загружает ресурсы машины, на которой работает программист.

Графика достойна внимания

Удивительно, но многие начинающие программисты совсем не уделяют времени этой составляющей создания программы. Чтобы разработка приложений для iOS стала процессом, завершающимся выходом работоспособного, привлекательного приложения, нужно освоить инструменты, позволяющие корректировать внешний вид программы. Лучше всего подходит технология векторной графики. Это даст возможность создания уникальных изображений, иконок, придающих продукту оригинальность, индивидуальность. Несмотря на то что иные скажут, будто бы украшательство - слишком уж сложная задача, нельзя добиться успеха, если продукт визуально не будет привлекать пользователя. Тем более в наши дни, когда конкуренция в магазине приложений Apple просто огромна и есть варианты на любой вкус и для любой цели. Вытеснить их, привлечь внимание к своей разработке удастся в случае, когда новинка не только хорошо функционирует, но и красиво выглядит.

Корректное начало: четкий план

Без создания детального плана не стоит рассчитывать на сколько-нибудь успешный результат. Структурирование - не самая простая задача, но она точно заслуживает внимания. Перед началом непосредственно кодирования нужно выделить несколько часов и сесть со скетчбуком, чтобы составить оптимальный план. В рамках планирования важно сформировать представление о дизайнерском решении продукта, сформулировать, для кого он предназначен и какую функциональность несет.

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

Проект: первый пошел

Самый первый проект не должен быть сложным. Можно попробовать создать учебное приложение, имеющее только один экран. Для этого открывают XCode, создают новый проект, задают платформу для применения правильных инструментов оптимизации, после чего выбирают тип программного продукта. Чтобы упростить освоение среды, можно начать с Single View Application. Для проекта задают уникальное имя. В стандартном режиме среда программирования считает, что написание будет вестись на Objective-C. Если программист желает применять другой инструмент, ему нужно обратиться к перечислению возможных языков. Среди пунктов меню есть ответственный за язык, там следует назначить наиболее удобный вариант из доступных. После этого переключают на универсальный режим во вкладке Devices.

В навигационной панели разворачивают иерархическую структуру для поиска документа Main.storyboard. При его выборе можно увидеть клавишу Interface Builder - ее активируют, из показанной панели отбирают необходимые инструменты, перемещают их в удобное положение, выравнивают, проводят подстройку. Для отражения элементов в коде каждый объект выбирают мышью с зажатой клавишей Ctrl, перемещают в ViewController.h, что инициирует запуск диалогового окна Outlet, где можно указать свойства образованной связи. Здесь программист указывает имя, по которому элемент можно вызывать в коде программы.

Чтобы создать эффективный обработчик действия, придется повторить указанную выше цепочку действий, но применяя диалоговое окно ViewController.m. Внутри него формируется метод с закодированной программой. Машина будет обращаться к ней всякий раз, когда нужно взаимодействовать с компонентом.

Поверяем результат: тестирование

В крупных компаниях этой задачей занимаются сразу несколько сотрудников. Применяется довольно сложная методология. Сперва формируются кейсы, где указано, какие действия нужно протестировать, какие результаты программа должна выдать, а также проводятся реальные эксперименты с фиксированием итогов. Для начинающего разработчика мобильных приложений под ОС от Apple все несколько проще (но и сложнее в то же время). Здесь тестирование полностью ложится на автора кода, но и самих задач, подлежащих проверке, обычно немного, поэтому можно провести операцию в ручном режиме. Для этого потребуется эмулятор, через который запускают программные компоненты. В ходе взаимодействия можно найти, какие решения были неудачными, какие ошибки были допущены, отметить это для себя и исправить при доработке кода.

При самостоятельном тестировании важно представить себя сторонним пользователем, никак не связанным с кодом. Более того, нужно вообразить себя критиком, заинтересованным только в ошибках, человеком, которому не важны положительные качества программы, но лишь отрицательные. Нужно стараться сломать программу все возможными методами. Должны вводиться числа? Вводите в это поле буквы. Нужно нажимать на клавишу быстро - нажимайте долго. Словом, тестирование - время, когда нужно рушить все установленные правила и рекомендации.

Не хочу, не буду!

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

Как говорят профессионалы, доверить поиск ошибок стороннему человеку - это хороший вариант, гораздо более эффективный, нежели самостоятельное решение проблемы. Фрилансер понятия не имеет, что должна делать программа, а что - нет, поэтому его сознание «не замутнено» излишками информации. Такому человеку проще тестировать приложения, значит, удастся найти больше проблем и устранить их до момента официального релиза.

Больше публики!

Если эксперименты на фрилансерах показали, что приложение готово к «свободному плаванию», пришло время его публиковать. Для этого продукт загружают в AppStore. Программная среда XCode при нажатии ответственных за это клавиш составит сборку того типа, который заранее установит программист. Необходимо выбрать вариант Distribution. Компилятор создаст файл и запишет его в директорию, закреплённую за проектом. Затем вручную программист пакует документ в архив ZIP.

Следующий шаг - использование интерфейса центра разработчиков iOS, где нужно найти меню iTunes Connect. Через функции управления и добавления можно перейти на страницу анкеты нового продукта. Все указанные тут поля придется заполнить самостоятельно. Можно подготовить информацию заранее - например, пока проект тестируют. Надо написать уникальное описание, указать контактные данные, сделать небольшую иконку (разрешение 512*512), скриншоты.

Что делать дальше?

Чтобы опубликовать приложение, необходимо воспользоваться специальным программным продуктом, предназначенным для загрузки новых объектов - Uploader Tool. Скачать его можно по ссылке, которую система откроет, когда пользователь перейдет в меню готовности к загрузке. В автоматическом порядке происходит соединение с iTunes, после чего оболочка сама определит, какими проектами располагает пользователь. Остаётся только выбрать нужный, и он будет подгружен программой, без специальных усилий.

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

Новости - это важно

Разработчик XCode довольно часто выпускает обновления для этой среды. Необходимо применять самую новую версию. Это не только дает возможность работать с программой, где минимизировано количество ошибок, но и позволяет регулярно узнавать обо всех обновленных функциях. Пользуясь самым новым и мощным интерфейсом, программист упрощает поставленную перед ним задачу. Кроме того, Apple регулярно выпускают обновления iPhone SDK. Самый актуальный инструментарий будет залогом хорошего результата.

Ложка дегтя в бочке меда

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

Многие начинающие разработчики или люди, которые просто интересуются программированием, не знают, как можно легко и быстро создать приложение для iOS.

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

Шаг первый. Придумайте идею и название

Конечно же, с самого начала необходимо придумать хорошую идею, которая могла бы пользоваться популярностью. Приложение должно быть простым, функциональным и нужным пользователям. Вот несколько советов, которые помогут вам найти отличную идею и воплотить ее в жизнь:

1 Зайдите в AppStore и посмотрите представленные там программы. Возможно, вам что-то придет в голову.

2 Также посмотрите на список своих приложений (установленных ). Вероятно, что не все из них нравятся вам и хотелось бы добавить к некоторым какую-то функцию. Это и будет идея для вашего творения!

3 Посмотрите на приложения своих друзей с той же целью .

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

Что касается названия, то к этому вопросу также стоит отнестись очень серьезно. Для начала посмотрите на самые и их названия. Зайдите на apple.com/ru/itunes/ с этой целью. Обязательно посмотрите раздел бесплатных и платных.

Эксперты выделяют несколько советов относительно того, каким должно быть название, а конкретно:

  • длина около 10 символов (не намного больше, можно меньше, но, опять же, не слишком);
  • желательно английский язык (в интерфейсе, кстати, он тоже должен быть, чтобы расширить потребительскую аудиторию);
  • два слова в названии;
  • одно слово должно полностью отражать предназначение;
  • второе слово должно быть описанием первого.

Шаг четвертый. Разработка концепции

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

  • Целевая аудитория. Обязательно подумайте о том, кто будет вашим пользователем. Это может быть молодой, целеустремленный и знакомый с современными гаджетами молодой человек. С другой стороны, это может быть пожилой пользователь, который далек от технологий. От этого будут зависеть остальные две составляющие концепции.

  • Функционал. Четко перечислите все функции, которые будет выполнять приложение.
  • Дизайн. Набросайте, пусть даже на листок бумаги, то, как будет выглядеть приложение. Причем вы должны четко понимать, что будет собой представлять стартовый экран, какие на нем будут кнопки, и что будет на дополнительных страницах. Кроме того, добавьте кнопки согласно списку функций. Также разработайте дизайн всех кнопок.

Когда все наброски у вас есть, можно приступать к кодингу!

Шаг пятый. Кодинг

Вот теперь открывайте Xcode и выполняйте следующие этапы создания ПО на iOS:

1 На стартовом экране, в меню слева нажмите «Application» (откройте этот раздел) и выберете «Empty Application» . Нажмите «Next» . Дальше введите свои данные, а в поле идентификатора разработчика (дается Apple) укажите «example» , а в поле префикса класса укажите «XYZ» .

2 Дальше выберете «File» и в выпадающем списке «New» . Дальше последовательно нажмите «User Interface» , «Storyboard» и кнопку «Next» . В меню устройств выберете и в поле имени введите «Main» . Сохраните этот файл в ту же папку, что и основной проект. После этого в древе проекта (слева) появится файл Main.storyboard. Это, как вы уже могли понять, визуальное представление всех экранов вашей программы. В дальнейшем вы будете редактировать именно его.

3 Теперь нужно сделать так, чтобы при запуске приложения открывался именно тот экран, который вы создадите в Storyboard. Для этого в дереве папок слева последовательно выберете свой проект, «Targets» , «General» , «Deployment Info» . Затем возле надписи «Main Interface» выберете «Main» , как на рисунке 8, - именно так мы назвали наш экран на предыдущем этапе.

Рис. 9. Назначение созданного экрана главным в Storyboard

4 Теперь, собственно, нужно создать этот самый главный экран, который откроется первым при запуске. Для этого в дереве слева нажмите на «storyboard» один раз. В основном окне откроется пустое окно. Внизу справа нажмите на иконку в виде куба, это библиотека объектов, которые можно внести на экран. Теперь справа найдите «View Controller» и перетащите его курсором мыши на пустое поле. Появится объект прямоугольного вида. Собственно, туда можно добавлять и все элементы.

5 Теперь вы можете добавлять и другие объекты из библиотеки . Это могут быть текстовые поля, поля ввода и остальные элементы. Если нажать на них два раза, то появится возможность изменять их атрибуты и свойства. Собственно, таким же образом можно написать какой-то код для реакции на клик. Впрочем, если вы смотрели видеоуроки по Objective-C, то прекрасно знаете, какие элементы вам нужны и как их добавить.

6 Если вам потребуется добавить еще экран, то сделайте это таким же образом, как и раньше – переместите на пустое место объект «View Controller» . Дальше можно будет так же перемещать различные объекты на него.

7 Теперь нужно сделать так, чтобы пользователь мог перемещаться между этими экранами с помощью свайпа или же путем нажатия на соответствующую ссылку. Для этого существует объект под названием «Navigation Controller» . Переместите его на свой главный экран. Дальше нажмите на «Editor» , затем «Embed In» и на вышеупомянутый объект. Вверху главного экрана появится серая панель. Это и означает, что к нему добавлена так называемая панель навигации.

8 Чтобы добавить кнопку перемещения по экранам, существует объект «Bar Button» . Это кнопка, если сказать проще. Переместите ее на панель навигации и задайте соответствующие свойства.

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

  1. Язык программирования. Какой нужно знать, чтобы писать приложения под iOS.
  2. Нужен ли дизайнер, разработчик интерфейсов или кто-то еще?
  3. Официальная часть: сертификат разработчика.
  4. Необходимое оборудование для комфортной разработки.
  5. Вечный вопрос: AndroidOS или iOS?
  6. Что нужно сделать сегодня?
  7. Создание нового проекта.
  8. Компиляция. Что это такое и зачем это нужно?
  9. Запуск на симуляторе.
  10. Выводим “Hello, world!”.
  11. Какие стандартные view есть в iOS.

Язык программирования. Какой нужно знать, чтобы писать приложения под iOS

Язык программирования (wikipedia.org) - формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под ее управлением.

Пожалуй, вопрос, который я задал в названии этой части, довольно сложный. Я могу ответить на него просто – Objective-C. Если бы я на этом остановился, то я бы оказался неправ. Я бы сказал, что Objective-C – это необходимый минимум. Недавно проходила конференция от Яндекса – YET, на ней один из докладов был посвящен как раз тому, какие языки программирования должен знать разработчик. Ответ был вроде следующего: “Он должен изучать новые и новые языки программирования постоянно, не останавливаясь на каком-то конкретно” . Я с этим полностью согласен. Изучая новые языки программирования, вы изучаете новые подходы, методы программирования. Поэтому, чтобы писать приложения под iOS, нужно знать Objective-C, но также желательно знать и другие языки программирования, чтобы ваш код был хорошим, эффективным, гибким.

Если вы еще не программист, то я вам советую начать с языка Си. Скачайте книгу Кернигана и Ритчи (а лучше купите ) о языке Си, прочтите ее, проделайте все, что там вам предлагается, и уже после этого я посоветовал бы вам переходить к Objective-C. Если же вы уже представляете себе, как писать программы, готовы с легкостью ответить на вопросы – “Что такое типы данных? Что такое переменная? Что такое функция или метод? Что такое ссылка и указатель? Что такое “ include ”?” , вы знаете Си или C++ или же Java или C#, то вы готовы к написанию своего первого приложения под iOS.

Также вам необходимо знать основы ООП и шаблоны проектирования. Наверное, список можно и дальше продолжать, но вряд ли я готов претендовать на качественное объяснение данных понятий. Да, к сожалению, Objective-C не тот язык, с которого можно начать свой путь программиста. Но если вам нравится и хочется творить, то вам пора бежать в магазин, закупаться книгами и начинать свой путь разработчика.

Нужен ли дизайнер, разработчик интерфейсов или кто-то еще?

Очередной, не менее простой вопрос. Если вы программист и умеете писать консольные программы и хотите начать писать приложения под iOS, то на начальном этапе вам такой человек не нужен. Если у вас есть iPhone || iPad || iPod Touch, вы знакомы с iOS, то вам не нужен разработчик интерфейсов. Вообще, у Apple есть такой документ – Human Interface Guidelines . В данном документе описано, где и какой элемент интерфейса надо использовать. Поэтому на начальном этапе можно обойтись и без третьих лиц. Вообще iOS SDK предоставляет достаточно возможностей для разрисовки интерфейса приложения, так что рисовать в PS какие-то там кнопочки или разноцветные тексты, градиентные заливки и прочее вам не придется. Позже мы с вами создадим первый проект, в котором мы познакомимся со всеми этапами создания приложения “Hello, World!”.

Однако, нужно понимать, что когда пойдут серьезные проекты, приложения, которые вы захотите опубликовать в AppStore, то вам уже будет сложнее без дизайнера и разработчика. Сложность может проявиться на разных этапах – либо при разработке приложений, когда вы будете тратить часы в поисках необходимой картинки или сидеть и творить в PS, либо же после того, как опубликуете приложение и начнете получать комментарии от наших любимых юзеров, которые будут жаловаться на ваш убогий дизайн бесплатного приложения. Я столкнулся на обоих этапах с такими проблемами. После получения отстойных комментариев в AppStore я хотел забросить свое приложение, которое между прочим бесплатное, и забыть о неблагодарных пользователях. Однако, полезность самого приложения для меня, а также для многих других пользователей, заставила меня проглотить те гневные комментарии и продолжить разработку приложения. Месяца три назад я начал разрабатывать приложение вместе с дизайнером, который говорит что и куда вставлять, какой цвет выбирать, где и какую картинку рисовать, и это, я хочу сказать, довольно-таки удобно. Поэтому я все же советую в какой-то момент начать использовать услуги дизайнеров, чтобы получать хороший фидбэк от пользователей. И помните – пользователи iOS-устройств хотят видеть хороший дизайн приложения, даже если и его функциональность страдает.

Официальная часть: сертификат разработчика

Наверное, вы уже много слышали о каком-то там сертификате разработчика. Сейчас я постараюсь вас ввести в курс дела – зачем он и нужен ли он вам прямо сейчас. Сертификат разработчика представляет собой некий файл, как и любой другой сертификат. Этот файл выдает вам компания Apple после того, как вы пройдете все этапы регистрации в системе iOS (MacOS ) Developer (Enterprise ) Program .

Что же вам даст наличие данного файла и регистрация в одной из вышеуказанных программ? Ответов на этот вопрос – тьма тьмущая. Поэтому скажу только о самом важном (все нижеописанное дается вам ровно на один год):

  • тестирование ваших приложений на своих девайсах (хотя вроде это хакается и можно и без сертификата)
  • доступ к форуму разработчиков на портале Apple (хотя есть сообщество StackOverflow.com, где гораздо оперативнее можно найти ответ на ваш вопрос)
  • возможность скачать бета-версии (ну и конечно же текущие) iOS и Xcode
  • возможность установить бета-версии iOS на свой девайс
  • возможность опубликовать приложение в AppStore
  • возможность привязать до 100 устройств к своему аккаунту, тем самым разрешив данным девайсам устанавливать бета-версии iOS, тестировать ваши приложения (еще не опубликованные в AppStore) и еще много чего нелегального
  • возможность попонтоваться перед друзьями, что вы официальный разработчик iOS-приложений

Если вы решили, что вам нужен такой сертификат, то будьте готовы расстаться с 100$ (300$ для Enterprise), отправить факс в США, ввести данные вашей банковской карты (внимание! Вашей, именно вашей), ну и дочитать эту главу.

Итак, поехали.

  1. Идем по этой ссылке http://developer.apple.com/programs/ios/
  2. Кликаем на Enroll Now
  3. Читаем внимательно флуд и идем дальше – Continue
  4. Тут у нас 4 пункта:?a. Вы хотите создать новый Apple ID для Apple Developer Program?b. Вы хотите использовать существующий Apple ID?c. Вы уже зарегистрированы, как простой разработчик, а теперь хотите стать официальным разработчиком со всеми вышеописанными плюшками?d. Вы уже являетесь участником iOS или Mac Developer Program и хотите привязать к вашему аккаунту еще одну программу
  5. Друзья, дальше вам самим надо пройти пару шагов по заполнению личных данных. Я уже точно не помню, что там. Возникнут вопросы – задавайте в этом топике, я отвечу по-возможности на всё.
  6. Вам дали ссылку на.pdf файл, который надо заполнить и отправить по факсу в Apple.
  7. Печатаем его, заполняем (очень внимательно и аккуратно).
  8. Отправляем факс в офис Apple в США. (Будьте бдительны, чтобы ваш факс не попал в чужие руки, потому что там вы указываете номер банковской карты и CVV).
  9. Ждем N-ое количество дней (недель), пока Apple обработает ваш запрос.
  10. Получаем письмо, в котором вас поздравляют с тем, что вы зарегистрировались в программе и лишились ста баксов. Ура!

После удачного прохождения квеста у вас будет доступ к http://developer.apple.com/membercenter/ . Пожалуй, обзор той страницы либо требует отдельной статьи, либо требует поиска в гугл/яндекс.

Ну вот, друзья, перейдем к оставшимся на повестке дня вопросам.

Необходимое оборудование для комфортной разработки

Если вы серьезно решили начать разрабатывать приложения под iOS, то крайне рекомендую сразу приобрести компьютер/laptop с MacOs. Наиболее дешевый вариант – Mac Mini, или что-нибудь б/у. Если вы студент и собираетесь таксать оборудование с собой – Macbook Air. Если у вас много денег и вы хотите мощный универсальный ноутбук – для игр, сложных вычислительных задач и программирования – Macbook Pro. Если вы хотите взять настольный компьютер – iMac или Mac Mini. Для разработки – вам подойдет любой компьютер в любой существующей конфигурации. Размер экрана – на ваше усмотрение. Я вот лично сейчас сижу за Macbook 13” и Mac Mini 17”. Меня устраивают оба дисплея. Если что, то можно всегда подключить внешний монитор к ноутбуку.

Не забываем о том, вам рано или поздно понадобится iPhone, iPod или iPad. Не надо доверяться только iOS-симулятору, который распространяется в одном пакете с Xcode. Всегда тестируйте релизные версии на девайсах. Или же – ищите тестеров (ответственных и добросовестных).

Если вы не готовы потратить столько денег на новое оборудование, то можно попробовать поставить хакинтош на ваш компьютер.

Вечный вопрос: Android или iOS?

Возможно, что данный вопрос надо было задать в самом начале, однако он все же расположился в конце данной статьи. Вы уверены, что хотите попробовать себя в область мобильной разработки, но не знаете какую мобильную платформу выбрать? Я не смогу ответить на этот вопрос за вас. Но я знаю одно – если вы хотите разрабатывать приложения под iOS, то вы должны любить продукцию Apple и операционную систему iOS и MacOs. Вы спросите – почему это? Ответ прост – вы должны любить свое дело, вы должны творить. Только тогда вы сможете разработать поистинне классный и полезный продукт. Только в этом случае вы будете изучать с наслаждением Objective-C и iOS. Я считаю, что это очень важно. Если вы обладаете схожими чувствами к продукции Apple, то смело идите в область iOS-разработок. Если вы думаете – я вот знаю Java, но не знаю Objective-C, однако мне больше нравится iOS, чем AndroidOs – то выбирайте iOS. Нет, ну а что вы ожидали, что я начну хвалить Android OS?

Также мне нравится iOS-сфера своим магазином приложений. Там все красиво, правильно и там очень жесткая модерация приложений. Та свалка приложений, которая сейчас в Andoroid OS – это просто ужас, как для пользователей, так и достойных разработчиков.

Что нужно сделать сегодня?

Сегодня вы должны решить: когда вы начнете разрабатывать приложения, хватит ли вам текущего опыта для изучения Objective - C , есть ли у вас необходимое оборудование, а самое главное желание?

Hello, world.

Проверка готовности

Перейдем от теории к практике. Для практического занятия вам понадобится Xcode 4.2 с iOS SDK, желательно сертификат разработчика, знание С, С++, Java или Objective-C (ну может знания и в других языках подойдут) и, наконец, желание начать писать приложения под iOS. Если вам чего-то не хватает, например, сертификата разработчика, то статья будет актуальна для вас все равно. В любом случае, мне кажется, каждому пользователю iOS-девайса должно быть интересно взглянуть на внутреннюю кухню разработки приложений.

Создание нового проекта

Поехали. Нажимаем на иконку Xcode. Откроется окошко подобного содержания:

Выбираем пункт “Create a new Xcode project”. В следующем окне выбираем тип проекта. Нам нужен: “iOS – Application – Single View Application”.

Нажимаем Next. Увидим окно следующего содержания:

Разъясню поля ввода:

  1. Product Name – Название нового проекта – можете ввести любое, но я советую использовать названия, идентичные моим, потому что я периодически буду на них ссылаться.
  2. Company Identifier – Идентификатор вашей компании – можете заполнить его как угодно.
  3. Bundle Identifier – уникальный идентификатор вашего приложения. Это поле можно будет отредактировать позднее.
  4. Class Prefix – префикс, который будет приписываться к названиям всех классов, которые вы создадите в проекте. Я оставил поле пустым (“XYZ” – это просто подсказка).
  5. Device Family – на какие типы устройств можно будет устанавливать проект. Можно выбрать один из трех вариантов: iPad / iPhone / Universal . Их назначение очевидно. Если вы сейчас не можете решить, нужно ли вам создавать универсальное приложение, то можете выбрать любой из других вариантов. Это можно будет исправить на любом этапе жизненного цикла ПО.
  6. Use Storyboard – это связано с созданием модели пользовательского интерфейса. Добавилось вместе с iOS5, так что при использовании этого ужаса ваше приложение можно будет установить только на устройства с осью iOS5 или выше.
  7. Use Automatic Reference Counting – это новая фишка компилятора Apple LLVM 3.0 – автоматически (почти) управляет памятью (следит за утечками, зомби и прочими ужасами). Я бы сказал, что для новичка – идеальный вариант. НО – 1) не все там уж такое автоматическое, 2) доверяете ли вы компилятору больше, чем себе?, 3) Рекомендую управлять памятью вручную.
  8. Include Unit Tests – подключить к проекту юнит-тестирование.

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

Галочку “Create local git repository for this project” не ставим. Лучше потом при необходимости подключим наш проект к репозиторию кода, если вдруг понадобится.

Нажимаем “Create” и видим новое окно, окно нашего рабочего пространства:

И так, у нас создан проект, сгенерировались какие-то файлы, какие-то окошки открыты.

Ознакомимся с файлами в навигационном меню:

  • файлы с суффиксом “.h” – это хэдеры, там, где мы будем давать описание классов
  • файлы с суффиксом “.m” – это implementation файлы, там, где мы будем реализовывать ранее описанные классы
  • файлы с суффиксом “.xib” – это файлы, в которых описывается интерфейс одного окна приложения

Компляция проекта

Компиляция -

  1. трансляция программы на язык, близкий к машинному, и последующая её компоновка.
  2. трансляция программы, составленной на исходном языке, в объектный модуль (осуществляется компилятором) и последующая её компоновка в готовый к использованию программный модуль.
  3. трансляция программы, составленной на исходном языке, и последующая её компоновка в программу на некоем машинонезависимом низкоуровневом интерпретируемом коде (как например в случае языка Java).

Процесс компиляции состоит из следующих фаз:

  1. Лексический анализ. На этой фазе последовательность символов исходного файла преобразуется в последовательность лексем.
  2. Синтаксический (грамматический) анализ. Последовательность лексем преобразуется в древо разбора.
  3. Семантический анализ. Древо разбора обрабатывается с целью установления его семантики (смысла) - например, привязка идентификаторов к их определениям, типам данных, проверка совместимости типов данных, определение результирующих типов данных выражений и т. д. Результат обычно называется «промежуточным представлением/кодом», и может быть дополненным древом разбора, новым древом, абстрактным набором команд или чем-то ещё, удобным для дальнейшей обработки.
  4. Оптимизация. Удаляются избыточные команды и упрощается (где это возможно) код с сохранением его смысла, то есть реализуемого им алгоритма (в том числе предвычисляются (то есть вычисляются на фазе трансляции) выражения, результаты которых практически являются константами). Оптимизация может быть на разных уровнях и этапах - например, над промежуточным кодом или над конечным машинным кодом.
  5. Генерация кода. Из промежуточного представления порождается код на целевом языке (в том числе выполняется компоновка программы).

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

И так, когда вы нажимаете “Build project”, то сначала выполняется лексический анализ вашего кода, если он успешен, то синтаксический анализ, и затем семантический анализ. В Xcode все время работает некий легковесный процесс, который выполняет эту функцию, тем самым подсказывая разработчику “на лету” . Например, если вы не поставили “;” или вдруг приравняли int некую строчку символов, то Xcode подчеркнет строку красной волнистой линией.

Запуск на симуляторе

И так, попробуем запустить наш проект, для которого мы еще не написали ни строчки кода лично.

Для этого обратимся к меню: Схема компиляции (ей присвоен зеленый цвет на моем скриншоте). Схема – это некая конфигурация проекта. Xcode генерирует ее автоматически. Нажимаем на строку, которая стоит справа от названия проекта (имя девайса), если девайс не подключен, то будет написано “iOS Device”. У вас появится выпадающий список следующего содержания:

В этом списке мы выбираем то, куда будет установлен наш проект: это может быть либо ваш девайс, либо симулятор. Если вы выбрали тип приложения универсальный, то можно будет выбрать тип симулятора: iPhone или iPad. Также можно для симуляторов выбрать версию операционной системы (важно протестировать проект на всех версиях iOS, на которые приложение можно установить). Раз заговорили о минимальной версии iOS, то надо и упомянуть, как определить ее минимальную версию? Все просто – если вы используете методы (фичи), которые были добавлены в версии iOS, например, 4.0 , то планка минимальной требуемой операционной системы поднимается до 4.0 . Давайте опустим планку до 4.0 с 5.0 . Для этого обратимся к меню: “Deployment target” (выделено синим цветом на моем рисунке). Из выпадающего списка выбираем 4.0 . Теперь опять вернемся к меню: Схема компиляции . Наш список теперь выглядит следующим образом:

Выберем “iPhone 4.0 Simulator”. И, наконец, нажимаем на стрелочку, под которой написано “Run”. В “Информационном табло” мы увидим процесс компиляции. После того, как все удачно соберется, у нас откроется окно симулятора iPhone:

Теперь быстро пробежимся по возможностям симулятора.

  • Можно симулировать iPhone, iPhone Retina, iPad.
  • Симулировать различные версии iOS.
  • Снимать скриншоты.
  • Крутить экраны (портретный и ландшафтный режимы)
  • Трясануть
  • Симулировать нехватку памяти.
  • Симулировать сервер печати
  • Геолокационное положение
  • Мультитач жесты(максимум 2 пальца)
  • Прочее

Ко всем этому можно получить доступ из меню программы симулятора:

Пару слов о симуляторе. На симулятор можно устанавливать приложения только через Xcode, их можно удалять прямо из симулятора (как и на реальном устройстве), он поддерживает многозадачность. Но и обладает многими ограничениями, например, нельзя устанавливать сертификат в локальное хранилище сертификатов приложения. Но самый главный недостаток то, что это СИМУЛЯТОР , а не ЭМУЛЯТОР . То есть он всего лишь делает вид, что является iOS-девайсом, просто отрисовывая похожий интерфейс (программный уровень). А вот эмулятор как раз выполняет в точности то, что будет выполнять девайс (на физическом уровне). Какой надо сделать вывод? Обязательно тестируйте на реальном девайсе. У меня бывали случаи, когда на девайсе работает, а на симуляторе нет, и наоборот.

Выводим “Hello, world!”.

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

Данная глава написана в память о Деннисе Ритчи, создателе языка программирования C и ключевой разработчик операционной системы UNIX , а также как соавтор книги «Язык программирования C » .

Цель главы – украсить наш пустой серый экран. Отлично, поехали. Возвращаемся в Xcode, выбираем в навигационном меню “ViewController_iPhone.xib”. Далее выбираем “View” в появившемся списке. Справа выбираем “Attributes Inspector”. Вот как окно выглядит у меня плюс дополнительные комментарии:

Теперь добавим метку UILabel. UILabel – это название класса в iOS SDK, который позволяет отобразить нередактируемый текст на экране. Вообще, все классы, позволяющие что-то отобразить, имеют префикс UI : UIView, UITableView, UITextView, UIButton,…. В окне “Доступные объекты для отображения” ищем строку с именем Label. Как-то только нашли, то нажимаем на нее и перетаскиваем на наш текущий вид экрана.

Синие пунктирные линии помогут вам отцентрировать/откалибровать относительное положение метки. И так, выбираем Label в списке отображаемых объектов, если еще не выбрано, и видим в свойствах пункт: Text. Давайте впишем туда “Hello, World!” и нажмем Enter . Вот у нас изменился текст метки и сжался. Давайте это исправим. В категории свойств выберем “линейку” “Size Inspector”. Там есть поля:

  • x и y – координаты верхнего левого угла метки относительно родительского вида, то есть того вида, куда мы поместили метку – это вид View в нашем случае.
  • width и height – соответственно ширина и высота редактируемого объекта.

Вы можете попробовать редактировать эти значения и проследить изменения. Также редактировать положение и размер можно непосредственное двигая метку (текст) и дергая ее каркас за различные “точки” .

Потратьте еще минут 15-25 и поиграйтесь с различными свойствами в различных категориях:

  1. Выравнивание текста
  2. Размер шрифта
  3. Цвет, тень текста
  4. и др.

Впоследствии мы будем к ним возвращаться и я буду пояснять предназначение тех или иных полей.

Какие стандартные view есть в iOS.

В предыдущем пункте я затронул названия некоторых классов, отвечающих за интерфейс. Собственно приставка UI и означает User Interface. Тут я приведу, возможно не полный, список доступных типов view. Во-первых, все описанные ниже классы наследуются от UIView, т.е. обладают теми же свойствами и методами. Во-вторых, вы всегда можете создать собственный кастомный view. Список ниже:

1) UILabel – метка – основное назначение: отображение одной или нескольких нередактируемых строк текста.

2) UIButton – кнопка – основное назначение: обычная кнопка, посылает сигналы объектам, уведомляя о том, что на нее нажали

3) UISegmentedControl – кнопка с сегментами – основное назначение: кнопка с несколькими активными частями, можно определить, на какую нажали

4) UITextField – текстовое поле ввода – основное назначение: поле для ввода текста пользователем

5) UISlider – слайдер – основное назначение: обычный слайдер, помогает более интуитивно изменять какие-либо настройки

6) UISwitch – On/Off переключатель – основное назначение: имеет два состояни – включен или выключен, назначение очевидно

7) UIActivityIndicatorView – индикатор активности – основное назначение: обычно используется, чтобы сообщить пользователю о том, что приложение либо скачивает данные, либо просто выполняет какие-то вычисления

8) UIProgressView – индикатор состояния (прогресса) – основное назначение: отображать состояние завершенности чего-либо

9) UIPageControl – переключение между страницами – основное назначение: отображение количества страниц, отображение текущей страницы

10) UIStepper (>= iOS 5)- +/- пошаговый контроллер – основное назначение: тоже очевидно

11) UITableView – таблица – основное назначение: отображение таблицы, пожалуй, самый популярный элемент

12) UITableViewCell – ячейка таблицы – основное назначение: отображение строки в таблице, обычно кастомизируется

13) UIImageView – изображение – основное назначение: отображение картинки или изображения

14) UITextView – текстовое поле (скроллируемое) – основное назначение: отображение большого объема текста, который можно прокрутить.

15) UIWebView – web – основное назначение: отображение web-страницы

16) UIMapView – карты – основное назначение: отображение карты

17) UIScrollView – скроллируемый вид – основное назначение: отображение нескольких view, которые не помещаются на одном экране

18) UIDatePicker – вид выбора даты – основное назначение: идеальный вариант для ввода даты

19) UIPickerView – вид выбора барабанный – основное назначение: альтернатива таблице при выборе какой-либо опции

20) UIView – просто вид – основное назначение: очевидно

21) UINavigationBar – навигационная панель – основное назначение: панель, в которую выводится заголовок экрана и дополнительные кнопки управления

22) UINavigationItem – элементы UINavigationBar – основное назначение: очевидно

23) UIToolbar – тулбар – основное назначение: отображение панели, на которую помещаются кнопки для управления приложением

24) UIBarButtonItem – элементы тулбара – основное назначение: очевидно

25) UIBarButtonItem (fixed and flexible space) – элементы тулбара особенные – основное назначение: изменяем расстояние между кнопками на тулбаре

26) UITabBar – таббар – основное назначение: помогает переключаться между различными несвязанными с друг другом экранами

27) UITabBarItem – элемент таббара – основное назначение: очевидно

Эта статья открывает цикл, предназначенный для новичков. Смею надеяться, что уровень подачи материала позволит разобраться в нем даже людям не знакомым с программированием. Начнем наше повествование с небольшого лирического отступления. Приложения для iPhone и iPad пишутся на языке Objective-C. Этот язык широко использовался в компании NeXT и пришел в Apple после возвращения Стива Джобса. В настоящее время Objective-C является основным языком разработки OS X и iOS приложений.

Для того, чтобы начать программировать под iOS, Вам понадобится компьютер Mac на базе процессора Intel и среда разработки XCode. Если у Вас нет Mac-а - не беда. Возможно Вам подойдет один из описанных методов решения этой проблемы. Мы будем ориентироваться на XCode 4 и iOS5.

Установка XCode

Для начала нам придется зарегистрироваться наApple-овском dev сайте. Перейдите по ссылке и нажмите на register. Щелкните кнопку Get Started и пройдите процесс регистрации. Там все довольно просто, поэтому я не буду останавливаться на этом моменте. После регистрации Вам пришлют письмо с вашим Apple ID. Вернитесь на страницу Apple Developers и используйте его для входа в защищенную зону. В разделе DevCenters щелкните по ссылке iOS. Как видите, Apple предлагает вам кучу документации, исходников и уроков. На этой странице есть все, что нужно для начала разработки под iOS. В самом низу есть кнопка Download Xcode, которую нужно нажать. После загрузки установите Xcode на свой Mac.

Знакомство с интерфейсом XCode 4

Для запуска Xcode перейдите на свой главный диск и щелкнете по developer>Applications.

После того, как Xcode запустится, выберите пункт меню File>New Project, затем "Single View Application" и введите в качестве имени проекта (Product Name) HelloWorld. В результате у вас должно отображаться что-то вроде этого

Весь Ваш код и ресурсы разложены по специальным папкам, которые располагаются в левой части окна Xcode. Панель называется "Project Navigator" и содержит все элементы Вашей программы. Файлы с исходным кодом имеют расширение ".h" и ".m". Если вы щелкните по такому файлу, то в правой части Xcode откроется редактор с кодом.

Не будем пока останавливаться на коде. Мы вернемся к этому вопросу чуть позже. Если Вы посмотрите на верхнюю часть экрана, то увидите несколько кнопок, связанных с Вашим проектом. Изучим эту панель подробнее.

Кнопка "Run" запускает ваш проект. Вы можете протестировать свое приложение и убедиться, что оно ведет себя действительно так, как вы того ожидаете. Кнопка "Tasks" останавливает запущенное приложение.

С помощью кнопки Schemr можно выбрать целевую платформу, где будет запускаться ваше приложение. Здесь вы можете выбрать какой-нибудь simulator, и отлаживать программу на компьютере, или запустить ее на своем iPhone (iOS Device), если Вы заплатили сбор в $99. Единственное преимущество, которое дает этот платеж - возможность запускать программу на реальном устройстве и размещать ее в App Store. Я бы не рекомендовал Вам тратиться до того момента, пока у Вас не будет готова нормальная программа.

Breakpoints (точки остановки) - очень полезная штука. С помощью этой кнопки вы можете отметить в исходном коде строки, и когда в ходе выполнения программы дело дойдет до помеченной строки, программа приостановится, и вы сможете посмотреть состояние переменных. Это очень мощный и повсеместно используемый инструмент.

Нажмите кнопку "Run". Вы увидите окно эмулятора со своим проектом. Как видите, пока он не блещет функциональностью - это просто заготовка.

Программирование для iPhone -Первый шаг

Довольно ходить вокруг да около, давайте что-нибудь закодим. В окне Project Navigator содержатся файлы с исходным кодом. Щелкните по какому-нибудь.m файлу. Обратите внимание, некоторые строки окрашены в зеленый цвет - это комментарии, которые выполняют роль шпаргалок. Чтобы не запутаться в коде, программист может оставлять себе подсказки и пояснения. Для обозначения комментариев в языке C используется сочетание слешей //. Все, что находится в строке правее этих знаков, считается комментарием. Если Вы хотите написать многострочный комментарий, то можете использовать сочетания /* и */ для обозначения начала и конца многострочного комментария.

Прежде чем приступить к написанию кода приложения, я должен а пальцах объяснить вам несколько концепций: ООП (объектно-ориентированное программирование), MVC (Modal View Controller), ".h" и ".m" файлы. Итак... объектно-ориентированное программирование предполагает разделение всего кода на так называемые объекты, внутри которых хранятся данные и обрабатывающие их команды. Объект в Objective-C состоит из двух файлов.h и.m. Файл.h называется заголовком (header) в нем содержится "набросок" объекта - перечисляются все данные и названия блоков команд (методов), содержащихся в объекте. Файл.m называется файлом реализации (implementation) и в нем подробно расписывается все то, что указано в заголовке именно здесь программируется вся логика программы.

MVC (Model View Controller) - это нечто, разделяющее код и интерфейс, который видит пользователь. Model - это данные пользователя и данные, которые вы показываете пользователю. View - это пользовательский интерфейс и код, который обеспечивает связь между View и Model. Концепция MVC может сейчас показаться Вам слишком заумной, однако со временем Вы увидите, что этот подход действительно упрощает жизнь программиста. Эта концепция подразумевает следующий порядок работы: программист отдельно создает шаблон дизайна приложения, где размещает все кнопки, текстовые поля и прочую важную ерунду, и отдельно пишет программ. Потом он показывает XCode какой метод(блок кода) должен вызываться в ответ на то или иное действие пользователя и какое название имеет тот или иной элемент управления в тексте программе.

Разрабатываем дизайн программы для iPhone

Давайте начнем создание нашего приложения с разработки дизайна. Щелкните в окне Project Navigator по строке MainStoryboard_iPhone.storyboard. В результате XCode запустит редактор интерфейса.

В правом нижнем углу Вы видите список объектов (Library), которые можно использовать в своем интерфейсе, в центральной части отображается окно View, которое и представляет макет интерфейса вашей программы. Правое верхнее окно имеет несколько режимов, которые переключаются с помощью расположенных над окном иконок. На рисунке показан режим Atribute Inspector. Здесь можно изменять различные атрибуты объектов, составляющих ваш интерфейс.

Перетащим из окна Library объект Label на наш макет окна. С помощью мышки изменим размер объекта, как показано на экране ниже. В инспекторе отображаются свойства объекта Label. Давайте отцентрируем текст, щелкнув по соответствующей иконке в строке Layout.

Удалим текст в поле Text (там было написано слово Label) и введем там “Some String”.

Аналогичным образом добавьте на макет кнопку (объект Button)

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

Начинаем кодить

Итак, у нас есть два визуальных компонента размещенных на макете. Мы хотим чтобы при нажатии на кнопку менялся текст в строке. Чтобы реализовать эту задумку нам понадобится из кода программы обращаться к стороке (объект Label) и вызывать метод(блок кода) при нажатии на кнопку.

Щелкните по файлу "ViewController.h" в панели слева. Мы собираемся описать IBOutlet. IBOutlet соединяет наш код с визуальным объектом, например с надписью (label) или кнопкой (button). Приведите код в файле ViewController.h к виду

#import @ interface ViewController: UIViewController{ IBOutlet UILabel* label; //присвоим нашей строке имя Label } //это заголовок метода, который будет //вызываться в ответ на нажатие кнопки - (IBAction) buttonClick: (id) sender; @ end

Это все, что нам требуется прописать в заголовочном файле. IBAction позволяет соединить какой-нибудь метод с элементом пользовательского интерфейса, например, в ответ на нажатие кнопки будет вызван написанный нами программный код.

Итак, мы сказали, что будем называть строку с текстом label и что в ответ на действие пользователя будет вызываться метод buttonClick. Давайте напишем код этого метода. Переключимся на файл ViewController.m в дереве проектов. После строки@implementation... добавим код

- (IBAction) buttonClick: (id) sender{ label. text= @ ”Hello from Mobilab. ru”; }

Примечание, если Вы скопировали этот код, то вероятно при запуске программы у Вас возникнет ошибка, скорее всего проблема в ковычках. Удалите их и введите с клавиатуры.

Давайте разберемся, что мы тут видим. Мы обращаемся к объекту label - строке текста на экране. Поскольку это объект, у него внутри есть разные данные (которые в ООП также называют свойствами объекта) и методы к которым можно обратиться, поставив точку после имени объекта. Свойство text отвечает за содержащийся внутри строки текст..

Мы завершили кодирование, осталось связать label и buttonClick с элементами внутри макета дизайна. Щелкните в окне Project Navigator по строке MainStoryboard_iPhone.storyboard, чтобы переключиться в конструктор интерфейса. Зетем щелкните по иконке “View controller”. Переключитесь на режим connections в инспекторе (последняя иконка). Посмотрите, в инспекторе в области Outlets появилась строка label. Это то название, которое мы указали в файле ViewController.h. Щелкните по кружочку в правой части строки label и перетащите его на строку с текстом Some Text в макете дизайна.

Аналогичную операцию проделайте с кнопкой. Щелкните по кнопке с кружочком в группе “Received Actions”, потом по buttonClick и перетащите ее на кнопку в макете. В результате раскроется контекстное меню, с помощью которого можно выбрать момент вызова метода. Можно, например, вызывать код, когда пользователь нажмет кнопку, можно когда отпустит. Там много вариантов. Выберите "Touch up Inside".

Вот и все! Сохраняйте проект и щелкайте по кнопке "Run" на панели сверху. Если Вы Все сделали правильно, то должен запуститься эмулятор с Вашей программой. Щелкните по кнопке. Текст в строке должен измениться. Вот и все. С первым уроком покончено

Уважаемые господа, данной статьей я открываю новую рубрику, посвященную программированию под iPhone, где будем затрагивать вопросы, интересные как новичкам и не посвященным, так и гуру от ObjC, которые, как мы надеемся, не преминут поправить наши ошибки своими комментариями. Сегодняшний урок носит ознакомительный характер.

Цели урока

1.С чего начать программирование для iPhone.
2.Джентльменский набор разработчика.
3.Домашнее задание.

Введение

Все мы видим бешеный успех AppStore, разделы приложений растут, как грибы после дождя. Редакторы всех информационных порталов об айфонах сбились с ног и, не смыкая глаз, пишут, пишут и пишут обзоры. А программы все появляются, появляются и появляются. Пора бы уже и нам включиться в этот процесс и оторвать свой кусочек от праздничного пирога.

С чего начать? Вопрос скорее риторический. Конечно, если вы, дорогой читатель, юрист или, скажем, строитель – вам будет очень сложно начать и скорее всего не стоит этого делать всерьёз, потому, как мне кажется, лучше делать хорошо одно дело, чем несколько и плохо. Однако, не будем исключать и тот момент, что вам хочется программировать для души, что это ваше новое хобби. Тогда в добрый час. Однако, если вы, мой дорогой друг, уже имеете опыт разработки приложений, неважно на каком языке – Си, Паскале, Ассемблере, Делфи или наконец Бейсике или даже Лого (в моем учебнике по информатике в начале 90х был и такой), то вам непременно надо попробовать себя на ниве приложений для айфона.

Вот мы и подошли к ответу на главный вопрос, с чего начать. Начните с основ, для этого далеко ходить не надо, я приведу вам всего несколько ссылок, которые вас в итоге «до Киева» доведут:

1.Для людей вообще незнакомых с языком Си – начните с этого

2.При программировании под айфон вам потребуется знание ООП (объектно ориентированного программирования). Это не так сложно, как может показаться из названия, на самом деле ООП базируется на нескольких фундаментальных принципах, уяснив которые для себя, вы с легкостью сможете делать шедевры. Читайте об ООП .

3.Если вы знаете основы Си, да и ООП не вызывает у вас затруднений, вам все же рекомендуется почитать отличие Objective-C применяемого в MacOS (и айфоне соответственно) от традиционных С и С++. Весьма неплохо это описано .

4.Также ответы на многие вопросы вы найдете на нашем форуме в .

Джентльменский набор программиста для iPhone, как и несессер путешественника, довольно небогат и, в принципе, на начальном этапе не требует чего-то сверх естественного и дорогого. Вот все, что нам потребуется для старта:

б) Операционная система MacOS Leopard версии 10.5.5.

в) Инструментарий с сайта Apple, так называемый SDK, пакет разработчика. Данный пакет содержит в себе все необходимое для разработки. Скачать его можно тут: http://developer.apple.com/iphone , предварительно пройдя регистрацию.
г) А еще нам очень потребуется терпение и усидчивость. Без этого, увы, никак.

У многих после пункта А могут сразу опуститься руки. Я вам скажу честно, до знакомства с айфоном я вообще никак и никогда не пересекался с Апплом, да и свою первую программу под айфон я написал вообще не имея макбука. Я заядлый виндусятник, начавший свою сознательную жизнь с Windows 3.1 и доживший до Windows Vista, я был покорен удобством MacOS и ни сколько не жалею о таком приобретении, хотя до сих пор львиную долю времени провожу за компьютерами с ОС от Билла Гейтса.

Для тех, кого и эти слова не убедили, все равно есть выход. С момента перехода компьютеров от Apple на платформу с процессором Intel – появилась возможность (естественно не без танцев и бубнов) устанавливать MacOS на обычный РС компьютер, сознаюсь – я и сам так делал. В миру такая ОС известна под разными названиями Kaliway, Hackint0sh и т.п. На всех файлообменниках вы без труда найдете нужный образ и качнув его, сможете поставить на свой компьютер Макось. И даже при желании запускать потом ее в окне ВМвари (VMWare). Как это все это сделать я описывать не буду, не к лицу пропагандировать методы обхода лицензии на Маки, но возьму на себя труд предупредить вас от некоторых ошибок, избежав которые вы, возможно, не потеряете интерес к программированию еще на начальном этапе подготовки инструментария:

1. При установке ВСЕГДА используйте отдельный винчестер подключенный как мастер на нулевую шину IDE или SATA.
2. Не пытайтесь установить Леопарда из под VMWare – проверял много раз – это невозможно, хотя в сети есть люди которые утверждают что делали это.

3. После того как установите Макось можете попробовать запустить ее из под Виндов в ВМВаре, если хватит ресурсов. Также, отдельная проблема, это драйвера. Сетевая скорее всего схватится у вас сама, видео будет 800х600 – тупо VGA. А вот как быть с вашей 8800GTX картой, вайфай адаптером и голубым зубом, то тут как повезет (чаще не везет).

4. Сколько образов мне не попадалось – на всех была версия 10.5.1 или 10.5.2, нам же для работы потребуется не ниже 10.5.5. Свой мак я обновляю через интернет, а вот с хакинтошем при обновлении на 10.5.5 такой фокус не пройдет – словите яблоко, тоже проверено много раз. В сети есть алгоритм как обновить хакина до 10.5.5 сохранив работоспособность системы – ищете ибо обрящете.

И так, инструментарий описан, переходим к домашнему заданию.

Домашнее задание у нас будет простое, но очень важное, не выполнив его, все остальные уроки станут для вас бесполезным HTML текстом, а мой труд не будет стоить и выеденного яйца. И так, дорогие программисты айфонщики, пока я пишу Урок №2, вы должны:

А) Раздобыть Мак или установить хакинтош (исключительно в ознакомительных целях)

Б) Обновить его до версии 10.5.5.

В) Скачать и установить SDK от Apple. Накачать кучу примеров из сети, попробовать их все откомпилировать. В общем приступить к изучению методом тыка (наиболее распространенный в нашей стране метод, поражающий своей эффективностью).

Пишите отзывы.
Рашид (aka rashn).

сайт Уважаемые господа, данной статьей я открываю новую рубрику, посвященную программированию под iPhone, где будем затрагивать вопросы, интересные как новичкам и не посвященным, так и гуру от ObjC, которые, как мы надеемся, не преминут поправить наши ошибки своими комментариями. Сегодняшний урок носит ознакомительный характер. Цели урока 1.С чего начать программирование для iPhone. 2.Джентльменский набор разработчика. 3.Домашнее...

© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows