Разработка программ для ios. Как сделать приложение для iPhone самому

В 2008 году открылся магазин приложений (App Store) в магазине Apple iTunes. С того времени более 500,000 приложений были одобрены Apple. Кроме этого, каждый день по всему миру тысячи приложений появляются в качестве идей и эскизов. Возникает вопрос, как люди с ограниченными техническими ресурсами и навыками создают приложения для iPhone?

Хорошие новости - любой может сделать приложение для iPhone, это просто вопрос знания ряда действий, которые вы должны совершить. Эта статья будет служить гидом для того, чтобы шаг за шагом, от идеи, до публикации на App Store изучить процесс создания вашего первого приложения для iPhone.

Какая у вас цель?

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


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

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

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

Вот некоторые примеры целей проекта:

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

Задание: Сформулируйте цели которых вы хотите достигнуть создавая свое приложение.

Каковы ваши ожидания?

Наиболее частый вопрос людей, у которых есть идея приложения для iPhone или iPad, звучит так: "Как много я смогу заработать?" К сожалению, на этот вопрос сложно дать однозначный ответ. Для каждого приложения уникальны следующие параметры:

Стоимость создания;
- популярность;
- люди ответственные за управление его успехом.

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

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

Приложение "A", функциональность которого базируется на коммерчески успешном приложении "B", покажет намного меньшую прибыль чем у приложения "B".

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

С чего начать?

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

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

С мобильными приложениями также, чтобы оценить ваши идеи лучше обратиться к людям которые в этом хорошо квалифицированы:

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

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

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

Что дает вам чужая оценка?

Когда вы получаете мнение эксперта о своей идее, вы узнаете следующее:

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

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

Что делать, если вы не можете найти человека который оценит вашу идею?

Спросите себя, относятся ли эти факторы успеха к вашему приложению:

- Решает ли ваше приложение какую либо уникальную задачу?
Люди хотят иметь возможность решать множество задач находясь в движении. Успешные приложения часто решают проблему, которая уникальна в мобильном контексте.

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

- Это заставляет людей смеяться?
Что происходит с забавными приложениями? Они становятся популярны.

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

- Насколько интерактивным будет ваше приложение?
Большинство людей быстро теряют интерес. Успешные игры или программы требуют от пользователя постоянного активного взаимодействия.

Задание: Проанализируйте вашу идею.

Шаг 1: Разработайте план монетизации и маркетинговый план

"Постойте, готовы ли мы рисовать прототипы и все остальное?" Фактически, еще нет. Следующий шаг, перед тем как перейти к дизайну или разработке, это выяснить, как ваша идея будет приносить прибыль!

"Почему это так важно? Разве я не могу это сделать позже?" Можете, но мы опросили более 100 разработчиков и на основании этого говорим что: 80% приложений не приносят достаточного дохода, чтобы поддерживать в одиночку бизнес.

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


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

"У меня появилась прекрасная идея!"
Эскиз.
Дизайн.
Разработка.
"Я думаю, что буду взимать 99 центов. Посмотрим как это будет работать."
Запуск. "Ура!"
"Странно. Почему люди не платят 99 центов?!"
Приложение резко падает в черную дыру App Store.
"Может мне сделать его бесплатным?!"
"Где мой разработчик? Мне надо исправить приложение, изменить способ его монетизации, потому что 99 центов не работают!"
"Хорошо, приложение исправлено, выбран другой способ монетизации. Но как теперь мне вернуть утерянные позиции?"


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

Задание: Разработайте план монетизации.

Шаг 2: Зарегистрируйте аккаунт разработчика

Даже если вы закажете разработку приложения кому либо, внутри App Store вы будете вести бизнес самостоятельно. Зарегистрировать аккаунт можно в iOS Development Center. Это будет стоить 99$ в год. Кроме этого вы должны предоставить данные о вашем банковском счете. Подготовьте эту информацию перед регистрацией.


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

Задание: Зарегистрируйте аккаунт разработчика iOS.

Шаг 3: Нарисуйте эскиз вашего приложения

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

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


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

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

Задание: Нарисуйте эскизы всех экранов вашего приложения.

Шаг 4: Определите работу, которая будет заказана на стороне

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

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

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

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

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

Шаг 5: Нанимаем команду

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

Дизайн

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

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

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

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

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

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

Вот несколько сайтов, где можно найти дизайнера:

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

Разработка

Если вы разработчик Objective C или Cocoa, то открывайте Xcode и начинайте! Рекомендую зарегистрироваться на этих форумах:

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

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

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

Вот несколько сайтов, где можно найти разработчика:

Если в лесу упадет дерево, но вокруг не будет никого кто бы это услышал, то узнает ли кто-нибудь о падении этого дерева? Приложения с легкостью могут находиться в App Store, оставаясь при этом совершенно незамеченными. Не дайте этому произойти с вашим приложением. У вас должна быть стратегия по продвижению вашего приложения, а лучше если таких стратегий будет несколько. Будьте готовы к экспериментам, одни идеи будут работать, а другие нет.

