Энциклопедия мобильной связи

Научиться писать приложения для ios. Разрабатываем дизайн программы для iPhone

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

В сегменте мобильных технологий, без сомнения, лидирует Apple со своим смартфоном iPhone. На прошедшей в сентябре презентации компания из Купертино продемонстрировала уже 7-ю версию мобильного девайса. Вместе с ней Apple представила новую версию мобильной операционной системы iOS 10. Теперь это самая значимая операционка в мире, как и ее предшественницы. Из этого следует, что изучение разработки для iOS - самое выгодное вложение времени и средств.

«Яблочная» экосистема

Сегодня мы займемся разработкой простого мобильного приложения для iOS. Конечно, лучше всего для этого подходит родной Mac. Но если ты сторонник Windows или у тебя просто нет Мака, можно установить операционную систему macOS под виртуальную машину в Windows. На просторах Сети тебе не составит большого труда найти специально заточенную под PC версию macOS, в народе называемую Хакинтош. Смело ставь ее на виртуалку VMware, VirtualBox - на твой выбор. Сразу предупрежу, что на PC-клавиатуре нет части клавиш, которые есть на Mac-клаве, и многие их сочетания нажать в Хакинтоше невозможно. Это изрядно портит настроение. В остальном все описанные ниже операции можно успешно выполнить на Хакинтоше.

Необходимые знания

Чтобы программировать вообще и для iOS в частности, надо довольно много знать. Математика и логика, может, и не понадобятся вначале, но будут востребованы потом. Современные технологии избавили программиста от необходимости досконально знать архитектуру компьютера, однако понимать базовые механизмы, такие как системы счисления, их преобразование, скорость работы подпрограмм или эффективность алгоритмов (большое O), необходимо.

На более высоком уровне iOS-разработчику надо глубоко знать операционную систему macOS и собственно саму iOS. Также тебе обязательно надо освоить «яблочный» язык программирования. Знание Delphi, C++, C# или VB.NET тебе не сильно поможет. У Apple своя экосистема со своими языками: Objective-C и Swift. Конечно, знание C++ еще никому не навредило, программы и вставки на нем встречаются везде, даже у Apple. Но самый используемый по определению Objective-C, просто потому, что появился гораздо раньше (в середине восьмидесятых годов прошлого века), тогда как Swift лишь два года назад (в 2014-м). Apple возлагает большие надежды на новый язык и много инвестирует в него. Для поддержки старого софта используется Objective-C, а новый пишется на Swift. Поэтому тебе неплохо знать оба.

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

Инструменты для разработки

Как ты знаешь, главный инструмент разработчика под macOS и вместе с ней iOS - среда программирования Xcode . Она включает средства для создания приложений для Mac, iPhone, iPad, Apple TV, Apple Watch. Все платформы Apple. Xcode содержит средство построения интерфейса (Interface Builder), редактор кода, поддерживающего все современные средства работы с кодом. Кроме того, не выходя из Xcode, можно протестировать приложение; если оно разрабатывается для внешнего устройства, то его можно запустить в эмуляторе.

В систему включены эмуляторы всех устройств, новые версии которых можно докачать. В дополнение Xcode содержит графические инструменты для анализа производительности приложения, включая средства диагностирования загруженности CPU, использования накопителя (HDD, SDD и другие), нагрузки на графический адаптер (со стороны OpenGL).

13 сентября вышла новая, горячо ожидаемая версия среды разработки 8.0. Стабильные версии можно бесплатно скачать в App Store. Альфы и беты распространяются по подписке разработчика. Восьмая версия вобрала в себя: новую версию языка Swift 3, средство изучения Swift Playground для iPad, новую версию Interface Builder, которая стала быстрее работать и позволяет просматривать макет приложения на разных платформах, без необходимости развертывать на симуляторе само приложение.

На Xcode 8 можно разрабатывать приложения для macOS Sierra, iOS 10, watchOS 3 и tvOS 10. Имеются все SDK. Новые версии операционок стали последовательно появляться аккурат после презентации Apple, состоявшейся в начале сентября.

Язык Objective-C

Кратко вспомним основные сведения о языке. Objective-C - компилируемый объектно ориентированный язык программирования, используемый для написания приложений под «яблочные» системы. Представляет собой надмножество или, другими словами, надстройку над C, унаследовав от последнего синтаксис, типы данных, способы контроля за ходом выполнения программы и добавив к нему возможности объектно ориентированного программирования - описание классов и методов.

