О том, как создать приложение для ios – 6 этапов + 10 советов для начинающих.

Некоторые люди, желающие начать зарабатывать в интернете, не знают, как создать приложение для ios .

Однако научиться этому не сложно, следуя предложенным в статье советам.

Поэтапное создание приложения для ios

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

Все, что нужно – это лишь следование инструкции.

6 этапов создания приложения для ios:

    Поиск идеи.

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

    Составление плана и функционала.

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

    Выбор инструмента.

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

    Разработка.

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

    Название.

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

    Оценка результата.

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

Задумавшись о том, как создать приложение для ios, уделите время «вынашиванию» идеи.

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

Как сделать приложение для ios без изучения программирования?

Как написать приложение для ios тем, кто владеет компьютером, но не разбирается в методах программирования?

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

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

Лучшие программы для создания новичку:

  • My-apps.com
  • AppsGeyser.com

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

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

Как написать приложение для ios с помощью Xcode?

Те, кто задаются вопросом о том, , не обладая специальными навыками, могут воспользоваться платформой Xcode.

Чтобы начать работу с помощью Xcode, необходимо скачать его и установить на мобильное устройство.

Скачать Xcode можно на сайте: best-soft.org

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

Платформа системы Xcode поддерживает создание:

  • Программ для навигации
  • Дневников с напоминаниями
  • Мини-справочников.

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

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

Алгоритм создания нового проекта

  1. Запустить Xcode из приложений на вашем мобильном устройстве.
    Появится окно приветствия.
  2. Из него нужно выйти, и запустить функцию «Создать новый файл».
  3. Выбрать дизайн.
  4. В левой части программы ios нужно выбрать раздел Приложение.
  5. В появившемся окне вписывается название вашей будущей программы.
  6. Все внесенные изменения сохраняются.
    Для продолжения написания нужно открыть созданный документ с кодом из файла.

Платформа Xcode очень удобна для новичков.

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

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

Xcode позволяет выбрать любой понравившийся шаблон уже готовой программы, и изменить его по собственному усмотрению.

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

Чтобы продолжить создание программы на основании готового кода, нужно выбрать каталог Supporting и в открывшемся меню – main.m.

Затем система автоматически выполнит все необходимые действия.

Концепция для создания приложения для ios


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

Иначе говоря, в голове должна сложиться картинка готового приложения, принципов его работы и функционала.

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

    Какова ваша целевая аудитория?

    От круга пользователей, их возраста и интересов во многом зависит то, каким именно будет создаваемое вами приложение.
    Для детей лучше всего подойдет игра, а для девушек – подростков в возрасте до 18 лет – девичий дневник для телефона.

    С какой целью вы создаете игру или справочник?

    Для тренировки навыков программирования или заработка?

Немалое внимание следует также уделить наполнению приложения для ios.

Здесь следует быть осторожным и избегать двух крайностей – излишне пустой, и излишне наполненной платформы.

Недостаток и избыток информации одинаково вредят.

Уделите внимание наличию активных функций.

Пользователь должен иметь возможность взаимодействовать с системой – делать пометки, ставить закладки.


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

С нынешним уровнем технологий, программы сами напишут игру или планер, но не придумают оригинальную, уникальную идею, название.

Что нужно знать желающим по поводу самостоятельного написания приложения для ios:

  1. Потратьте время на выявление потребностей выбранной аудитории пользователей.
  2. Уделите особое внимание актуальности приложения.
  3. Избегайте ошибок в коде, поскольку исправить их практически невозможно, а пользователи в комментариях оставят множество неприятных отзывов.
  4. Чтобы , следует создать бизнес-модель, и решить, каким образом будут поступать деньги.
    Существует два способа: сделать программу платной, и снимать деньги при скачивании, или же внедрить рекламу.
  5. Проверьте, чтобы приложение было уникальным, и вас не обвинили в плагиате.
  6. Стремитесь создать такую программу, которую будет поддерживать любая операционная система.
  7. Изучите принципы разработки приложений, поинтересуйтесь у тех, кто уже давно занимается подобными делами.
  8. Не переборщите с функционалом.
    Одной – двух «фишек» будет вполне достаточно.
    Пользователь должен понимать программу, а не разгадывать принцип ее действия.
  9. Если проект получил множество плохих отзывов, не забрасывайте его, не расстраивайтесь, а занимайтесь улучшением.
    Развивайте свои навыки.
  10. Проведите анализ игр и приложений.
    Отметьте для себя, какие идеи кажутся хорошими, а какие вызывают недоумение.