Стратегии маркетинга и продвижения:

Используйте социальные сети.
Подумайте о том, как ваше приложение может быть интегрировано с социальными сетями, и реализуйте эту функциональность в нем. Как минимум создайте аккаунты для своего приложения в Facebook и Twitter, и используйте их чтобы общаться с пользователями и получать отзывы. Разработчики Angry Birds и Instagram проделали хорошую работу по привлечению пользователей на Facebook.

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

Используйте для продвижения эти сайты:

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

Ресурсы по маркетингу приложений.



Задание: Найдите фрилансеров или студию, которые займутся дизайном, разработкой и маркетингом.

Заключение

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

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

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

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

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

Каждое приложение и его обновление должно проходить через строгую модерацию. Все приложения в магазине обновляются с периодичностью в 1 месяц.

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

Разработка приложений для iOS, либо как полюбить Apple еще сильнее

Заработная плата iOS разработчиков варьируется от 60 000 до 250 000 рублей. Актуальность разработки под iOS неоспорима.

В рамках этой статьи мы создадим приложение, где выведем сообщение “Hello World” на главном экране и не напишем ни строчки кода.

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

  1. Устройство с MacOS на борту
  2. Скачанный Xcode

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

Поехали!

СОЗДАНИЕ ПРОЕКТА

И так, как говорилось ранее, нам потребуется компьютер Apple , и установленное приложение Xcode , которое находится в App Store в свободном доступе.

Давайте разберемся, что такое Xcode и зачем он нам нужен.
Xcode — это программная среда разработки, которая включает в себя: редактор кода, редактор графических интерфейсов, систему контроля версий и инструменты для отладки и выкладки, написанных нами приложений. Одним словом, это программа, в которой ведется 90% всех взаимодействий в разработке приложений под семейство операционных систем Apple .

И так, запустив программную среду разработки мы видим приветственное окно, где мы можем открыть, создать или клонировать проект. Нам нужно создать новый, нажав на “Create a new Xcode project” . Да, весь интерфейс Xcode на английском языке, поэтому советую запастись англо-русским словарем.


Следующим шагом мы видим данное окно:

где нам предлагают выбрать платформу и тип приложения. Нам нужно программное обеспечение iOS (в верхней части диалогового окна) и Single View App. Любые приложения начинаются с Single View, а потом разрастаются до 50 View App.

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


Давайте по-порядку:


Заполнив информацию, нажимаем Next , и выбираем местонахождение проекта на нашем компьютере и жмем Create

ОБЗОР СРЕДЫ РАЗРАБОТКИ

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



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

Также мы видим строку состояния, в которой можно наблюдать текущую задачу, которую выполняет среда разработки, правее мы можем увидеть настройки вида редактора: стандартный редактор , редактор с ассистентом и просмотр изменений в системе контроля версий, а также есть кнопки, чтобы показать/скрыть части среды, которые мы будем рассматривать далее: снизу (отладочная информация) , справа (навигация) и слева (утилиты)

Слева мы видим несколько кнопок, которые будут переключать функционал левой панели, а именно:

  1. Навигация по файлам и папкам
  2. Система контроля версий
  3. Иерархия классов в проекте
  4. Поиск по проекту
  5. Уведомления о предупреждениях и ошибках при сборке
  6. Автоматизированные тесты
  7. Отладка
  8. Точки останова
  9. Логи сборок

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

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

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

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

  1. Identity
    1. Display Name — имя приложения, которое будет выводиться на домашнем экране устройства
    2. Bundle ID — Уникальный идентификатор, который будет использоваться в App Store
    3. Version -текущая версия проекта, которая ведется используя семантическое версионирование
    4. Build — Номер сборки, который стоит увеличивать на единицу с каждой установкой приложения на устройство
  2. Signing
    1. Automatically manage signing — автоматическое управление подписью приложения
    2. Team — наименование вашей команды
    3. Provisioning profile — профиль, для подписи приложения
    4. Signing Certificate — сертификат, который позволяет подписывать приложение в Apple
  3. Deployment Info
    1. Deployment Target — минимальная версия iOS, на которую может быть установлено приложение
    2. Devices — Типы устройств
      • iPhone
      • Универсальное
    3. Main Interface — Storyboard файл, с которого будет начинаться приложение после
    4. Device Orientation — Возможные ориентации устройства при работе с приложением
      • Портретное
      • Вверх ногами
      • Альбомный против часовой
      • Альбомный по часовой
    5. Status Bar Style — Цвет статус бара (верхняя панель информации со временем, оператором и батареей)
      • Светлый
      • Темный
      • Скрыть
  4. App Icons and Launch Images
    1. App Icons Source — иконка приложения
    2. Launch Screen File — экран, который показывается пока приложение запускается

Остальные пункты нам пока не потребуются.

Теперь, когда мы разобрались с тем, из чего состоит наша среда разработки, можно приступить к созданию нашего “Hello World” приложения.

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