Как в C++, в Objective-C центральную роль играют объекты, с которыми связаны четыре парадигмы: абстракция, инкапсуляция, наследование, полиморфизм. Язык C++ является строго типизированным, тогда как Objective-C - слабо типизированный или обладает динамической системой типов данных. Подобно Smalltalk, в Objective-C объектам посылаются сообщения. Это исключительная возможность динамических языков, так как тип объектов проверяется во время исполнения программы, а не во время компиляции.

Описание языка Objective-C занимает не один объемистый томик. Поэтому, чтобы получить объективные знания, удобно пройти курс « ». Целый раздел курса посвящен этому языку.

Разработка приложения для iOS

В качестве семпла мы разработаем весьма простое приложение. Не будем отступать от священной традиции, поприветствуем мир. Однако с учетом того, что у нас графическое приложение, мы немного разнообразим его: добавим кнопку, нажимая которую будем отображать или скрывать надпись «Hello, World».

Запусти Xcode, в появившемся окне выбери Create new project или в главном меню File -> New -> Project. В следующем окне будет предложено выбрать целевую платформу и тип приложения.


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

Типы приложений

  • Заготовка Single View Application предназначена для простого приложения с одним экраном. Заготовка включает компонент View Controller, который позволяет настроить вид приложения с помощью конструктора форм Interface Builder.
  • Master Detail Application создает приложение, где в табличном представлении отображается коллекция объектов. После выбора одного из них показываются подробные сведения об этом объекте. Первый вид - мастер, второй - детализация.
  • С помощью Page-Based Application создаются приложения, имеющие несколько экранов, как страницы в книге. Следовательно, из этой заготовки создаются, например, читалки.
  • Tabbed application позволяет создавать приложения, где на каждый экран можно переключиться в любой момент, то есть у каждого экрана есть своя кнопка для его активации, на которой отображается заголовок. В качестве примера можно привести iTunes.
  • Game служит для создания заготовки игры. На выбор предлагаются четыре фреймворка для создания игры: SpriteKit, SceneKit, OpenGL ES, Metal. Вкратце рассмотрим их.
    SpriteKit представляет собой систему для двумерной визуализации и анимации текстурированных прямоугольников - спрайтов. При отображении кадров используется стандартный цикл, кадр выводится после того, как обработку пройдет все содержимое сцены.
    SceneKit - высокоуровневый фреймворк для визуализации трехмерной графики без помощи OpenGL. Он поддерживает загрузку, манипуляцию трехмерными объектами. В него включены: физический движок, генератор частиц и легкий способ скриптования.
    OpenGL ES - стандарт в области компьютерной графики. Позволяет визуализировать 2D- и 3D-сцены. Позволяет описать пайплайн для видеокарты: вершины проходят преобразование, собираются в примитивы, которые растеризуются в двумерное изображение и выводятся на экран. В пайплайн можно включить программируемые шейдеры.
    Metal - представляет собой низкоуровневый API, который позволит тебе выжать все мощности из твоего видеоадаптера. Отлаженные API вместе с предкомпилированными шейдерами и многопоточностью позволяют твоей игре подняться на новый уровень производительности и качества.
  • Sticker Pack Application - новый вид приложений, появившийся в iOS 10 и Xcode 8. Представляет собой набор простых или анимированных изображений, используемых в новом iMessage. Для своего создания не требует кодирования.
  • iMessage Application - новый вид приложений, появившийся в iOS 10 и Xcode 8. Позволяет создавать дополнения для iMessage, например для покупки и загрузки твоего пакета стикеров. Также можно, воспользовавшись API iMessage, создать свой аналог данного приложения, включая проигрывание аудио, видео, использование стикеров и другое.

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

В качестве заготовки для нашего приложения выберем Single View Application. Поскольку мы не будем разрабатывать большую программу, нам хватит предоставляемой этой заготовкой средств. Нажимаем Next. На следующей странице мастера надо ввести имя проекта, к примеру ShowLab. В ниспадающем списке Language оставим выбранный по умолчанию язык - Objective-C. Далее в ниспадающем списке Devices оставим выбор Universal. Здесь определяется, для какого устройства (iPhone или iPad) создается приложение. Пункт Universal означает для обоих. Снимем флажки Include Unit Tests и Include UI Tests, нам никакие тесты не нужны. Next. Выберем папку для сохранения проекта. Теперь жми кнопку Create.

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


