Как делать приложения на ios. Создание приложений для iOS — разработка для начинающих

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

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

На все действия уйдет 10-15 минут.

Нам понадобятся:

  • Mac с установленным Xcode;
  • Устройство с iOS;
  • Изображение цветка;
  • Изображение травы.

Шаг 1. Создаем новый проект в Xcode

Запускаем xCode, выбираем пункт меню File -> New -> Project .

Шаг 2. Выбираем тип проекта

На следующем экране выбираем тип проекта – Game.

Шаг 3. Указываем основную информацию о проекте

Указываем название проекта и сверяем остальные настройки с картинкой.

Шаг 4. Выбираем место для папки с проектом

В открывшемся окне Finder указываем папку, в которой будем хранить проект. При необходимости можно воспользоваться кнопкой Create Folder в левом нижнем углу окна.

Шаг 5. Настраиваем игру

Теперь перед нами окно детальных настроек приложения. Снимаем галочку с Portrait в разделе Deployment Info , чтобы игра работала только в горизонтальном режиме.

Шаг 6. Смотрим на стандартный пример игры

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

Шаг 7. Меняем космические корабли на цветы

В правом меню выбираем пункт assets.wcassets , потом делаем активным объект Spaceship и на место картинки с космическими кораблем перетаскиваем картинку с цветком.

Шаг 8. Смотрим, что изменилось

Снова запускаем эмулятор. Теперь вместо космических кораблей появляются цветы.

Шаг 9. Уменьшаем размер цветка

Уменьшим цветы в пять раз. В правом меню выбираем файл GameScene.swift и находим в нем строчки кода:

Sprite.xScale = 0.5 sprite.yScale = 0.5

Заменяем их на:

Sprite.xScale = 0.1 sprite.yScale = 0.1

Шаг 10. Добавляем траву в коллекцию картинок

Идем в assets.wcassets , находим плюсик (см. картинку), нажимаем на него и выбираем пункт меню New Image Set . Называем новый набор картинок Background (название должно быть точным) и перетаскиваем в него картинку с травой из Finder.

Шаг 11. Добавляем траву в код

Удаляем код, который делает фоновую надпись HelloWorld:

Class GameScene: SKScene { override func didMoveToView(view: SKView) { /* Setup your scene here */ let myLabel = SKLabelNode(fontNamed:"Chalkduster") myLabel.text = "Hello, World!" myLabel.fontSize = 45 myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame)) self.addChild(myLabel) }

На его место вставляем:

Class GameScene: SKScene { var background = SKSpriteNode(imageNamed: "Background") override func didMoveToView(view: SKView) { /* Setup your scene here */ background.position = CGPoint(x: frame.size.width / 2, y: frame.size.height / 2) addChild(background) }

Шаг 12. Тестируем игру на устройстве

Идем в Xcode -> Preferencies -> Accounts и добавляем свой Apple ID:
1. Подключаем iOS-устройство к компьютеру.
2. Выбираем устройство и жмем на кнопку запуска.
3. Если появляется сообщение о проблемах с безопасностью, идем на iOS-устройстве в Настройки -> Основные -> Управление устройством и разрешаем запуск приложений от нужного разработчика.
4. Находим на Spring Board иконку приложения и запускаем его.Теперь устройство можно отсоединить от компьютера и продолжать пользоваться приложением.

Если возникли какие-то проблемы, то обновите iOS и xCode.

В App Store такую игру не примут, но можно развлекаться на своих устройствах. Если проявить немного усердия, из этой основы можно сделать что-то действительно интересное с помощью Google и StackOverflow.

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

Где учиться разработке под iOS?


Лучший вариант - поcтупить на факультет iOS-разработки в онлайн-университет GeekUniversity , созданный GeekBrains и Mail.ru. Целый год несколько вечеров в неделю вы будете изучать программирование под iOS. Занятия проходят в формате вебинаров и учиться можно в любой стране мира.

В GeekUniversity практикуют проектно-ориентированное обучение . За год вы создадите 4 собственных приложения для iOS:

  • Погодное приложение;
  • Мобильную игру;
  • Приложение для интернет-магазина;
  • Командный проект.

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

Какие знания вы получите на факультете iOS-разработки?

За год супер-интенсивного обучения ученики усваивают огромный объем знаний:

  • Навыки программирования на Swift
  • Навыки программирования на Objective C
  • Навыки разработки мобильных игр
  • Знание алгоритмов и структур данных
  • Понимание компьютерных сетей и операционных систем
  • Работа в команде
  • Методологии разработки: Agile, Scrum
  • Умение работать с GIT
  • Знание принципов ООП
  • Навыки успешного прохождения собеседований и общения с заказчиками
  • Навыки проектирования архитектуры, использования шаблонов проектирования singletone, adapter, factory, dependency injection
  • Навыки использования IOS SDK, карт, геолокации, push-уведомлений, анимаций и 3d-touch
  • Навыки разработки мобильных приложений под iOS
  • Навыки написания чистого кода

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

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

Создать мобильное приложение под iOS с нуля можно двумя способами:

  1. Написанием на языках Objective-C и Swift;
  2. Написанием с помощью визуальных редакторов и сервисов;
  3. С помощью дополнительных языков – это C++ и некоторые другие.

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

Основная среда для разработки приложений

Независимо от того, под какое устройство создаётся приложение, программисту потребуется среда разработки Xcode. Эта среда является универсальной – в ней делаются приложения для смартфонов, планшетов, компьютеров и прочих устройств от Apple. Скачивается она через магазин приложений Mac App Store, версии для Windows нет. Распространяется программа бесплатно, в ней уже присутствует эмулятор для тестирования софта.
Последняя версия среды была выпущена 27 марта 2017 года – номер версии 8.3. Также для обновлённого софта характерна поддержка новых функций и более быстрая работа.

  • Поддержка языка Swift 3;
  • Просмотр приложения на разных платформах;
  • Анализ производительности создаваемых программ;
  • Анализ использования системных ресурсов при выполнении программ;
  • Эмуляция различных устройств от Apple;
  • Встроенный редактор кода.

Каждая новая версия предоставляет всё новые возможности.

Пример разработки приложения

Данный пример показывает основы разработки программы «Hello World» - процесс создания прописан пошагово, что позволяет повторить его самостоятельно. Инструкция предусматривает использование объектно-ориентированного языка программирования Objective-C. Многие свои возможности он унаследовал от языка С, но в нём используется динамическая система типов данных, а не строго типизированная. Для более детального ознакомления рекомендуется поработать с книгой «Сила Objective-C 2.0. Эффективное программирование для iOS и OS X». Автор издания – Мэтт Гэлловей.
В мире программирования принято начинать изучение новых языков с программы «Hello, World». Она выведет на экран кнопку, при нажатии на которую на нём будет появляться и исчезать данная надпись. Для начала необходимо выбрать тип приложения:

  • Single View Application – заготовка для создания простейшего софта. Содержит компонент View Controller с конструктором форм Interface Builder;
  • Page-Based Application – основа для написания журналов и программ для чтения с поддержкой множества экранов;
  • Tabbed Application – основа для софта с несколькими переключаемыми экранами;
  • Master Detail Application – основа для софта с табличным отображением данных;
  • Game – основа для создания игровых приложений на основе фреймворков Metal, OpenGL ES, SceneKit и SpriteKit. Первый фреймворк применяется в требовательных играх, вторые два работают с трёхмерной графикой, а последний – с двухмерной.

Предусмотрены и ещё два типа – это 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.

Работа с кодом

Следующий пункт – необходимо создать связь между кодом и используемыми в приложении элементами. Последовательность действий:

  • Открываем содержимое файла ViewController.h двойным щелчком в отдельном окне;
  • Берём компонент с нашим текстом мышью, с зажатой клавишей Ctrl, и отпускаем внутри вышеуказанного окна;
  • В открывшемся окне Outlet’а необходимо ввести имя объекта (например, lab) и указать тип UILabel;
  • В списке Storage выбираем тип ссылки на объект weal и нажимаем Connect – в код ставится строка «@property (weak, nonatomic) IBOutlet UILabel *lab;» (без кавычек);
  • Проделываем аналогичные действия для компонента с кнопкой, но даём Outlet’у имя but;
  • Открываем файл реализации ViewController.m, берём компонент с кнопкой мышью, с зажатой клавишей Ctrl, отпускаем в окно с файлом до закрывающей скобки @end;
  • В открывшемся окошке указываем имя обработчика события (например, Click), в поле Type ставим значение id;
  • Открываем в этом же окне выпадающий список Event, выбираем пункт Touch Up Inside – это действие при отпускании пальца;
  • В списке Arguments выставляем значение Sender;
  • Нажимаем кнопку Connect.

В окне с кодом появится строка с фигурными скобками, между которыми необходимо вписать код «_lab.hidden = !_lab.hidden;». В итоге у нас должно получиться – «(IBAction)onClick:(id)sender { «_lab.hidden = !_lab.hidden;}» (без кавычек). Теперь остаётся лишь запустить наше первое приложение в эмуляторе.
Приложение обладает простым интерфейсом, в нём всего два элемента – кнопка и текстовое поле. При нажатии на кнопку в текстовом поле появляется надпись «Hello, World». Нажимаем ещё раз – и она исчезает.
Может показаться, что мы создавали приложение слишком долго. Если удастся сделать хотя бы простейший софт, это станет стимулом к дальнейшему изучению программирования под iOS.

Язык Swift


Если вам кажется, что процесс создания программ под iOS слишком сложный, попробуйте познакомиться с языком Swift. Его основные преимущества:
  1. Swift более лёгкий, чем Objective-C;
  2. Swift почти в три раза более быстрый;
  3. Swift более удобный в разработке программ.

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

Сервисы для создания приложений под iOS

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


Это мощный инструмент, не требующий знания основ программирования. Вместо полной разработки здесь применяются шаблоны программ – это магазины, каталоги товаров, мультимедийный софт, медицинский софт, шаблоны для ресторанов, фитнесс-клубов и даже церквей. Итого более 1000 шаблонов, чтобы облегчить процесс разработки. И многие из них предоставляются абсолютно бесплатно.
Неоспоримым плюсом сервиса является то, что он позволяет компоновать программы не только по iOS, но и под Android. Минусом является необходимость платить деньги за размещение. Минимальный тарифный план – 2400 руб./мес. Тариф включает в себя 500 установок. Для корпоративных клиентов предусмотрен тариф на 10 приложений и безлимитное количество установок.
На сервисе работает понятный русскоязычный интерфейс, поэтому сложностей с ним не возникнет.

Сервис Apps Globus


Перед нами ещё один конструктор, позволяющий создать приложение под iOS без знаний в области программирования. Здесь работает мощный фреймворк с приличным функционалом, позволяющий создавать программы высокого уровня сложности. На выбор пользователей представлено множество шаблонов – можно работать с графикой, публиковать купоны с QR-кодами, создавать бизнес-софт для такси, разрабатывать софт для гостиниц и ресторанов.
Минимальный тариф под iOS – 6000 в год. Администрация конструктора самостоятельно публикует созданные приложения в App Store. Также здесь возможно конструирование софта под Android.
Интересная возможность – аккаунт реселлера для разработчиков, позволяющий запустить собственный бизнес по разработке софта для собственных клиентов.

Конструктор App2b

Здесь разрабатываются интернет-магазины, каталоги товаров, онлайн-журналы и многое другое. Пользователей ждёт множество готовых шаблонов, настраиваемых под свой вкус. Ваш софт сможет работать с графикой, мультимедийными файлами, push-уведомлениями, навигацией, социальными сетями и многим другим. Запускайте фотогаллереи, онлайн-витрины, каталоги музыки и прочий софт буквально в несколько нажатий мышью.
Основная ориентация сервиса – на бизнес-софт. Разработка здесь бесплатная, но нужно оплатить доступ к конструктору, техподдержку, доступ к статистике и размещение программ в App Store. Стоимость одного приложения – 9990 рублей.


Довольно простой конструктор, на их разработку уйдёт минимум времени – больше займёт подготовка контента. Сервис работает бесплатно, деньги за него платить не нужно. Для того чтобы приступить к разработке, необходимо скачать десктопную утилиту на компьютер (под Windows). Устанавливаем софт, открываем его и приступаем к работе – используя готовые модули и бесплатные шаблоны вы сможете быстро соорудить нужную вам программку.

AppsMakerStore

Если нужен реально красивый и функциональный софт, обратите своё внимание на конструктор AppsMakerStore. Это мощный бизнес-инструмент, позволяющий создавать приложения для бизнеса, причём своими руками – без помощи третьих лиц. На выбор пользователей представлено множество шаблонов:

  • Для ресторанов и кафе – с возможностью оформления заказов, бронирования столов или организации программ лояльности;
  • Для торговли – поддерживаются push-уведомления, присутствует каталог товаров с возможностью покупки в режиме онлайн, есть функции организация мероприятий;
  • Для косметических салонов – организация бронирования и записи, галерея работ, отзывы клиентов, подарочные сертификаты;
  • Для радио – организация трансляций на весь мир, публикация полезной информации и новостей;
  • Для событий и мероприятий – шаблон для ивент-агентств и организаторов. Мощный функционал с геолокацией и уведомлениями;
  • Для госслужб – запускайте календари событий, публикуйте защищённую информацию;
  • Для отелей, пансионатов, гостевых домов – функции бронирования, заказ дополнительных услуг и многое другое, что необходимо в гостиничном бизнесе.

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

В чём лучше разрабатывать приложения

Ответить на этот вопрос довольно сложно. Поэтому мы составили сравнительную таблицу:

Сервис Плюсы Минусы
iBuildApp Много шаблонов для приложений, русскоязычный интерфейс, круглосуточная поддержка Нужно платить деньги за разработку, причём немаленькие
Apps Globus Поддержка русского языка, доступные цены на публикацию и поддержку программ, множество инструментов для разработки софта, гибкость конструктора, доступ к аналитике, предоставление исходных кодов Мало доступных шаблонов
App2b Множество инструментов для разработки – от простых страниц до интернет магазинов, собственный хостинг, инструменты для продвижения приложений Не самый информативный сайт, для получения подробной информации по разработке необходимо позвонить по контактному телефону
New Digital Times Не нужно платить деньги, возможность разработки приложения через веб-интерфейс или приложение для компьютера. Можно создать магазин, журнал, есть хостинг для данных Мало модулей, многие из них придётся заказывать у программистов сервиса
AppsMakerStore Гигантское количество профессиональных отточенных шаблонов позволит создать продукт любого уровня сложности. Множество дополнительных модулей. Поддержка множества платформ. Трудно понять ценовую политику

Создать приложение с помощью сервисов очень просто – разработка не займёт у вас много времени. Все действия здесь производятся в визуальных редакторах, результаты можно посмотреть без публикации в App Store. Также почти все сервисы поддерживают софт под Android – вы сможете охватить сразу две мобильные платформы. Такая возможность актуальна для тех, кто занимается бизнесом и продвигает его в интернет-среде.
Но в конструкторах возможно создание далеко не любых программ. Кстати, мобильные игры создать с помощью конструкторов не удастся. Поэтому изучение языков программирования откроет перед вами широчайшие возможности по работе с софтом для продукции Apple.

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

Перспективы создания и публикации приложений для iOS

Как бы молодые разработчики ни тешили себя надеждами, приятного на рынке приложений мало. Из множества проектов, популярными становятся далеко не многие. Одна незаурядная американская компания Эпп Промо провела маркетинговое исследование и получила вот такие результаты: большинство опрошенных создателей приложений заявили, что 60% игр вообще не приносят деньги, а 82% говорят, что этим делом они себя прокормить не могут. Следовательно, им приходится работать где-то ещё.

Компания Apple заявляет, что их площадка - хорошее место для подобного рода заработка, но по факту дела обстоят иначе. Для того, чтобы зарабатывать деньги (ну, или хотя бы не уходить в минус), нужно попасть в Топ-100 или Топ-200. Другие разработчики объясняют это явление тем, что людям будет просто лень пролистывать далеко вниз для того, чтобы найти предложенный вами продукт. Если вас не напугало вышеописанное и вы все равно хотите создать своё приложение - идём дальше.

Как создать приложение для iOS и выложить его в App Store

Разберёмся, что нужно сделать, чтобы получить приложение и начать на нём зарабатывать.

Как установить среду разработки Xcode

Создаём приложение в Xcode

  1. Как создать новый проект. Открываем приложение. Далее выбираем меню «файл» и нажимаем на «создать новый файл». Нажимаем на приложение (application) под «ios» слева в окне. Переходим в раздел шаблонов. Нажимаем на пустое приложение (Empty Application).

    В интерфейсе программы выбираем «Single new application»

    2. Создание сториборда. Storyboard отвечает за отображение экранов приложения в вашей программе. Сториборды отображают то, что находится на каждом отдельном окне, и показывают их взаимодействие. Эта штука даёт возможность хорошо проработать вашу игру. Далее делаем следующее: Выбираем Файл, затем New, затем Файл. Далее нажимаем на «User Interface». Кликаем на сториборд, выбираем «next». В меню устройств нужно выбрать устройство, для которого предназначена ваша программа. В моём случае - I phone. Называем объект «Main».

    В Storyboard выбираем устройство

    3. Назначаем сториборд к вашему проекту. Теперь назначаем сториборд в качестве главного интерфейса нашей программы. Если все сделать правильно, сториборд будет доступен сразу, когда мы запустим нашу программу. Вот, как нужно действовать: выбираем имя своего файла во вкладке слева, нажимаем targets и выбираем свой проект из этого заголовка. Перейдите в меню «Generals» и выберите «Deployments Infos». В Main Interface вводим Main.Storyboard и переходим к следующему шагу.

    Вводим «Main.storyboard»

    4. Добавляем первый экран. Для этого нам понадобится контроллер вида. С помощью них мы сможем сгенерировать приблизительный вид приложения. Изначально можно изучить контроллеры вида и выбрать их из нескольких пресетов. Если вдруг вы в этом деле чайник, то лучше, конечно, выбрать из существующих. Таким образом, мы увидим, как будет выглядеть приложение в руках у обычного юзера. Выбираем «Mains Storyboards». Находим Object Library. Внизу правой части можно этот самый Object Library выбрать. Справа вы увидите появившееся окошко, которое именуется холстом. Перетаскиваем туда «Views Controller». Когда пользователь запустит приложение, он увидит загрузочное окошко. Поздравляем!

    В панели контроллера вида добавляем первый экран

    5. Добавляем объекты на наш экран. После выбора контроллера вида, вы можете добавлять объекты в ваше приложение. Их можно найти во все том же Object Library. Эту библиотеку можно найти внутри контроллера вида.

    Затем добавляем на наш экран объекты интерфейса

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

    Создаём индивидуальный интерфейс и измененяем свойства объектов

    7. Добавление дополнительных экранов. Ваше приложение не может состоять из одного экрана - в этом просто нет смысла. Поэтому вам понадобится создавать их самостоятельно. Делается это предельно просто - контроллер вида на пустую часть экрана.

    Перетаскиваем контроллер вида на пустую часть холста

    8. Активируем «Navigation Controller». Эту фичу мы будем использовать для перемещения между несколькими окошками. Достигается с помощью Navigation Controller. Navigation Bar добавляется вверху программы. Запомните, Navigation Controller добавляется строго к начальному экрану для контроля за перемещением по всем остальным окнам. Для этого выбираем загрузочный экран. Нажимаем на editor, затем на Embed In, затем тыкаем на Navigation controller. После проделанных шагов появляется навигационная панель.

    Добавляемпо инструкции панель навигации

    9. Добавляем функциональность Navigation Controller. Когда меню навигации было создано, к нему необходимо добавить инструменты. С помощью этой фичи пользователь сможет «переезжать» по приложению из одного места в другое. Мы предлагаем добавить стандартный функционал. Добавьте заголовок (для этого нужно открыть пункт Navigation Item, а затем Attributes Inspector, после чего вводим заголовок), Navigation button и обеспечиваем кнопкам свойства.

    Добавление функционала на панели

    10. Связываем экран с кнопкой. Для связывания кнопок нажимаем ctrl, а затем перетаскиваем их её на следующий экран. Вскоре вылезет пункт Action Segue с доступными опциями. Выбираем «Push» для перемещения по окошкам.

    Связывание кнопки с экраном

    11. С помощью вышеперечисленных шагов можно создать программу с очень примитивным функционалом и интерфейсом. Если вы все же хотите создать действительно интересное приложение с возможностью обработки данных - изучайте язык Objective C.

    Пора приступать к изучению языка программирования

Как протестировать созданное приложение


Как опубликовать


Возможные проблемы и пути их решения

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

Не забывайте следить за продажами. Сделать это можно с помощью Itunes Connect Mobile. Компания Apple будет периодически присылать вам уведомления с аналитикой продаж, но следить самостоятельно лишним не будет. Успехов вам и больших продаж!

9 февраля 2015 в 17:54

Создание iOS приложения. От идеи до результата

  • Разработка под iOS
Все началось с того, что я огляделся по сторонам и, не увидев автомобиля своей мечты, решил сконструировать его сам
Фердинанд Порше

Привет, Хабр. Хочу рассказать, как создал свое первое iOS приложение и что из этого получилось.

Идея

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

Поэтому, поставив все ставки на простоту и удобство, я приступил к созданию концепции. Модель приложения с единым списком заметок. Все в одном месте, что может быть проще? Если что–то имеет большую ценность или актуальность, совсем не обязательно вешать на него ярлык, ведь достаточно просто переместить более важную заметку в топ списка. Старые и ненужные записи постепенно будут опускаться вниз и в последствии будут удалены пользователем.

Функционал

После того, как концепция была придумана, я выписал основной функционал - те вещи, на которые я хотел бы сделать акцент в управлении:

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

Инструментарий

Перед тем, как писать код в Xcode, я полностью воссоздал внешний вид приложения в векторном редакторе Sketch. Эта программа отлично подходит для быстрого создания макетов. Для этого приложения доступна масса плагинов, среди них есть Sketch Preview - просмотр артборда сразу на устройстве через программу Skala Preview. Всего лишь нужно скачать бесплатные программы Skala Preview на компьютер и мобильное устройство и установить плагин. После этого выбрать нужный артборд, нажать комбинацию Command+P и уже через секунду внешний вид приложения транслируется на устройство.

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

Разработка

В приложении я использовал всего два контроллера – один непосредственно для всех-всех-всех заметок, другой - для отображения небольшого туториала при первом запуске. Работу с базой данных я организовал с помощью фреймворка CoreData.

После создания базового функционала (создание, удаление, редактирование заметок) я решил улучшить каждую из этих функций.

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

Анимации удаление и перемещения в топ я решил реализовать самостоятельно, а визуальное сопровождение максимально приблизить к реальной жизни. Что-то приобрело более высокий приоритет - свайп вправо и заметка перемещается в топ списка. Чтобы удалить - свайп влево и анимация зачеркивания покажет на сколько еще нужно продлить свайп чтоб завершить удаление. При случайном удалении - нужно просто потрясти устройство («Shake»), и заметка вернется на свое прежнее место.

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

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

Нейминг

Название приложения - самая важная часть при разработке, это первое что видит пользователь в магазине. На хабре есть по этому поводу. К подбору имени я решил подойти основательно: для начала я перебрал список 1000 самых популярных слов в английском языке и выписал всевозможные комбинации, которые подходили бы для названия мобильного приложения для заметок, к тому же хотелось уложиться в 8-10 символов. Но при этом не хотелось выбирать название SuperNotes или NotesPlus etc, хотелось чего-то нового. Мне понравилось сочетание mad note , на которое случайно наткнулся в Urban Dictionary:
mad note - excellent, entertaining, surprising, unexpected or awe-inspiring

Сразу же появился и слоган: MadNotes - Note your passion. Поскольку палитра основных цветов у меня уже была готова (белый, синий, красный), я решил сразу придумать подходящую иконку. Ситуация с логотипами для приложений подобного рода плачевная:

Поскольку заметки на бумаге пишут карандашом или ручкой, я решил отобразить это на иконке - карандаш повернутый под углом 45 градусов. Получилось вот так:

Результат

Поскольку изначально проект задумывался как дизайнерский, я решил поучаствовать с моим приложением в всеукраинском конкурсе Ukrainian Design Awards: The Very Best Of в категории Digital Design. До конкурса оставалось несколько недель, за это время я успел сделать публикацию на Behance, где визуально показал все основные функции приложения, а также записал видео-превью.
Поскольку победителей конкурса не разглашают до самого последнего момента, было невероятно приятно увидеть свою работу на выставке работ победителей - жюри увидели и оценили главную концепцию - минималистичное и, вместе с тем, функциональное приложение для ведения заметок.


Приложение находится в AppStore уже несколько месяцев, за это время я сделал шесть обновлений и переписал код на Swift. В последней версии (1.2) добавлена синхронизация с iCloud, так что заметки уже успели перебраться в облако.

Спасибо внимание.
Note your passion

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

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

Операционная система iOS 10, последней модели iPhone считается самой лучшей в мире. Соответственно создание программ для лучшего девайса, в тренде у молодёжи.

Для того чтобы сделать приложение подойдет Windows. Но если по каким то причинам или по привычке к другой, Windows отсутствует рекомендуем установить macOS (Хакинтош). Вы можете установить ее на VMware или VirtualBox. Клавиатура у них различна, некоторые значения отсутствуют на Хакинтоше, но в целом все не так уж сложно.

Конечно чтобы обучиться программированию к этому вопросу надо подойти серьёзно, в первую очередь из-за необходимых познаний в области математики и логики. Сегодня совсем не обязательно знать строение электронного устройства, но с основами механизма нужно быть знакомым. Программист iOS обязан знать преобразование систем счисления, продуктивность и функциональность приложений, чтобы уметь создавать пользующиеся спросом приложения. Необходимыми будут знания языка i-программирования. Если ранее вы уже занимались этим с другими системами, то данный опыт мало чем поможет. Apple имеют собственную экосистему. Понадобятся знания в Objective-C и Swift. Последний стал использоваться позднее, поэтому язык Objective применяется чаще. Но Swift усиленно внедряется производителями компании Apple. Старый софт пишется на старом языке, а соответственно новый на новом. Поэтому желательно знать и тот, и другой. Изучить их можно на некоторых сайтах, достаточно быстро.

Основание программирования это Xcode. На данной среде есть необходимые инструменты для разработки приложений. Они предназначены для создания программ для Mac, iPhone, Apple Watch и др. Xcode вмещает в себя инструменты для создания интерфейса и редактора кода вмещающего новейшие средства для работы с ним. Там же возможна диагностика приложений. Система поддерживает эмуляторы всех устройств, а последние версии можно дозагрузить. Не давно появилась обновленная версия для разработки — 8.0. Простые версии можно найти установить через App Store. Последняя версия позволяет просматривать «сырое» приложение на платформах гораздо быстрее и не открывая его. Для удобства, доступности наших описаний лучше обновить Xcode.

Разработка мобильных приложений iOS

iOS разработка возможна с помощью Xcode. Для этого платформу нужно скачать. Произвести установку можно через сервис best-soft.org

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

  • Итак, открываем приложение Xcode.
  • Появившееся приветствие игнорируете, заходите в пункт создания файла.
  • Формируете стиль.
  • Далее выбираем вкладку приложения.
  • В поле названия прописываем нужное.

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

Разработка под iOS, её особенности

  1. Разработка под iOS прежде всего требует четкого понимания того, что мы хотим создать, какой должна быть программа. Перед началом программирования визуализируйте будущую игру, программу, дневник в уме, «разложите по полочкам». Нарисуйте в голове принципы будущего приложения, их задачи. Для этого определитесь с некоторыми пунктами:
  2. Возрастные ограничения, то есть к категории какого возраста пользователей будущего «создания», вы его отнесете. Определите, будет это женским приложением, либо мужским, а может и универсальным.
  3. Нужно понять для чего вы задумали эту разработку. Ответьте на вопрос, это скорее повышение опыта, тренировка практических навыков в области программирования или имеется финансовый аспект данной работы?
  4. Важно чувство меры в наполнении страничек, пустые и переполненные приложения вряд ли кому будут интересны.
  5. Не допускайте опечаток и неточностей в кодах.
  6. Следите за уникальностью создаваемых приложений.
  7. Расширьте возможности использования создаваемой программы для разных операционных систем.


Создание приложения на конструкторе

Рассмотрим на примере одного из конструкторов с сайта apparchitect.com. В данном случае игру создать не возможно, но простое приложение легко. Сделать это с помощью сервиса apparchitect.com достаточно просто. Следуя подсказкам сайта и с помощью инструментов нужно сконструировать приложение.

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