СОЗДАНИЕ ПРИЛОЖЕНИЯ

Первым делом, нам нужно найти файл интерфейса, который называется Main.storyboard . Его можно найти слева в панели навигации.

Открыв файл, мы видим экран приложения. Теперь нам нужно перетащить элемент под названием Label на этот экран. Этот элемент находится слева внизу.
Перетаскиваем его на экран в любое место. Затем в панели утилит, ищем поле, в котором написано “Label” .
И изменяем Label на Hello World . После этого, мы увидим, что наш элемент на экране не показывает полностью нашего текста, который мы вписали, так как у него был текст изначально меньше, и он принял его размеры.

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


Здесь мы видим некоторые параметры расположения нашего элемента. Нам требуются два последних параметра. Активируем их и нажимаем “Add 2 Constraints”. После этого, мы можем наблюдать, как наш элемент зафиксировался посередине экрана и принял форму, в которой отображается наш текст полностью.

СБОРКА И ЗАПУСК

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

IOS – это операционная система, на которой работают смартфоны от Apple. Для покупки игр или приложений используется фирменная площадка цифровых покупок App Store. Если продукт разработчика окажется успешным (будет пользоваться спросом пользователей), то даже за одну программу можно заработать неплохие деньги. В среднем разработчики популярных приложений для iOS зарабатывают несколько тысяч долларов в месяц.

Процесс создания

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

  1. Создание концепции продукта – первый этап, требующий анализа трендов в цифровом магазине App Store. Занимаясь созданием проекта разработчик должен четко обрисовать целевую аудиторию. Чтобы аналитический этап прошел успешно посмотрите, какие приложения, программы, игры и т.п. находятся в топе App Store. Кроме того узнайте, что установлено на смартфонах знакомых, друзей, родственников.
  2. Техническая база – для начала нужно выучить язык Objective-C, который используется в написании программ для iOS. Для начинающих программистов рекомендуется ознакомиться с языком Pascal и прочими языками: C, Java.
  3. Инструменты – среда разработки , специальный текстовый редактор и графический редактор.
  4. Создание и тестирование программы.
  5. Маркетинговое продвижение.

Пошаговое создание утилиты

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

  1. Установите на смартфон среду разработки XCode . Дополнение находится в официальном магазине ОС App Store и имеет свободную систему распространения. Если программа установлена на телефоне, то проверьте ее на наличие обновлений.
  2. Разобравшись с подготовительными настройками, войдите в XCode. Для создания нового проекта используйте вкладку File . Далее откроется подпункт, где требуется выбрать команды New и Project .
  3. Следующий шаг создания приложения для Айфона – выбор платформы и тематического типа будущей утилиты.
  4. Укажите краткую информацию о создаваемом софте.
  5. Далее требуется нажать на клавишу New Folder . Здесь создается папка, где будут храниться вспомогательные файлы для программы.
  6. В следующем окне снимите галочку с пункта и активируйте команду Create . Благодаря этим манипуляциям пользователь попадет на стартовую рабочую панель.
  7. Нажмите на кнопку под названием storyboard . Она находится в правой части интерфейса. Перетащите на основное поле элемент с именем Label . Не забудьте добавить вступительный текст в строке Hello_world (можно любой другой текст).
  8. Обязательно придумайте иконку для утилиты . Загрузите иконку на сайт mapappicon.com .
  9. После недолгой обработки запроса укажите адрес электронной почты , куда пришлют архив с иконками.
  10. Вернитесь в среду разработки XCode. Теперь в левой части интерфейса найдите раздел под названием xassets .
  11. Откройте архив из почты (куда прислали иконки) и перетащите их в окно, находящееся в XCode.
  12. Выберите один из эмулятор устройств, а далее нажмите на команду запуска программы (иконка обозначена, как черный треугольник), включив Mac Developer Mode .
  13. Повторите попытку запуска дождавшись момента, когда на эмуляторе загрузится iOS.
  14. Убедитесь, что утилита работает .

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

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

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

Apps Globus

Проект Apps Globus – это универсальный конструктор приложений, который подходит для мобильных операционных систем Android и iOS. Отличается удобным пользовательским интерфейсом. Благодаря встроенным модулям значительно упрощается процесс разработки . Apps Globus поддерживает до 60 встроенных модулей, в числе которых:


Apps Globus распространяется по платной подписке . Пользователи желающие протестировать приложение могут воспользоваться 5-дневной демо-версией. Месячная подписка предоставляется в трех видах: «стартовая », «студийная » и «бизнес ». Отличие подписок – цена и количество разработанных приложений. Существует и версия, требующая одноразовый платеж в размере 20 000 рублей. Кроме неограниченного пользования предлагает исходные коды и помощь в настройки утилиты.

App2b

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

Как и другие аналогичные проекты распространяется по платной подписке . Главное отличие от прочих конструкторов – единственный способ оплаты в виде единоразового взноса в размере 9 900 рублей.

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

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

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

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



Есть вопросы?

Сообщить об опечатке

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