Сначала нам надо создать интерфейс приложения. Для этого одним кликом выбери файл Main.storyboard в списке слева (если этот файл не видно, разверни содержимое папки ShowLab). Правее списка все окно займет Interface Builder. В центре отобразится макет устройства. В правом нижнем углу окна находится панель компонентов. Перетащи оттуда на макет компоненты Label и Button. Выше панели компонентов находится список свойств. Если у тебя он отсутствует, нажми кнопку Show the Attributes Inspector, находящуюся под заголовком окна в правой части интерфейса.

Выдели в макете компонент Label и настрой его свойство Text: в ниспадающем списке оставь выбор Plain, в строку ниже введи нужную надпись, в нашем случае «Hello, World». Если текст не помещается в границы надписи, измени их, перетаскивая маркеры на краях компонента. Чтобы централизовать его по горизонтали, перейди на страницу Size Inspector, нажав на кнопку Show the Size Inspector (справа от Show the Attributes Inspector). На этой странице из ниспадающего списка Arrange выбери пункт Center Horizontally in Container.

Теперь выбери компонент Button, измени его свойство Text на желаемую метку - Switch. Отцентрировать можешь так же, как описано выше.

Создаем связь между графическими элементами и кодом

В Visual Studio (или Delphi) объект в коде создается автоматически в тот момент, когда кладешь визуальный компонент на форму. В Xcode этого не происходит, но это не создает проблем.

Открой содержимое заголовочного файла ViewController.h в отдельном окне, дважды щелкнув на нем. В этом файле находится объявление расширения класса UIViewController, помечается ключевым словом @interface. Такая возможность была добавлена во вторую версию Objective-C. Теперь выполни такой трюк: перемести курсор мыши на компонент - текстовую метку, зажми клавишу Ctrl и левую кнопку мыши. Перемести курсор в окно с кодом (файл ViewController.h), за курсором потянется синяя линия. Отпусти мышь и клавишу внутри описания интерфейса ViewController.

Появится окно создания Outlet’а.


Это свойство объекта, которое ссылается на другой объект (в данном случае визуальный компонент). Тебе надо ввести имя объекта Outlet, по нему ты будешь обращаться к визуальному компоненту, пускай будет lab. Далее выбирается тип объекта, он выбран правильно: UILabel.

Еще ниже в списке Storage выбирается тип ссылки на объект: weak или strong. Если выбрать strong, то объект, на который указывает свойство, будет существовать до тех пор, пока свойство указывает на него, в таком случае он не сможет автоматически удалиться, когда перестанет использоваться. С другой стороны, когда действует слабая ссылка (weak), объект может самоуничтожиться. Итак, выбираем тип ссылки weak и жмем кнопку Connect. В итоге в код добавится такая строка:

@property (weak, nonatomic) IBOutlet UILabel *lab;

Убеждаемся, что Outlet - это свойство.

Теперь создадим Outlet для кнопки. Алгоритм остался прежним. Только для свойства Name надо ввести другое имя, например but. В код будет добавлена строка:

@property (weak, nonatomic) IBOutlet UIButton *but;

В результате имеем два указателя на визуальные компоненты: lab и but - соответственно, надпись и кнопку. Теперь, используя указатели, мы можем манипулировать компонентами в коде.

Затем надо создать обработчик события нажатия кнопки. Для этого в отдельном окне открой файл реализации ViewController.m. Точно таким же образом, как ты перетаскивал линию в заголовочный файл для создания аутлета, от кнопки перетащи линию в файл реализации и отпусти до закрывающей командной скобки - @end. Появится окно для создания события, подобное окну создания аутлета. Видишь разницу: в заголовочном файле создается ссылка на объект, в файле реализации - метод.


Заполни поле Name, его значение представляет имя свойства - метода. Пусть будет onClick. Значение поля Type оставь по умолчанию - id. В языке Objective-C данный тип является предком для всех остальных. В ниспадающем списке Event выбрано по умолчанию событие Touch Up Inside, которое происходит в момент отпускания указателя (мыши, пальца…) над кнопкой, то есть заключительная стадия нажатия кнопки. Это то, что нам нужно. В списке Arguments оставим значение по умолчанию: Sender - это объект, отправивший данный сигнал, в нашем случае им всегда будет кнопка. Жмем кнопку Connect. В итоге будет добавлен следующий код:

- (IBAction)onClick:(id)sender { }

Минус в начале означает закрытый метод (private). Ключевым словом IBAction помечаются события (методы) визуальных компонентов из Interface Builder.

Между командными скобками напишем выполняемый при нажатии кнопки код:

Lab.hidden = !_lab.hidden;

В этой строчке кода мы инвертируем значение свойства hidden. Оно имеет тип BOOL, который располагает двумя значениями: YES - истина и NO - ложь (несколько непривычно Windows-программерам, где true и false).

Обрати внимание на символ подчеркивания, стоящий перед именем объекта - надписи (_lab). Без него компиляция завершится с ошибкой. Символ подчеркивания добавляется автоматически для объектов, содержащихся в других объектах; то есть в данном случае объект lab содержится в объекте ViewController. Раньше это было условное правило, используемое для различия объектов, объявленных в качестве членов класса, и локальных объектов. А теперь это строгое правило, реализованное в компиляторе языка.

Сейчас можно скомпилировать приложение и запустить его на симуляторе. Мы выбрали симулятор для iPhone 7, входящий в Xcode 8. Кнопка компиляции и запуска представляет собой черный прямоугольник и находится на панели вверху интерфейса.

После компиляции приложения, запуска симулятора и загрузки нашего приложения на экране симулятора отобразится его интерфейс: надпись «Hello, World» и кнопка Switch. Если нажать последнюю, надпись исчезнет, при повторном нажатии она появится вновь.

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

Язык Swift

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

При разработке Swift ставилась цель создать самый удобный язык системного программирования - быстрый, безопасный и выразительный.

Алгоритм на языке Swift работает в 2,6 раза быстрее, чем такой же алгоритм на Objective-C, и в 8,4 раза быстрее, чем на Python. Использование Swift делает процесс разработки программ более гибким и удобным.

Благодаря своему экспоненциальному развитию, 3 декабря 2015 года язык Swift был передан в сообщество открытых исходников. При этом Apple строго следит за его развитием, организовав комитет для его разработки. Теперь Swift доступен не только в системах Apple, но также в Linux. Все дополнительные инструменты для работы с языком, включая отладчик, стандартную библиотеку, менеджер пакет, тоже свободные и открытые.

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

App Store

Попросту говоря, App Store - это магазин контента для всего спектра Apple-девайсов. Здесь можно купить игры и приложения как от больших компаний, так и от независимых разработчиков. Каждый разработчик, в какой бы стране он ни жил, может продавать или распространять бесплатно свои программы на этой площадке цифровой дистрибуции. Чтобы начать это делать, надо зарегистрироваться как разработчик и купить лицензию для продажи своих приложений. Это плата за предоставляемый сервис и развитие магазина App Store.

Итоги

Мы разработали простое приложение для мобильной операционной системы iOS, используя для этого систему программирования Xcode вместе с языком Objective-C. Протестировали готовое приложение на симуляторе iPhone 7. Мы узнали, как построить пользовательский интерфейс с помощью Interface Builder, как связать графические элементы с кодом приложения, как создать обработчики событий. Познакомились с основами Objective-C. Кроме того, мы обратили внимание на перспективный язык Swift, используемый для разработки мощных и безопасных приложений для «яблочной» экосистемы.

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

Это достойный курс: пройдя его, ты точно не потратишь время зря. Он начинается с двух подробных курсов по языку Java, затем следует изучение базового программирования под мобильную операционную систему Android. Далее курс по базам данных в общем и языку SQL в частности. Затем углубленный курс по разработке профессиональных приложений для Android. После этого вектор изучения перейдет в сторону Apple-систем: два подробных курса по языку Objective-C и полезный курс по Swift.


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

Специальный проект с компанией

Уважаемые господа, данной статьей я открываю новую рубрику, посвященную программированию под 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.Домашнее...

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

Язык программирования

Чтобы писать программы для определенной платформы, нужно использовать конкретный язык программирования. Разработка приложений для iOS и Android различается. Если у платформы от "Гугла" выбирать необходимо язык Java, то для iOS выбор стоит между Objective-C и Swift. Длительное время разработка под платформу iOS велась только при помощи языка программирования Objective-C. Несмотря на то что ему много лет, он все еще развивается и используется большим числом разработчиков. Но его минус - это высокий порог вхождения.

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

Что понадобится для начала

