Как разработать приложение для ios. Вечный вопрос: Android или iOS? Как опубликовать созданное приложение

В 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.

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

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

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

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



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

Заключение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Язык Objective-C

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

Lab.hidden = !_lab.hidden;

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

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

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

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

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

Язык Swift

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

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

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

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

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

App Store

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

Итоги

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

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

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


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

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

Задумывались ли вы о том, как создаются приложения для 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 и выложить его в App Store

Если идея для приложения у вас уже есть, следует запастись рабочими инструментами. Таковыми станут: компьютер и среда разработки Xcode.

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

Программу Xcode можно найти в магазине AppStore. Скачайте её и установите на своё устройство.

Скачайте среду разработки Xcode в AppStore

Чтобы создать своё приложение в Xcode, выполните следующие шаги:

  • Запустите среду разработки на своём компьютере. Выберите: File - New - Project.

    Откройте программу Xcode и выберите создание нового проекта

  • Определите платформу приложения и выберите его тип.

    Выберите тип и платформу программы

  • Выберите информацию о приложении.

    Выберите информацию о программе

  • Определите папку для хранения готового продукта (New Folder).

    Выберите New Folder

  • Уберите отметку с пункта Create Git Repository. Выберите Create. После этого откроется стартовый экран для работы в приложении.

    Выберите пункт Create

  • Откройте Main.storyboard. Нам понадобится пункт Label. В нём напишите текст (например, Hello_word).

    Добавьте текст в своё приложение

  • Выберите картинку для иконки приложения. Её нужно разместить на http://makeappicon.com/ .

    Разместите выбранную иконку на mapappicon

  • После того как приложение mapappicon закончит работу, введите адрес своей электронной почты. На неё придут файлы с выбранными вами иконками в архивированном виде.

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

  • Продолжите работу в XCode и переключитесь на пункт Assets.xassets.

    Следующий этап разработки приложения - раздел Assets.xassets

    Теперь добавьте иконки, полученные на вашу электронную почту.

    Перенесите иконки из почты в приложение

    Активируйте запуск программы с помощью кнопки в виде чёрного треугольника, включите Developer Mode.

    Запустите приложение

    Загрузка симулятора iOS займёт некоторое время

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

    Проверьте корректность запуска и работы приложения

    Видео: как создать приложение для iOS

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

    Для проверки работоспособности своего приложения следуйте инструкции:

  • Выполните команды: xCode - Preferencies - Accounts.

    Введите Apple ID

  • Подключите устройство к компьютеру.

    Подсоедините устройство к компьютеру, чтобы протестировать приложение

  • В настройках примите настройки безопасности. Далее согласитесь запустить программу разработчика.

    В настройках управления устройством разрешите установку программы

  • После установки программы на рабочем столе появится её иконка.

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

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

    Тестирование iOS-приложений будет доступно после регистрации в App Store в качестве разработчика и оплаты первоначального взноса. Программа для диагностики новых программ называется TestFlight.

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

    App Store Review Guidelines содержит перечень правил, которым должно соответствовать новое приложение. Чтобы опубликовать программу в магазин App Store, нужно войти в https://developer.apple.com/register/ под своим AppleID или создать новую учётную запись. Для физических лиц удовольствие познакомить своё приложение с разработчиками Apple стоит 99 $.

    Возможные проблемы при создании приложений

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

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

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

    2. Разрабатываем функциональную составляющую приложения

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

    3. Подбираем инструментарий для разработки

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

    4. Разрабатываем приложение

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

    5. Проводим

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