Если вы желаете создать свое приложение, не имея знаний в области программирования,

то данный видеоролик подскажет, с помощью какого сервиса это можно сделать:

Существует множество простых ответов на вопрос: как сделать приложение для ios .

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

Задумывались ли вы о том, как создаются приложения для iOS и OS X, которыми миллионы владельцев iPhone, iPad и Mac пользуются каждый день? Знаем, что многим приходило в голову заняться разработкой программ для Apple-устройств, однако новички, как правило, пугаются сложностей в процессе обучения и самостоятельного штудирования учебников.

Сама профессия «разработчик приложений для iOS и Mac» является универсальной: она сочетает в себе знание двух языков программирования — Objective C и Swift. Первый представляет собой основной язык , построен на базе языка C и имеет простой синтаксис. Без этого языка не возьмут работать в студии мобильных приложений. А вот Swift относительно свежий язык: Apple представила его в 2014 году, он интегрирован с C и работает быстрее Objective C и Python, позволяя создавать любые программы — как игры, так и полезные приложения.

Сейчас специалистов, которые знают Swift, единицы, поэтому они очень востребованы на рынке. Достаточно зайти на любую HR-площадку, чтобы посмотреть среднюю зарплату iOS-разработчиков — 100 тысяч рублей. Опытные программисты имеют заработную плату в несколько сотен тысяч рублей + различные бонусы от компании.

Чтобы получить наилучший результат за небольшое время и гарантированную стажировку, можно воспользоваться от сервиса GeekBrains. Он включает в себя и Objective C, и Swift, то есть по сути на выходе вы получаете две специальности вместо одной. Толковых iOS-программистов компании разбирают как горячие пирожки, так что без работы они не сидят и одной недели.

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

Почему именно онлайн-курсы? Они имеют очевидное преимущество по сравнению с вузами по затраченному времени и при этом дают возможность заработать практический опыт и получить гарантию результата. 7 из 10 студентов сервиса находят работу еще в процессе обучения, поскольку GeekBrains предоставляет гарантированную стажировку. Кроме того, студенты приобретают бесценный опыт командной разработки и кейс для портфолио. Без последнего сейчас почти не устроиться на работу.

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

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

Идея

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

  • Нельзя определять положение пользователя в помещении точнее пяти метров;
  • Не получится определить, находится ли человек в самолёте, над какой страной пролетает и момент пересечения границы государств;
  • Не существует возможности узнать номер телефона человека (если только пользователь сам не введёт его);
  • “Если это просто сайт, оформленный в приложение, то его завернут” (речь про ревью приложения командой App Store);

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

Команда

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

Я намеренно пропущу этап набора людей, потому что это относится к любому проекту, а не именно к iOS-разработке.

Трудно поверить, но писать приложения для iOS можно лишь на “маках”. Поэтому, каждому разработчику понадобится одно устройство на macOS и одно - на iOS (есть некоторые способы обойти это ограничение, но мы не будем их затрагивать). На маке он/она будет писать код, на айфоне - смотреть, что из этого получилось. Также можно надеяться, что iOS-разработчик придёт со своими девайсами (случай нередкий).

Самый недорогой вариант - купить каждому подержанный mac mini с клавиатурой, мышкой, монитором, набором кабелей и какой-нибудь iPhone 5s. Кстати, lightning-кабели с этого момента можете считать расходником: ломаются они крайне быстро.

Ко всему прочему, понадобится обзавестись “аккаунтом организации-разработчика Apple”, который стоит $99 в год и позволяет управлять доступами разработчиков, устройствами и так далее. Можно обойтись и индивидуальным аккаунтом, но стоит он столько же, а командных возможностей у него нет.

Интерфейс управления Apple Developer аккаунтом для организаций

Дизайн

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

Минимально от дизайнера понадобится следующее:

  • Иконка приложения в различных размерах (под различные типы экранов);
  • Картинки приложения (скриншоты) под каждый поддерживаемый экран и язык в случае, если на картинке есть текст (скриншоты могут сделать и разработчики, но зачастую на них добавляют и дополнительную инфографику);
  • Каждая картинка, которая используется в приложении, во всех нужных размерах (2–3x);

