Разработка приложений для мобильных устройств приносит неплохой доход. Программисты получают за это солидную зарплату, а компании-разработчики активно реализуют софт через магазин приложений AppStore, получая прибыль с каждой продажи. Написать свою программу легко и сложно одновременно. В некоторых случаях для этого нужно быть программистом, а в некоторых – обычным пользователем.
Создать мобильное приложение под iOS с нуля можно двумя способами:
Последний вариант разработки создан для профи, которым тесно в рамках традиционной экосистемы.
Что касается языков Objective-C и Swift: в разработке приложения задействованы оба. Только Objective-C устарел, ведь он появился почти три десятка лет тому назад. На смену ему пришёл Swift, на котором создаётся современный софт, как платный, так и бесплатный. Также профессионалы используют в своих программах кодинг на C++, но это уже выходит за рамки статьи.
Независимо от того, под какое устройство создаётся приложение, программисту потребуется среда разработки Xcode. Эта среда является универсальной – в ней делаются приложения для смартфонов, планшетов, компьютеров и прочих устройств от Apple. Скачивается она через магазин приложений Mac App Store, версии для Windows нет. Распространяется программа бесплатно, в ней уже присутствует эмулятор для тестирования софта.
Последняя версия среды была выпущена 27 марта 2017 года – номер версии 8.3. Также для обновлённого софта характерна поддержка новых функций и более быстрая работа.
Каждая новая версия предоставляет всё новые возможности.
Данный пример показывает основы разработки программы «Hello World» - процесс создания прописан пошагово, что позволяет повторить его самостоятельно. Инструкция предусматривает использование объектно-ориентированного языка программирования Objective-C. Многие свои возможности он унаследовал от языка С, но в нём используется динамическая система типов данных, а не строго типизированная. Для более детального ознакомления рекомендуется поработать с книгой «Сила Objective-C 2.0. Эффективное программирование для iOS и OS X». Автор издания – Мэтт Гэлловей.
В мире программирования принято начинать изучение новых языков с программы «Hello, World». Она выведет на экран кнопку, при нажатии на которую на нём будет появляться и исчезать данная надпись. Для начала необходимо выбрать тип приложения:
Предусмотрены и ещё два типа – это Sticker Pack Application с изображениями для iMessage, а также iMessage Application для создания дополнений для iMessage или разработки приложений-аналогов.
Для «Hello, World» выбирается первый тип – это Single View Application. Выбираем его и задаём имя проекта, указываем язык Objective-C, в списке Devices выбираем пункт «Universal» (софт будет работать на iPad и iPhone), снимаем флажки Include Unit Tests и Include UI Tests и сохраняем проект.
На следующем этапе делаем интерфейс программы – разворачиваем меню ShowLab и выбираем пункт Main.storyboard, после чего откроется окно с макетом устройства (Interface Builder). В панели компонентов выбираем два компонента – это Button (кнопка) и Label (надпись). Разворачиваем список свойств, нажав на Show the Attributes Inspector, и настраиваем компонент Label – выбираем свойство Text, в выпадающем списке выбираем пункт Plain и вводим будущую надпись «Hello World». При необходимости меняем границы надписи и центруем её по горизонтали через Size Inspector – открываем панель и выбираем в выпадающем списке Arrange пункт «Center Horizontally in Container». Здесь необходимо поменять его свойство с Text на Switch.
Следующий пункт – необходимо создать связь между кодом и используемыми в приложении элементами. Последовательность действий:
В окне с кодом появится строка с фигурными скобками, между которыми необходимо вписать код «_lab.hidden = !_lab.hidden;». В итоге у нас должно получиться – «(IBAction)onClick:(id)sender { «_lab.hidden = !_lab.hidden;}» (без кавычек). Теперь остаётся лишь запустить наше первое приложение в эмуляторе.
Приложение обладает простым интерфейсом, в нём всего два элемента – кнопка и текстовое поле. При нажатии на кнопку в текстовом поле появляется надпись «Hello, World». Нажимаем ещё раз – и она исчезает.
Может показаться, что мы создавали приложение слишком долго. Если удастся сделать хотя бы простейший софт, это станет стимулом к дальнейшему изучению программирования под iOS.
Написанное приложение можно продавать через App Store. Также возможно бесплатное распространение. Независимо от способа распространения своих приложений, вы должны приобрести специальную лицензию.
Человеку, малознакомому с программированием, будет сложно сделать собственную программу. На изучение языков программирования уйдёт уйма времени. Чтобы создать приложение под iOS максимально быстро, можно воспользоваться специальными конструкторами. Рассмотрим их более подробно.
Здесь разрабатываются интернет-магазины, каталоги товаров, онлайн-журналы и многое другое. Пользователей ждёт множество готовых шаблонов, настраиваемых под свой вкус. Ваш софт сможет работать с графикой, мультимедийными файлами, push-уведомлениями, навигацией, социальными сетями и многим другим. Запускайте фотогаллереи, онлайн-витрины, каталоги музыки и прочий софт буквально в несколько нажатий мышью.
Основная ориентация сервиса – на бизнес-софт. Разработка здесь бесплатная, но нужно оплатить доступ к конструктору, техподдержку, доступ к статистике и размещение программ в App Store. Стоимость одного приложения – 9990 рублей.
Если нужен реально красивый и функциональный софт, обратите своё внимание на конструктор AppsMakerStore. Это мощный бизнес-инструмент, позволяющий создавать приложения для бизнеса, причём своими руками – без помощи третьих лиц. На выбор пользователей представлено множество шаблонов:
Таким образом, здесь разработчиков ждёт внушительный функционал по разработке программ различного назначения.
Команда сервиса поможет опубликовать ваше приложение в App Store без сложных действий с вашей стороны – вам остаётся только создать софт.
Ответить на этот вопрос довольно сложно. Поэтому мы составили сравнительную таблицу:
Сервис | Плюсы | Минусы |
iBuildApp | Много шаблонов для приложений, русскоязычный интерфейс, круглосуточная поддержка | Нужно платить деньги за разработку, причём немаленькие |
Apps Globus | Поддержка русского языка, доступные цены на публикацию и поддержку программ, множество инструментов для разработки софта, гибкость конструктора, доступ к аналитике, предоставление исходных кодов | Мало доступных шаблонов |
App2b | Множество инструментов для разработки – от простых страниц до интернет магазинов, собственный хостинг, инструменты для продвижения приложений | Не самый информативный сайт, для получения подробной информации по разработке необходимо позвонить по контактному телефону |
New Digital Times | Не нужно платить деньги, возможность разработки приложения через веб-интерфейс или приложение для компьютера. Можно создать магазин, журнал, есть хостинг для данных | Мало модулей, многие из них придётся заказывать у программистов сервиса |
AppsMakerStore | Гигантское количество профессиональных отточенных шаблонов позволит создать продукт любого уровня сложности. Множество дополнительных модулей. Поддержка множества платформ. | Трудно понять ценовую политику |
Создать приложение с помощью сервисов очень просто – разработка не займёт у вас много времени. Все действия здесь производятся в визуальных редакторах, результаты можно посмотреть без публикации в App Store. Также почти все сервисы поддерживают софт под Android – вы сможете охватить сразу две мобильные платформы. Такая возможность актуальна для тех, кто занимается бизнесом и продвигает его в интернет-среде.
Но в конструкторах возможно создание далеко не любых программ. Кстати, мобильные игры создать с помощью конструкторов не удастся. Поэтому изучение языков программирования откроет перед вами широчайшие возможности по работе с софтом для продукции Apple.
Ну что-же, пришло время написать нам свою первую программу для нашего iPhone. Если вы еще не поставили себе XCode + iPhone SDK — то вам . И так, XCode у нас стоит и настроен, начнем?
Для начала научимся самому простому. Создадим программу, в которой будет одно текстовое поле в которое будем записывать наше имя и одну кнопку, по нажатию на которую наше имя будет записываться в приветствие. Выглядеть наша первая программа будет так:
Создаем наш первый и надеюсь не последний проект:
Далее нас спросит какой тип приложения создавать. Слева в панели выбираем iPhone OS -> Application а в центральном окне выбираем тип проекта View-based Application . Назовем нашу первую программу, допустим, FirstApp
В результате у нас создается проект с уже созданным контроллером (первым окном нашей программы)
Главное окно проекта выглядит вот так:
Xcode создал для нас первый контроллер, это два файла c названиями FirstAppViewController.h и FirstAppViewController.m
Файл FirstAppViewController.h выступает как-бы заголовком (оттуда и расширение файла.h от слова header) В нем мы будем оглашать переменные и методы которыми будем пользоваться в главном файле FirstAppViewController.m
И так, открываем файл FirstAppViewController.h и создадим два указателя:
IBOutlet UILabel *username;
Первая переменная username — это текстовая метка, в которую мы будем записывать наше имя. nikField — это текстовое поле, откуда мы будем читать наше имя.
Записывать это нужно в блоке @interface firstAppViewController: UIViewController { }
Еще создадим метод, который будем вызывать при нажатии на кнопку, для того чтобы представиться. Назовем метод setNik:
— (IBAction)setNik;
В итоге, наш файл FirstAppViewController.h должен выглядеть так:
#importТеперь, перейдем в файл FirstAppViewController.m
Добавим сюда наш метод setNik. Писать нужно после строчки @implementation firstAppViewController
- (IBAction)setNik{ username.text = nikField.text; }Тут мы прописываем, что при выполнении этого метода в текстовую метку username будет записан текст из поля nikField
Еще нам нужно освободить память от этих указателей после того как мы их используем. Делается это в методе под названием dealoc
- (void)dealloc { ; ; ; }Просто добавляем все указатели, которые использовали, вот в таком формате: ;
Теперь, открываем файл интерфейса FirstAppViewController.xib Он запускается в редакторе интерфейсов Interface Builder.
Из библиотеки компонентов перетаскиваем нужные нам компоненты в окно нашей программы и расставляем так как удобно. Дальше в маленьком окне выбираем File’s Owner и нажимаем Command+2 что переносит нас в меню Connections inspector. Видим там список наших указателей, которые мы уже прописывали, а справа от них пустые кружечки. Клацаем на пустой кружочек возле указателя nikField и не отпуская тянем к текстовому полю. Когда мы подводим к ниму указатель мыши, он обводится прямоугольником и отпускаем. Таким образом, мы привязали это поле к указателю nikField. Теперь сделаем так же с указателем username и перетащим его на тот текст, где хотим видеть наш ник (у меня на картинке это текст %username%). Еще чуть ниже видим наш метод setNik и связываем его с нашей кнопкой. Но когда вы поднесете к кнопке и отпустите, то выпадет контекстное меню из которого выберите Touch Up Inside. Это означает, что этот метод сработает когда мы нажмем и отпустим кнопку. То что нам и нужно:)
Ну что, сохраняем, переходим обратно в Xcode и нажимаем Build & Run. Урааа, наша первая программа запустилась:) Нажмем в текстовое поле, появляется клавиатура, пишем имя. Но в нашей программе еще не хватает одного маленького штриха. Это чтобы убиралась клавиатура по нажатию на кнопку Done, когда мы закончили вводить наше имя.
Для этого опять включимся в конструктор интерфейсов, нажмем на нашу кнопку. Нажмем Command+1 и найдем там блок Text Input Traits. В нем есть несколько выпадающих списков, но нас интересует только самый нижний: Return Key. Выбираем со списка Done и в низу блока ставим галочку возле Auto-enable Return Key. Дальше мереходим в Command+2 Connections Inspector и видем там слово delegate . Жмем на кружек возле него и тяним к блоку File’s Owner
Теперь возвращаемся в наш файл FirstAppViewController.m После нашего метода setNik добавляем еще такой код:
- (BOOL)textFieldShouldReturn:(UITextField *)theTextField { ; return YES; }Сохраняем и пробуем запустить (можно использовать комбинацию Command+R) Пробуем написать наше имя в текстовом поле. При написании появляется кнопка Done по нажатию на какую закрывается клавиатура. Теперь жмем на нашу кнопку и вуа-ля, программа с нами здоровается:)
Казалось бы какая мелоч, подумаешь написали такую мелоч. А я, когда много лет назад учил делфи, выучив один такой пример, чтобы по нажатию на кнопку что-то писалось на экране делал уже разные игрушки. Помните одну из самых первых браузерных игр Бойцовский клуб? Вот я делал себе ради забавы что-то похожее и там все было основано именно на таком принципе как мы только что с вами сделали. Так что играйтесь, экспериментируйте!
Вот вам еще линк на архив проекта Можно скачать, включить посмотреть если у кого-то что не получилось. Ну а если есть вопросы — то пишите в комментариях.
Мобильные приложения - это то, чем сегодня пользуется каждый владелец смартфона. В любой момент можно посмотреть дорогу до нужного места, перевести неизвестное иностранное слово, прочитать новую книгу, послушать любимую музыку. В этом вся суть смартфонов: безграничные возможности прямо здесь и сейчас. Теперь вы сами можете не только использовать популярные приложения, но и создавать собственные. Как это сделать - разберёмся вместе в статье.
Написание программы своими силами сегодня - престижное и выгодное дело. У потенциального разработчика возникает шанс неплохо заработать, при условии, что его приложение будет пользоваться спросом.
Поэтому будет обидно, если вы потратите своё время на создание программы, которой не будут пользоваться. Чтобы такого не произошло, начинающему разработчику требуется подробно изучить этот увлекательный процесс. Спрос на приложение зависит не только от покупательской потребности, но и от мастерства его автора.
Есть и другая сторона медали: обыватель просто хочет придумать программу удобнее, чем другие, уже предложенные сегодня. Программу, которой будет пользоваться сам. Например, улучшенный калькулятор, органайзер или словарь.
Если вы хотите заработать на своей программе, не забывайте, что она должна быть оригинальной. Банальные фоторедакторы или новый почтовый клиент не помогут разбогатеть. Заранее продумайте идею и определите, чем ваше творение будет выгодно отличаться от других подобных.
Если идея для приложения у вас уже есть, следует запастись рабочими инструментами. Таковыми станут: компьютер и среда разработки Xcode.
Программу Xcode можно найти в магазине AppStore. Скачайте её и установите на своё устройство.
Скачайте среду разработки Xcode в AppStore
Чтобы создать своё приложение в Xcode, выполните следующие шаги:
Откройте программу Xcode и выберите создание нового проекта
Выберите тип и платформу программы
Выберите информацию о программе
Выберите New Folder
Выберите пункт Create
Добавьте текст в своё приложение
Разместите выбранную иконку на mapappicon
Укажите адрес своей электронной почты, чтобы получить иконки для своего приложения
Продолжите работу в XCode и переключитесь на пункт Assets.xassets.
Следующий этап разработки приложения - раздел Assets.xassets
Теперь добавьте иконки, полученные на вашу электронную почту.
Перенесите иконки из почты в приложение
Активируйте запуск программы с помощью кнопки в виде чёрного треугольника, включите Developer Mode.
Запустите приложение
Загрузка симулятора iOS займёт некоторое время
Проверьте работу приложения, запустив его. Если вы сделали всё правильно, оно запустится и корректно отразит содержимое.
Проверьте корректность запуска и работы приложения
Для проверки работоспособности своего приложения следуйте инструкции:
Введите Apple ID
Подсоедините устройство к компьютеру, чтобы протестировать приложение
В настройках управления устройством разрешите установку программы
Откройте приложение с помощью появившейся иконки на рабочем столе, чтобы проверить его работу
Если приложение открывается и работает корректно, вы всё сделали правильно и вашей программой можно начинать пользоваться.
Тестирование iOS-приложений будет доступно после регистрации в App Store в качестве разработчика и оплаты первоначального взноса. Программа для диагностики новых программ называется TestFlight.
App Store Review Guidelines содержит перечень правил, которым должно соответствовать новое приложение. Чтобы опубликовать программу в магазин App Store, нужно войти в https://developer.apple.com/register/ под своим AppleID или создать новую учётную запись. Для физических лиц удовольствие познакомить своё приложение с разработчиками Apple стоит 99 $.
Среда разработки, применяемая для создания приложений, удобна и достаточно проста для новичка. Основная проблема, с которой вы можете столкнуться, - это недостаток собственных технических навыков. Поэтому, если вы всерьёз решили заняться разработкой приложений в App Store, будьте готовы много практиковаться. Также вам поможет изучение литературы из различных источников по данному направлению.
Решившись попробовать свои силы в создании приложений для iOS, не бойтесь допускать ошибки. Начните с оригинальной идеи и развивайте её, используя возможности среды разработки. Практикуйтесь, развивайте свои навыки, следите за новостями и тенденциями в области IT-технологий. И, возможно, ваше приложение не просто станет популярным и узнаваемым, но и принесёт достойную прибыль.
Давайте, для начала, разберемся с актуальностью разработки под Apple устройства в целом. Ведь на сегодняшний день в App Store находится более 2 миллионов приложений.
Каждое приложение и его обновление должно проходить через строгую модерацию. Все приложения в магазине обновляются с периодичностью в 1 месяц.Каждый уважающий себя разработчик хочет сделать максимально качественное приложение с красивыми анимациями, хорошо проработанным пользовательским интерфейсом и максимальной производительностью.
Заработная плата iOS разработчиков варьируется от 60 000 до 250 000 рублей. Актуальность разработки под iOS неоспорима.
В рамках этой статьи мы создадим приложение, где выведем сообщение “Hello World” на главном экране и не напишем ни строчки кода.
Давайте разберемся, что нам потребуется, для того, чтобы разработать самое примитивное iOS приложение:
Голова нам, как видите, не потребуется. Да, компания Apple приложила максимум усилий, чтобы как можно сильнее упростить процесс и сократить время разработки мобильных приложений под их платформы, такие как: iOS, tvOS, macOS, watchOS. Также Apple представила в 2014 году язык программирования Swift, который очень прост для начинающих разработчиков и очень функциональный для профессионалов. Если вы сможете создать приложение для одной платформы Apple, к примеру для iOS, то вам не составит труда создать приложение и под другие платформы. Все унифицировано до такой степени, что вы можете использовать чуть ли не один и тот же код, запуская его на разных типах устройств.
Поехали!
И так, как говорилось ранее, нам потребуется компьютер Apple , и установленное приложение Xcode , которое находится в App Store в свободном доступе.
Давайте разберемся, что такое Xcode
и зачем он нам нужен.
Xcode
— это программная среда разработки, которая включает в себя: редактор кода, редактор графических интерфейсов, систему контроля версий и инструменты для отладки и выкладки, написанных нами приложений. Одним словом, это программа, в которой ведется 90% всех взаимодействий в разработке приложений под семейство операционных систем Apple
.
И так, запустив программную среду разработки мы видим приветственное окно, где мы можем открыть, создать или клонировать проект. Нам нужно создать новый, нажав на “Create a new Xcode project” . Да, весь интерфейс Xcode на английском языке, поэтому советую запастись англо-русским словарем.
Следующим шагом нам требуется ввести название проекта, организацию, в которой мы его разрабатываем, выбрать язык и включить/отключить дополнительные функции.
Заполнив информацию, нажимаем Next , и выбираем местонахождение проекта на нашем компьютере и жмем Create
У нас открывается наше основное рабочее пространство и давайте разберемся, что у нас тут есть. Разделим все приложение на несколько частей: вверху, слева, справа, внизу и посередине.
Также мы видим строку состояния, в которой можно наблюдать текущую задачу, которую выполняет среда разработки, правее мы можем увидеть настройки вида редактора: стандартный редактор , редактор с ассистентом и просмотр изменений в системе контроля версий, а также есть кнопки, чтобы показать/скрыть части среды, которые мы будем рассматривать далее: снизу (отладочная информация) , справа (навигация) и слева (утилиты)
Слева мы видим несколько кнопок, которые будут переключать функционал левой панели, а именно:
Справа у нас есть две части: верхняя и нижняя . Вся правая панель зовется утилитами. В верхней части мы увидим настройки выбранного файла и/или элемента пользовательского интерфейса. В нижней части утилит, мы видим элементы пользовательского интерфейса, которые мы можем использовать.
В нижней части программной среды разработки мы можем увидеть отладочную информацию, логи приложения и другую полезную информацию, чтобы проверить правильную работу приложения. Открыть нижнюю часть, можно с помощью предпоследней кнопки в верхней части приложения, а также при запуске данная панель открывается автоматически.
И в основной (центральной) части среды мы можем наблюдать редактор, в котором пишется код и ведется работа над пользовательским интерфейсом приложения.
И в основной (центральной) части среды мы можем наблюдать редактор, в котором пишется код и ведется работа над пользовательским интерфейсом приложения.
Остальные пункты нам пока не потребуются.
Теперь, когда мы разобрались с тем, из чего состоит наша среда разработки, можно приступить к созданию нашего “Hello World” приложения.
Если вас интересуют готовые шаблоны, то стоит обратить внимание на наш обзор онлайн-конструкторов , с помощью которых, вы сможете сами разработать приложение для телефона или планшета.
Открыв файл, мы видим экран приложения. Теперь нам нужно перетащить элемент под названием Label
на этот экран. Этот элемент находится слева внизу.
Перетаскиваем его на экран в любое место. Затем в панели утилит, ищем поле, в котором написано “Label”
.
И изменяем Label
на Hello World
. После этого, мы увидим, что наш элемент на экране не показывает полностью нашего текста, который мы вписали, так как у него был текст изначально меньше, и он принял его размеры.
Заставим данный элемент зафиксироваться по-центру экрана и принять правильную форму, чтобы наш текст полностью отобразился. Для этого, нам нужно найти вторую кнопки внизу слева, которая называется Align
и нажимаем на нее.
Здесь мы видим некоторые параметры расположения нашего элемента. Нам требуются два последних параметра. Активируем их и нажимаем “Add 2 Constraints”.
После этого, мы можем наблюдать, как наш элемент зафиксировался посередине экрана и принял форму, в которой отображается наш текст полностью.
Профессия программиста - одна из самых престижных и востребованных, это факт. В отрасли разработки программного обеспечения есть свои ниши. Из них самая быстроразвивающаяся, а вместе с тем наиболее высокооплачиваемая - это разработка ПО для мобильных устройств. Как тебе известно, так уж сложилось, что, оставив конкурентов далеко позади, вперед вырвались три постоянных соперника. Фишка легла таким образом, что кто-то из этих трех безоговорочный лидер, кто-то всегда догоняет.
В сегменте мобильных технологий, без сомнения, лидирует 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 - компилируемый объектно ориентированный язык программирования, используемый для написания приложений под «яблочные» системы. Представляет собой надмножество или, другими словами, надстройку над C, унаследовав от последнего синтаксис, типы данных, способы контроля за ходом выполнения программы и добавив к нему возможности объектно ориентированного программирования - описание классов и методов.
Как в C++, в Objective-C центральную роль играют объекты, с которыми связаны четыре парадигмы: абстракция, инкапсуляция, наследование, полиморфизм. Язык C++ является строго типизированным, тогда как Objective-C - слабо типизированный или обладает динамической системой типов данных. Подобно Smalltalk, в Objective-C объектам посылаются сообщения. Это исключительная возможность динамических языков, так как тип объектов проверяется во время исполнения программы, а не во время компиляции.
Описание языка Objective-C занимает не один объемистый томик. Поэтому, чтобы получить объективные знания, удобно пройти курс « ». Целый раздел курса посвящен этому языку.
В качестве семпла мы разработаем весьма простое приложение. Не будем отступать от священной традиции, поприветствуем мир. Однако с учетом того, что у нас графическое приложение, мы немного разнообразим его: добавим кнопку, нажимая которую будем отображать или скрывать надпись «Hello, World».
Запусти Xcode, в появившемся окне выбери Create new project или в главном меню File -> New -> Project. В следующем окне будет предложено выбрать целевую платформу и тип приложения.
В данном случае нас интересует платформа iOS. На выбор представлено семь типов приложений. Шесть из них - заготовки типичных приложений операционной системы iOS, по умолчанию содержащие разный набор компонентов. Седьмой тип - игра.
В качестве заготовки для нашего приложения выберем 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 « ». В курсе два месяца отдается на изучение этого языка. Во время первого месяца - вводные темы, а на втором - реальный кодинг профессиональных приложений.
В 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 - это магазин контента для всего спектра Apple-девайсов. Здесь можно купить игры и приложения как от больших компаний, так и от независимых разработчиков. Каждый разработчик, в какой бы стране он ни жил, может продавать или распространять бесплатно свои программы на этой площадке цифровой дистрибуции. Чтобы начать это делать, надо зарегистрироваться как разработчик и купить лицензию для продажи своих приложений. Это плата за предоставляемый сервис и развитие магазина App Store.
Мы разработали простое приложение для мобильной операционной системы iOS, используя для этого систему программирования Xcode вместе с языком Objective-C. Протестировали готовое приложение на симуляторе iPhone 7. Мы узнали, как построить пользовательский интерфейс с помощью Interface Builder, как связать графические элементы с кодом приложения, как создать обработчики событий. Познакомились с основами Objective-C. Кроме того, мы обратили внимание на перспективный язык Swift, используемый для разработки мощных и безопасных приложений для «яблочной» экосистемы.
Однако изученный материал - это только начало. Чтобы интенсивно прокачаться в направлении мобильного кодинга и разработки реально продаваемых приложений, мы рекомендуем пройти курс « » на сайте наших друзей .
Это достойный курс: пройдя его, ты точно не потратишь время зря. Он начинается с двух подробных курсов по языку Java, затем следует изучение базового программирования под мобильную операционную систему Android. Далее курс по базам данных в общем и языку SQL в частности. Затем углубленный курс по разработке профессиональных приложений для Android. После этого вектор изучения перейдет в сторону Apple-систем: два подробных курса по языку Objective-C и полезный курс по Swift.
Лекции курса ведут профессиональные преподаватели, имеющие большой опыт в разработке программного обеспечения. Если что-то непонятно, можно, не откладывая, задать вопрос. Вообще, обучение на GeekBrains - живой процесс, можно общаться, задавать вопросы, помогать с ответами. Для проверки полученных знаний преподаватели выдают домашнее задание, которое затем проверяется. После прохождения обучения тебя ждет гарантированная стажировка в IT-компании. А дальше все зависит от тебя, если ты покажешь себя как грамотный специалист, тебя пригласят на работу.
Специальный проект с компанией