Кроме базовых знаний программирования, нужно иметь следующее:

  • компьютер или ноутбук с операционной системой OSX на борту;
  • среду разработки Xcode, которая является бесплатной.

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

  • запускать разработанные программы не в симуляторе, а на настоящих устройствах;
  • размещать приложения в магазине App Store;
  • загружать новые версии среды разработки и iOS.

В новых версиях Xcode появился такой элемент, как «песочница», названный Playground. Здесь разработчик может поэкспериментировать с новым языком программирования.

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

С чего начинается разработка приложений для iOS и Android? Обучение происходит на практике. Поэтому начинать надо с нее. Много теории - это не всегда хорошо. Ведь если человек прочтет от корки до корки десять он не станет. Нужно действовать.

Playground

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

  • освоение синтаксиса языка программирования;
  • улучшение навыков программирования при помощи экспериментов с новыми API;
  • осуществление простых арифметических вычислений;
  • разработка нового алгоритма и наблюдение за каждым его шагом.

Разработка приложений для iOS: с чего начать

Теория - это, конечно, хорошо, но, как говорилось ранее, нужна практика. Для того чтобы познакомиться с «песочницей», нужно запустить среду разработки Xcode. После запуска пользователь может видеть окно, в котором предлагается создать новый проект или же запустить Playground. Нужен второй пункт. Теперь необходимо придумать имя и сохранить «песочницу» в любое удобное место на компьютере. Кстати, разработка приложений для iOS на Windows тоже возможна, но тогда потребуется решить большое число проблем. Это и установка пиратской операционной системы, и правка важных файлов, и множество ошибок и вылетов.

После сохранения будет запущен тот самый Playground, который нужен.

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

Для начала можно попробовать написать следующее:

for var y = 0; y < 10; ++y {

println (“result: (z)”)

После этого «песочница» изменит свой вид. В столбце справа (панель результатов) показаны значения для каждой строки, которые получаются после выполнения. Также в правом столбце можно включить отображение временной панели, которая дает возможность проследить изменения во времени выбранного выражения. Здесь же отображается консольный вывод с текстом, который выводился бы программой.

Комментирование кода

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

Переменные

Итак, приложения пишутся на языке программирования. Базу любого языка составляют переменные. Разработка приложений для iOS и Android без использования переменных невозможна. Как понятно из названия, это контейнер, в котором содержится изменяемое значение. Каждая переменная должна обладать уникальным именем и может содержать в себе как числовые, так и текстовые значения. В языке программирования Swift переменные определяются при помощи слов var и let. Во втором случае переменная не может меняться и должна быть проинициализирована при объявлении. В первом случае переменная инициализируется непосредственно перед использованием.

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

Вывод результатов

Результат выполнения программы выводится в консоль. Что это такое? Это то, что обеспечивает взаимодействие пользователя с компьютером. Так, консолью вывода раньше называли монитор, а консолью ввода - клавиатуру. Сейчас значение терминов немного изменилось. Так называют программное окно, предназначенное для ввода и вывода команд. Разработка приложений для iOS нередко требует вывода каких-то данных. Для этого в языке Swift предусмотрены команды print и println. Первая отличается от второй тем, что автоматически начинается с новой строки.

Функции

Следующее базовое понятие в программировании - функции. Это некая последовательность действий, которые выполняют конкретную задачу. Каждая функция способна принимать какие-то значения, а также возвращать результат. Для использования этой конструкции ее необходимо сначала объявить при помощи ключевого слова func. После него указывается имя, а также круглые скобки. Если должно быть возвращено какое-либо значение, то после скобок указывается его тип. Если возвращаемого значения нет, то тип можно не указывать или же указать «пустой» тип - void. В круглых скобках находятся значения, которые функция принимает. Для вызова функции указывают ее имя и значения для аргументов.

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

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

Что теперь?

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

О том, что должен знать 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. Самый актуальный инструментарий будет залогом хорошего результата.

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

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

Эта статья открывает цикл, предназначенный для новичков. Смею надеяться, что уровень подачи материала позволит разобраться в нем даже людям не знакомым с программированием. Начнем наше повествование с небольшого лирического отступления. Приложения для 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" на панели сверху. Если Вы Все сделали правильно, то должен запуститься эмулятор с Вашей программой. Щелкните по кнопке. Текст в строке должен измениться. Вот и все. С первым уроком покончено



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