Если же вы хотите действительно качественное приложение, обязательно просите у дизайнера:

  • Рисунки всех экранов приложений (можно сделать исключение для похожих экранов);
  • Картинки для всех всплывающих сообщений, уведомлений;
  • Для всех элементов, где будет анимация - продумать и нарисовать её;
  • Карту переходов по приложению - user flow, её можно просить одной из первых - эта карта здорово помогает определить основные и дополнительные экраны, их содержимое;


Пример user flow от UBER для кнопки “Отвезите меня туда на UBER”

В максимальном случае берите дизайнера на постоянную основу и работайте с ним над созданием действительно удобного и приятного приложения, которым смогут пользоваться все (тонкий намёк на “доступность” - когда приложение подходит и для людей с ограниченными возможностями).

Тестирование

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

Этими вопросами занимаются тестировщики, желательно, чтобы они обладали опытом работы именно с iOS-приложениями. Вопрос: как они будут это делать?

Естественно, здесь тоже понадобятся устройства. Хорошо, если вы найдёте всевозможные сочетания версий iOS, типов iPhone/iPad, разрешений экранов, которые планируете поддерживать. Но тут есть различные обходные пути и дополнительные возможности:

  • Можно поддерживать лишь несколько типов устройств сначала, а потом дорабатывать приложение под оставшиеся. Однако Apple не очень любит, когда приложение заблокировано только для одного вида iPhone, если для этого нет явных причин.
  • Протестировать часть функционала можно на Симуляторе (это программа под macOS, эмулирующая реальный iPhone). В нём можно задать и размер экрана, и тип устройства, но протестировать можно не всё: только на реальных устройствах получится проверить работу с различными датчиками (гироскоп, акселерометр, компас, …), TouchID, пуш-уведомлениями.
  • Обязательно протестируйте приложение в условиях плохого или отсутствующего соединения (конечно, если интернет реально используется);
  • Убедитесь, что приложение не сильно тратит батарейку;
  • В случае большого приложения оцените необходимость автоматического тестирования: пробегаться по сотне форм в каждой новой версии сложно и не очень рационально.

И не просите у разработчиков “инсталлятор” для приложения, которое они делают. В среде Apple невозможно скинуть файл на телефон, установить и запустить. Кто-то из разработчиков должен будет настроить доставку новых версий на все телефоны, где она нужна. Иначе нельзя.

Всё готово к запуску!

Итак, настаёт момент, когда приложение готово к тому, чтобы появиться в магазине App Store. Какие ещё неожиданности нас ждут?

Во-первых, приложению нужно имя. Если область приложения популярна, то все короткие и красивые имена могут уже быть заняты, так как App Store не допускает двух приложений с одинаковым названием. Остаётся придумать его в виде “XYZ - приложение для XYZ”. Это имя отображается лишь на самой странице приложения в AppStore и не обязательно должно совпадать с тем, что будет написано после установки под иконкой Вашего приложения у конкретного пользователя. На этот текст ограничение уникальности не распространяется.

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

Во-вторых, нужно описание. От него и от названия будет во многом зависеть, насколько легко пользователь находит Ваше творение. Кстати, если поддерживается несколько языков, стоит сразу подумать, на которые из них будут переводиться описание и название.

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

В-четвёртых, Вам предстоит пройти ревью приложения от команды App Store. Ревью занимает около двух недель, и на нём всплывут все самые потаённые “фишки” Вашего приложения. Вот несколько советов для успешного прохождения этой проверки:

  • Если для доступа к основным функциям приложения необходимы логин/пароль и регистрация, обязательно снабдите команду App Store тестовыми данными для входа в приложение. Для покупок им понадобится тестовая кредитная карта. Если для нормальной работы нужны какие-то аксессуары - будьте готовы выслать в Apple и их тоже;
  • Если в приложении есть продажи чего-либо, должно быть также и пользовательское соглашение, содержащее фразу о том, что Apple ни при чём, а продавцом является Ваша компания. Этот текст должен быть доступен на всех языках, которые вы поддерживаете;
  • Если Вы продаёте виртуальные товары, скорее всего, надо будет использовать “покупки внутри приложений”;
  • Убедитесь, что не используется ни одного запрещённого API и что приложение в целом выполняет ровно ту функцию, которую обещает.

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

Приложение в App Store

Мы Вас от души поздравляем. Ваше первое творение наконец-то попадёт в руки пользователей! Самое время оглянуться на пройденный путь и подумать о новых версиях Вашего приложения.

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

Привет, Хабр. Хочу рассказать, как создал свое первое 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