Как стать разработчиком мобильных приложений: рассказывает эксперт
Главный инженер по разработке в Сбербанке рассказывает о том, как стать разработчиком мобильных приложений и каких ошибок стоит избегать.
Давид Григорян — эксперт в сфере разработки мобильных приложений на платформе iOS, главный инженер по разработке в Сбербанке. Он принимает активное участие в развитии сообщества, выступает на конференциях и публикует тематические материалы.
Давид расскажет о том, как можно построить карьеру в сфере мобильной разработки, а также опишет основные шаги, которые нужно проделать для достижения заветной цели. Мы затронем вопросы актуальности этой сферы, пути становления в данной профессии и основные ошибки, которые могут совершать начинающие специалисты.
Востребована ли профессия мобильного разработчика? Легко ли найти работу в этой сфере?
В 2021 году мобильная разработка остаётся одним из самых востребованных направлений. Ситуация с пандемией только дала толчок для её развития. Многие компании ушли в онлайн, одной лишь веб-страницы недостаточно для того, чтобы выживать в конкурентной среде, которая явно задаёт тенденцию на мобильные решения.
Даже в докоронакризисные времена на рынке была нехватка в мобильных разработчиках. Сейчас ситуация стала намного острее.
Согласно исследованиям, в России число специалистов в области мобильной разработки оценивается в 25-30 тыс. человек. Для тех предложений, которые есть на рынке, этого мало. Разница в зарплатах в этой области может составлять от 100 до 200 тыс. руб. для одной и той же позиции.
Из всего вышесказанного выходит, что найти работу для начинающего специалиста, имеющего пару-тройку проектов портфолио, не составит труда. К тому же формат удалёнки становится неотъемлемой частью в IT, а программ стажировок от крупных компаний становится всё больше.
Какие направления существуют в мобильной разработке? Есть ли смысл осваивать кроссплатформенные решения?
Существуют три основных направления в мобильной разработке: Android, iOS и кроссплатформенные решения (Flutter, React Native, PhoneGap).
Для Android-разработки используются языки Kotlin и Java, для iOS — Swift и Objective-C. Ещё несколько лет назад основными языками для Android и iOS были Java и Objective-C. Однако с появлением новых языков многие проекты, в том числе крупных IT-компаний, стали использовать современные решения. Сейчас начинающему специалисту достаточно владеть знаниями об основной платформе, на которой он разрабатывает (iOS или Android), а также одним из новых языков программирования (Swift или Kotlin).
Нужно исходить из требований того региона, в котором вы собираетесь искать работу. Например, если вы живёте и собираетесь работать во Владивостоке, где основные вакансии по iOS требуют знания Swift, то очевидно, что изучение Objective-C будет неоправданным.
Кроссплатформенные решения в России не так востребованы как нативные (родные). Но у них есть своя ниша. В основном это стартапы, которые требуют минимальных вложений для реализации задуманной идеи на обеих платформах.
Это эффективная стратегия для выпуска MVP продукта, который впоследствии может быть презентован инвесторам и другим заинтересованным лицам для привлечения дополнительных средств на развитие. Спустя какое-то время, с привлечением дополнительных средств, такие проекты переписываются на нативные технологии, а их поддержка становится более предсказуемой и эффективной.
Сравниваем подходы нативной и кроссплатформенной мобильной разработки в 2021 году
Какие основные роли и задачи мобильного разработчика?
Разработчик в целом — это не только тот, кто набирает код на клавиатуре. Это специалист, который понимает конкретную бизнесовую проблему, которую ему необходимо решить с помощью этого кода. Мобильный разработчик — не исключение. Единственное отличие — это понимание особенностей мобильных технологий в целом (таких как push-уведомления, ограничения скорости интернета, зарядки и памяти).
Очевидно, что мобильные приложения — это та же фронтенд-часть приложения. Соответственно, отсюда вытекают стандартные задачи и проблемы: поддержка вёрстки для большинства девайсов, необходимость учитывать версии операционных систем и т.д.
Одна из основных проблем, которую необходимо учитывать в разработке тонкого мобильного клиента (основная часть и логика которого реализуется на бэкендe), — это поддержка обратной совместимости между различными версиями приложений. Одна из основных задач мобильного разработчика — выполнение поставленных требований с оглядкой на перечисленные выше ограничения и особенности.
Мобильные приложения могут выступать как:
- самостоятельные решения без необходимости интеграции с бэкенд-частью;
- основной компонент клиент-серверной архитектуры.
Первый вариант встречается не так часто. Как правило, это простые будильники, To-Do List’ы без возможности синхронизации и прочие приложения. Вся настройка и кеширование в таком случае происходит на самом девайсе. Одним из вариантов синхронизации может быть iCloud — если говорить об iOS без использования собственных бэкенд-решений.
Как стать разработчиком мобильных приложений?
Если мы говорим про случай, когда у человека нет знаний и опыта в программировании, то стоит для начала изучить:
- один из языков программирования (Kotlin или Swift),
- саму платформу (Android или iOS),
- объектно-ориентированное программирование,
- алгоритмы и структуры данных (без фанатизма, только основные принципы).
Также нужно обязательно научиться гуглить. Кому-то этот совет может показаться оскорбительным, но это не так. Программисты всех уровней и мастей гуглят, без исключений. Умение правильно задать вопрос — навык, который потребуется и в дальнейшей работе с коллегами, если этот вопрос нужно будет адресовать им.
Стоит оговориться, что для начала разработки под iOS необходимы устройства от Apple. Как минимум нужно приобрести бюджетный Mac mini или MacBook на вторичном рынке. Для изучения одного из языков программирования и изучения самой платформы подойдут основные туториалы на сайте Apple или Android. В идеале — найти ментора, который поможет на первоначальном этапе и выстроит план обучения. Курсы тут тоже будут кстати, но не стоит надеяться, что после простого их прослушивания всё станет очевидным и понятным.
Достичь успеха получится, если заниматься самостоятельно, делая домашние задания и разрабатывая собственные мини-проекты, которые в дальнейшем станут отличным портфолио для поиска первой работы.
Какие ошибки чаще всего совершают новички?
Многие новички совершают ошибки при изучении новой области. Я не был исключением.
- Не стоит сравнивать свой темп обучения с другими. Кому-то материал даётся за день, другому потребуется неделя или две. Но в итоге они оба овладеют этим материалом. Попытка сопоставлять себя с другими, как правило, ничем хорошим не заканчивается,
- Пустое прослушивание/просматривание курсов и туториалов ни к чему не приводит. Так материал не усваивается. Да, знания откладываются в кратковременной памяти, но спустя пару дней всё забывается. Без практики освоить профессию невозможно. Поэтому главный совет — выполнять задания, делать свои проекты.
- Отдых. В своё время я думал: “Зачем тратить время на отдых, если за это время можно изучить что-то новое или освоить то, что уже изучил?”. Однако это неверная позиция. Начиная работать с материалом или заданием, вы будете сталкиваться со сложностями и непониманием. Как правило, это решается перерывом на 15-20 минут. Если вы вернулись к проблеме со свежей головой, а решение всё равно не удается найти, вернитесь к ней через день. Многочасовая зубрёжка здесь неэффективна.
Насколько сложно войти в мобильную разработку в отличие от смежных направлений, например, веб-разработки?
Есть мнение, что вход в мобильную разработку сложнее, чем в тот же веб. Но я не согласен с этим аргументом. Для освоения веб-технологий как минимум потребуются знания о том, как работает интернет в целом, как действуют основные протоколы взаимодействий между клиентом и сервером. Добавьте сюда HTML/CSS/JavaScript, один из серверных языков (PHP/Python/Java/Go/Ruby), SQL и много чего ещё интересного. Это вовсе не значит, что мобильному разработчику не нужно понимать, как работает интернет, или иметь представление о смежных технологиях. Но это всё-таки не основной стек технологий, с которым специалисту нужно будет иметь дело изо дня в день.
Как известно, во фронтенд в целом легко входить, но сложнее поддерживать себя в форме. Обновления инструментов для разработчиков Apple и Android-платформ, выходят ежегодно, их нужно изучать и применять. Похожая ситуация и с JS-фреймворками для фронтенд-разработчиков.
Останется ли мобильная разработка востребованной в ближайшие годы?
Конечно, мобильная разработка останется востребованной. Несмотря на очевидную стагнацию в выпуске новых фич для смартфонов, ими всё равно продолжает пользоваться огромное число людей по всему миру. И большинство задач тоже будет решаться с помощью устройства, которое находится у вас в кармане. Как минимум в ближайшие 10-15 лет.
Разработка мобильных приложений от А до Я: полный гайд
Если еще пару веков назад в разных частях мира людей массово охватывала Золотая лихорадка, то сейчас с уверенностью можно сказать, что современный мир целиком и полностью поглощен мобильной лихорадкой. Найдется ли в вашем окружении хотя бы один человек, который не пользуется смартфоном? Едва ли. Продажа смартфонов растет с молниеносной скоростью, а компании-производители вкладывают баснословные суммы в мобильные технологии, их развитие и популяризацию на рынке. Мобильная разработка — очень стремительно растущая область программирования, ведь количество мобильных устройств значительно превышает количество персональных компьютеров, и эта тенденция будет только расти.
Пока Илон Маск продолжает работать над колонизацией Марса и чипированием человеческого мозга , мы продолжаем пользоваться мобильными телефонами везде — на работе, на учебе, дома, на отдыхе… Такими же темпами растет и спрос на разработчиков мобильных приложений, но в отличие от фронтэнд и backend девелоперов, рынок еще не насыщен мобильными разработчиками, поэтому сейчас — самое время начинать осваивать это перспективное направление.
В этом материале мы расскажем, что такое разработка мобильных приложений, насколько она актуальна сегодня, кто такой программист-разработчик мобильных приложений, какие навыки ему нужно освоить, с чего начать обучение и какие инструменты используют для разработки мобильных приложений и не только.
Разработчик мобильных приложений — кто это?
Мобильные разработчики — это те люди, которые вдыхают жизнь в бездушные мобильные коробочки, некие шаманы-заклинатели, которые говорят на иностранном языке и могут практически всё, и иногда это действительно так. Но также это те люди, которые двигают прогресс вперед, создавая все более совершенные и сложные программы. Хороший программист — это не только знание языков и технологий, это еще и навыки системного мышления, так как ему приходится из ничего создавать сложные системы, это также умение работать в команде, так как сложно серьезный проект написать в одиночку, это и умение общаться и понимать заказчика, чтобы создать именно тот продукт, который он хочет.
Разработчик мобильных приложений, он же Mobile-разработчик и Mobile-программист — это программист, который разрабатывает программные приложения для всевозможных мобильных устройств, чаще всего — для смартфонов и планшетов. Именно с появлением на мобильных устройствах голосового и жестового интерфейсов профессия мобильного разработчика сейчас по праву считается самой модной и востребованной.
Всех мобильных разработчиков можно разделить на две категории, в зависимости от программного обеспечения для которого они создают программы — iOS разработчики и Android-разработчики. Специалисты из первой категории считаются самыми доходными на рынке труда, более того, после появления языков Swift и Objective-C создание приложений для Apple стало очень лёгким и удобным. Программисты, которые создают приложения для Android, используют в своей деятельности язык Java, который считается самым надежным для разработки мобильных приложений для этой операционной системы.
Какие основные задачи разработчика мобильных приложений:
- создание ТЗ (технического задания) на разработку мобильного приложения;
- обсуждение с заказчиком этапов и хода работы проекта;
- построение архитектуры приложения;
- непосредственно программирование;
- работа с дизайнерами;
- поддержка мобильных приложений;
- работа с тестировщиками над отладкой и тестированием приложений;
- помощь в создании инструкций по работе с готовым приложением;
- оформление документации;
- размещение приложений в AppStore и Google Play Market, Amazon Appstore, Opera Mobile Store и других магазинах мобильных приложений.
В целом, главной задачей разработчика является создание удобного мобильного приложения, которое будет безотказно работать, а также будет интуитивно понятным, полезным и многофункциональным для конечного пользователя, и, конечно же, прибыльным для заказчика.
Карьерный путь мобильного разработчика приблизительно выглядит следующим образом: стажер, младший или Junior разработчик мобильных приложений, далее Middle и Senior mobile девелопер (на этих этапах можно получить должность тимлида, то есть руководителя группы разработчиков определенного уровня), руководитель проекта и руководитель отдела разработки. Конечно же, это то, как выглядят идеальный путь мобильного разработчика, но у каждого он индивидуальный.
Разработка мобильных приложений — что это?
В понятие разработки мобильных приложений для смартфонов, планшетов и прочих мобильных устройств входит написание программного кода с целью создания программ, которые будут работать на определенных мобильных платформах (на сегодняшний день существует 2 основные платформы мобильных операционных систем — Android и iOS, и менее популярные Windows Phone и Symbian). Эти программы и приложения могут предварительно устанавливаться на мобильные телефоны, персональные цифровые помощники, корпоративные цифровые ассистенты, смартфоны и прочие мобильные устройства до того, как устройства попадут в руки пользователю, либо загружаться пользователями в устройство непосредственно в процессе использования.
Пользовательский интерфейс мобильных приложений играет очень важную роль в процессе создания приложения, ведь интерфейс является соединяющим звеном между аппаратным и программным обеспечением мобильного устройства и фокусом пользовательского взаимодействия.
В процессе разработки мобильного приложения разработчики должны всегда учитывать насколько внимание пользователей ограничено размером экрана, как сократить количество нажатий клавиш, и как наиболее компактно вместить в приложение необходимый набор функций. Поэтому для мобильных разработчиков процесс разработки мобильных приложений часто не ограничивается одним только написанием кода по поставленному заданию, разработка мобильных приложений включает в себя более широкий и творческий спектр деятельности.
Какие услуги входят в разработку?
Услуги по разработке мобильных приложений можно также разделить в зависимости от платформы, для которой будет создаваться приложение. В основные услуги входит
- Разработка приложений для iOS.
- Разработка приложений для Andriod.
- Разработка VR, AR, MR приложений.
Многие студии предлагают полное создание и управление проектом под ключ. В таком случае в пакет услуг по разработке мобильного приложения могут входить:
- Анализ поставленной задачи, полное погружение в проект (в том числе анализ конкурентной среды) и поиск возможных существующих IT-решений.
- Подготовка концепта и разработка дизайнерского решения (UX/UI/IA-проектирование), ТЗ (технического задания для разработчиков).
- Разработка мобильного функционала.
- Проведение тестирования, отладка и аудит.
- Реализация приложения (внедрение, техническое обслуживание и поддержка).
- Подключение аналитики, публикация приложения в онлайн-маркетах приложений.
Как к студиям, так и к частным специалистам можно обратиться с просьбой разработать полный пакет, или помочь с отдельными задачами. Например, если у Вас уже есть подготовленное техническое задание и разработан концепт, а вам нужно только написать кодовую часть, — это будет отдельной самостоятельной услугой.
Насколько актуальна разработка мобильных приложений?
Смартфоны и прочее мобильные устройства не только стали частью нашей повседневной жизни, они — полноценное предложение нас. С помощью мобильных телефонов мы не только общаемся друг с другом, но и заказываем товары из магазинов, покупаем билеты, бронируем жилье, вызываем такси, используем телефоны как навигаторы, фото- и видеокамеры, читалки, онлайн банки, и просто как способ развлечься и скоротать время. Согласно статистике опубликованной в Datareportal, 67% взрослых людей во всем мире используют смартфоны ежедневно, а это почти 5,19 млрд человек (при общем количестве населения в 7,75 млрд). Тенденция к переходу с простых мобильных устройств на многофункциональные смартфоны с каждым годом только увеличивается.
Предполагается, что в ближайшем будущем человек будет напрямую связан со своим смартфоном, то есть все функции и вся информация с наших гаджетов будет напрямую поступать в наш мозг. И пока многие изобретатели работают над этим, люди тратят время на такие, казалось бы бесполезные приложения, как отпугиватель комаров низкочастотными волнами, определитель степени зрелости арбуза, имитатор воздушно-пузырчатой упаковочной пленки или приложение, которое визуально превратит экран смартфона в бокал с пивом.
Короче говоря, актуальность разработки мобильных приложений растет не то что с каждым годом, но и с каждым месяцем. Сотни новых мобильных приложений выходят на онлайн площадках каждый день. Казалось бы, сложно придумать что-то новое, но хорошие разработки в коллаборации с хорошим маркетингом могут принести много денег создателю, явное тому подтверждение — недавно нашумевший TikTok, рейтинги которого продолжают молниеносно расти.
Что нужно знать разработчику мобильных приложений?
Разработчик мобильных приложений, как и любой другой программист, должен обладать как техническими навыками, так и личными качествами для успешной работы в команде — soft skills. В данном случае нужны такие софт скилы:
- Структурное и аналитическое мышление;
- Внимательность;
- Усидчивость;
- Навыки коммуникации;
- Креативность и творческий подход;
- Желание и умение самообучаться;
- Ответственность.
С техническими навыками придется попотеть сильнее, но используя современные языки программирования, которые применяются для разработки мобильных приложений под Андроид или iOS, вполне реально создать свое первое творение уже за месяц. Вы сможете разрабатывать какие-нибудь несложные игры и даже получать с них прибыль после монетизации, но обучение профессии мобильного программиста этим далеко не исчерпывается. Если зайти в Google Play или AppStore, то вы увидите, что таких приложений большинство, и в особенности, в играх (если внимательно присмотреться, то таких игр будет 8 из 10). Простое приложение может создать каждый среднестатистический разработчик, но чтобы не оставаться в рядах “среднестатистических” придется потрудиться над тем, чтобы создать что-то действительно интересное и оригинальное, а главное, качественное. Для этого вам понадобятся такие навыки:
- CSS и HTML, среды разработки Cocoa/Xcode, языки программирования Objective-C/С++, Java;
- HTTP, XML, принципов объектно-ориентированного программирования, СУБД;
- Знание Android, iOS SDK, шаблоны проектирования, распространенные библиотеки и архитектуру iOS, Android, скриптовые языки программирования (Ruby, Python), принципы клиент-серверной модели взаимодействия приложений;
- Знание требований к релизам приложений в AppStore и Google Play;
- Востребованы навыки работы с Core Data (фирменной локальной базой данных от Apple, которая построена по типу SQL);
- Умение разбираться в чужом коде;
- Владение техническим английским языком.
С чего начинают обучение? Как научиться?
Итак, вы решили попробовать себя в разработке мобильных приложений, с чего начать? Чтобы стать разработчиком мобильных приложений, нужно для начала иметь качественный фундамент. Опытные программисты советуют начать своё обучение с компьютерных наук (computer science) или с программной инженерии (software engineering), структуры данных классических алгоритмов, устройства хеш-таблиц и так далее. Нужно уяснить базовые понятия которые используются в программировании и не зависят от языка программирования или устройства. Будет нелишним знать основы C++, хотя многие считают его уже устаревшим. Отчасти это так, но это основы основ без которых не возникли бы Java и PHP. Также, полезным будет узнать о защите данных, шифровании, сетевых протоколах и о ядре unix.
Действительно качественный софт — это не только программа, которая работает без ошибок, это понятный пользователю интерфейс, и хорошо продуманная логика работы с учетом всех возможных исходов событий и вариантов их развития.
Востребованный разработчик мобильных приложений — это тот, который обращает внимание на детали и постоянно ищет новые, интересные, нестандартные решения.
Очень немаловажным является также знание английского языка хотя бы на среднем уровне. Почему это необходимо? Потому что мобильные платформы на данный момент очень быстро развиваются, каждый год появляется новая версия той или иной платформы. Кроме того, вся новая документация появляется в интернете на английском языке и её просто физически не успевают переводить на русский или украинский языки. Поэтому знание английского языка позволит вам достаточно быстро изучать документацию, применять различные новые фичи и элементы приложениях, и держаться современного тренда в данной разработке.
Если говорить о разработке мобильных приложений для чайников, то в интернете существует огромное количество различных ресурсов, сайтов, онлайн уроков, видео о том, как научиться с нуля работать с той или иной мобильной платформой, будь это Android или IOS. Можете выбирать абсолютно любую, главное, чтобы вам это было понятно, интересно, и чтобы вам это нравилось. У Google и Apple есть два главных сайта по разработке под их конкретную операционную систему: developers.google.com, developer.apple.com. При этом каждый из этих сайтов имеет локализацию на русский язык, хотя, опять же, не вся документация переведена с английского.
Разработка мобильных приложений для детей
Отдельной, достойной внимания темой является мобильное программирование для детей. Сегодня абсолютно каждый ребенок проводит невероятное количество времени со своим смартфоном или планшетом. При этом практически в 100% случаев дети играют в игры или смотрят ролики на YouTube, но это увлечение можно перенаправить в очень перспективное и практичное русло. Овладев навыками создания игр и приложений в раннем возрасте, ребёнок может вырасти очень разносторонне развитым и востребованным программистом, ведь, увлекшись программированием в детстве, вероятнее всего в дальнейшем он будет хотеть расширять свои навыки и знания, и пополнять запас новых языков программирования.
Сейчас существует много школ и курсов разработки мобильных приложений для детей 10-13 лет, где они начинают с изучения языка Scratch, который в игровой и очень понятной форме показывает основные принципы программирования. Зачастую дети быстро увлекаются подобными конкурсами, так как они не только продолжают играть на смартфонах и планшетах во время занятия, но и сами могут ощутить эту магию создания мобильного приложения. Далее они постепенно переходят к изучению Python и JavaScript, что станет для них мощной базой и хорошим стартом. Есть также и книги по программированию для детей, которые могут привлечь ребенка к изучению данной сферы.
Под что есть разработка мобильных приложений?
В первую очередь — это те платформы, которыми мы каждый день пользуемся с помощью наших смартфонов — Android и iOS, они занимают приблизительно 95% всего рынка мобильных девайсов. Остальной процент уходит под Linux, Windows, Symbian и другие, менее популярные платформы.
К мобильным гаджетам и мобильным девайсам, кроме смартфонов, мы также можем отнести планшеты, электронные часы, фитнес-трекеры, и огромное количество новых гаджетов, которых с каждым годом появляется всё больше и больше — например, очки с дополненной реальностью и умное телевидение. Все эти девайсы зачастую также используют наши основные 2 платформы, а приложения для них можно отнести к мобильной разработке.
Как разрабатывать мобильные приложения? Какие инструменты есть — какие нужны?
Самое первое — для разработки мобильных приложений нужно выучить языки программирования. Для разных платформ подходят разные языки, поэтому изначально нужно определиться с интересующей вас платформой, а далее — с языком.
Разработка мобильных приложений для Android чаще всего выполняется на Java — старом добром объектно-ориентированном, высокоуровневом языке, на котором написано больше 90% всех приложений под андроид. За последние полгода большую популярность набирает новый язык Kotlin. Пока около 5% приложений в Google Play написаны на языке Kotlin, но с каждым годом количество этих приложений растёт.
Если говорить про iOS платформу, то здесь также используются два основных языка — Objective C, он же первый язык, который был разработан компанией Apple для написания приложений под iOS. А второй язык — это более продвинутый и более современный Swift. Если говорить о поддержке старых предложений, которые были написаны ранее, то здесь однозначно вам нужно знать Objective C, новые же приложение всё чаще пишутся именно на Swift.
Стоит упомянуть, что как для одной, так и другой платформы иногда используется язык C++. Он используется в тех случаях, когда нужно достигнуть максимальной производительности от Вашего приложения.
Очень редко, но все же возможно в мобильной разработке встретить использование таких языков как Python, C# и Unity, особенно после выхода новых фреймворков и библиотек для них, ведь по умолчанию в этих языках нет встроенных инструментов для мобильных устройств. Так, например, выход фреймворка Kivy Python быстро продвинул использование языка Python в мобильном программировании.
Какие есть особенности в разработке мобильных приложений?
Главная особенность в разработке мобильных приложений заключается в форм-факторе самих девайсов, под которые мы пишем программы, потому что это — смартфоны, планшеты, которые имеют маленький либо небольшой экран, либо нестандартный (квадратный, прямоугольный) экран. Кроме того, если мы возьмем смарт-часы, то это экранчик 2х2 см, или вообще круглый экран. Поэтому очень важным моментом создания мобильного приложения является так называемый User Experience, то есть взаимодействие с пользователем.
Следующим важным моментом в разработке мобильных приложений является большое разнообразие устройств, под которые мы хотим создать приложение. То есть, когда создается приложение, оно может рассчитываться только на смартфоны, или на смартфоны/планшеты/часы, на различные устройства дополненной реальности, или может рассчитываться на взаимодействие между несколькими экранами одновременно.
Чтобы приложение работало на всём спектре различных мобильных устройств, нам нужно предусмотреть различные способы взаимодействия с этим приложением, а также разные способы отображения информации в данном приложении.
Еще одной важной особенностью является постоянное взаимодействие с интернетом. Исторически сложилось, что мобильные приложения — это достаточно легкие приложения, которые не несут в себе большой вычислительной логики. Изначально мобильные устройства располагали достаточно скромной вычислительной мощностью, но сейчас способны утереть нос любому компьютеру десятилетней давности. Но даже, учитывая современные многоядерные процессоры и огромное количество оперативной памяти, всё равно производительность остаётся главным фактором в создании мобильных приложений. Поэтому большая часть вычислительной логики, которая есть в приложении, является взаимодействием с интернетом и с облачными сервисами.
Этапы разработки мобильных приложений
Допустим, вы уже освоили один из необходимых языков для написания мобильного приложения и решили создать свой первый самостоятельный проект. Как будет выглядеть план разработки мобильного приложения? Подход к определению этапов разработки приложения в первую очередь должен основываться на принципах Human—centered design (HCD), то есть ориентироваться на проблемы человека (пользователя), и делать ставку на интерфейс.
Можно выделить следующие стадии разработки мобильных приложений:
— Поиск основной идеи приложения, его концепции (разработка чего-то уникального или усовершенствование уже существующего). На этом этапе также проводится анализ рынка и уже существующих продуктов, проводятся интервью со стейкхолдерами/инвесторами, и user research.
Прежде чем перейти к следующему этапу, обязательно нужно подробно описать бизнес-требования продукта (бизнес цели, ЦА, конкурентность, требования бренда, показатели успеха)
Немаловажным также является определение персоны главных клиентов (их мотивация, потребности, цели, триггеры
— Определение базового функционала — минимально жизнеспособного продукта (MVP). Зачастую мобильные приложения рождаются постепенно — сначала в мир выходит демо-версия с упрощенным функционалом, а потом постепенно в последующих релизах выходят новые фичи, и такой подход чаще всего финансово оправдан. Разработчик собирает фидбек от пользователей и понимает на что делать упор в дальнейшей разработке, а в наиболее положительном исходе даже может получить минимальную прибыль.
На этом этапе плана разработки мобильного приложения определяется user experience map, то есть набор базовых функций и возможностей, доступных пользователю и их взаимодействие.
— С точки зрения маркетинга здесь важно обозначить базовую модель распространения, ведь от этого также зависят основные страницы самого приложения. Также, более детально определяем последовательность действий в продвижении — источники/каналы распространения и целевые действия пользователя.
— UI/UX design — это работа дизайнера. На этом этапе мы можем начинать работать с конкретным функционалом и с четким пониманием того, какими будут шаги клиента. Здесь создается информационная архитектура, то есть основная структура навигационной системы приложения:
-
- Прописывается сценарий использования;
- Подключаются системные аналитики;
- Создаются прототипы и дизайн взаимодействий, то есть определяется как именно будет работать приложение.
Важно уточнить что на этом этапе речь еще не идет о непосредственно дизайне приложения, работа проводится только с прототипами или с простыми макетами.
— Валидация прототипов в юзабилити-тестах (очень простое базовое тестирование макетов и прототипов) — этот этап также относится к работе дизайнера — видят ли наши клиенты в приложении ту ценность, которую мы изначально определили, способны ли они разобраться как его использовать. Часто так бывает, что функционал страницы приложения очевиден для заказчика, но совершенно не понятен пользователю.
-
- По результатам тестам дизайнер вносит изменения в дизайн.
- Создание дизайнером, проджект-менеджером и/или другими специалистами развернутого технического задания (ТЗ) для мобильного программиста. О том, как должно выглядеть техническое задание, мы расскажем в следующем разделе статьи.
— Непосредственно разработка мобильного приложения, и вспомогательных сервисов (о которых мы также расскажем ниже).
-
- В процессе создания мобильного приложения мы продолжаем его постоянно тестировать и улучшать, но важно придерживаться плана поэтапных релизов, ведь часто в процессе заказчикам приходят новые идеи по функционалу и дизайну, которые могут полностью повлиять как на скорость процесса разработки, так и на план его продвижения.
— Продвижение, без него никак. Здесь подключаем максимальную маркетинговую артиллерию, на какую хватает финансирования — баннеры на сайтах и мобильная, реклама в поисковых системах, SMM, почтовая рассылка, SEO в продвижении сайта приложения, если он есть, отслеживание виральности и максимально быстрое реагирование, публикации в СМИ и на новостных порталах, даже публикация POS-материалов.. все, на что хватает денег, фантазии и инструментов. На этом этапе важно определить где находится ваша лояльная аудитория и какие каналы связи откликаются лучше всего и максимально подготовить маркетинговую часть к запуску сразу после релиза приложения.
— Далее идет повторное тестирование функциональности приложения и поиск багов, переоценка его дизайна и ТЗ, создание тестовой документации (тест-кейсов). Фиксим баги и приводим приложение в предрелизное состояние.
— Наконец, релиз! Когда серия доработок завершена и все отделы довольны результатом работы, приложение можно выпускать в мир, точнее его первую демо-версию — загружать ее в магазины приложений.
Но на этом работа над созданием приложения не заканчивается. Далее следует осуществлять постоянную техническую поддержку его работоспособности, улучшать и расширять функционал.
Как видите, разработка мобильного приложения это достаточно длительный и трудоемкий процесс. Не существует готового сценария и наш план разработки мобильного приложения может изменяться, и корректироваться в зависимости от проекта.
Как должно выглядеть техническое задание?
Само по себе мобильное приложение не является одним программным элементом при создании подобного рода продуктов. Помимо того что техническое задание на разработку мобильного приложения должно включать в себя подробный план разработки как для Android, так и для iOS, существует еще масса вспомогательных программных элементов, которые помогают правильно функционировать мобильному приложению. Их также необходимо учитывать на этапах создания и разработки как технического задания для приложения, так и самого программного продукта:
- В первую очередь у любого серьезного мобильного приложения есть серверная часть. Она необходима для эффективного обмена информации между мобильными приложениями и она тоже входит в список работ, которые необходимо проводить. Серверная часть, а именно серверный код, активно взаимодействует с базой данных и это крайне необходимо для того, чтобы существовал и функционировал весь программный комплекс.
- Кроме этого, в состав разработки мобильного приложения может входить личный кабинет, то есть веб-интерфейс, который помогает управлять базой данных, регистрировать различных пользователей и смотреть статистику использования мобильного приложения.
- Также, вместе с мобильным приложением может активно использоваться веб-сайт и/или панель администратора.
Список этих компонентов может изменяться в зависимости от целей и задач мобильного приложения. Поэтому, когда стоит задача разработать одно мобильное приложение нужно понимать, что помимо него следует разработать массу других компонентов, которые также влияют и на сроки разработки, и на стоимость всего проекта в целом.
Когда определена структура мобильного приложения и всех программных элементов, которые должны в него входить, необходимо позаботиться о том, чтобы правильно спроектировать само мобильное приложение, и для этого очень важно понимать что такое мокап, прототипирование и UX дизайн. Этим и определяется подход к проектированию технического задания для мобильного приложения, ведь в этом случае техническое задание не записывается текстом, а изображается в виде графического материала, который воспринимать и реализовывать гораздо легче. Ниже показан пример технического задания на разработку мобильного приложения:
Как было сказано ранее, при разработке мобильного приложения создается множество программных элементов, ими занимается огромное количество разных специалистов. Для того чтобы эффективно синхронизировать работу этих специалистов, и для того, чтобы на выходе получился качественный продукт, который будет соответствовать первоначальной идее и задумке, очень важно: правильно выполнить проектирование, и записать все элементы интерфейса мобильного приложения, отрисовать прототипы отдельных экранов, поработать логику различных элементов меню и кнопок, описать количество экранов, их функции, и продумать поэкранную диаграмму переходов между ними (мокап/прототип). Такой подход избавляет от необходимости долго разбираться в ТЗ и помогает в течение короткого промежутка времени быстро понять, о чём же будет мобильное приложение, какие его основные функции и что оно должно делать.
Методы разработки мобильных приложений
Существует 2 метода разработки мобильных приложений:
- Нативная разработка;
- Кроссплатформенная, или гибридная разработка (ReactNative, Flutter, Xamarin).
Нативная разработка подразумевает создание программы для мобильного устройства на конкретном языке под конкретную платформу. Нативные приложения достаточно производительны и не имеют ограничений в разработке (Java и Kotlin — для Android, а Swift — для iOS). К плюсам такой разработки можно отнести достаточно быструю реакцию на действия юзера, возможность иметь прямой доступ к аппаратной части и разработать наиболее привычный для пользователя конкретной платформы интерфейс. К недостаткам можно отнести достаточно высокую стоимость разработки и поддержки, и длительное время, требуемое на разработку.
Разрабатывать одно и то же приложение под разные платформы (iOS/Android) долго и дорого, к тому же их тестирование также займет достаточно длительное время (к примеру, компиляция обновлений для Андроид занимает около 30 сек), по этому если нужно создать простое приложение сразу для двух платформ, прибегают к гибридному способу разработки. Кроссплатформенная разработка производится с помощью web-технологий — HTML, CSS и JavaScript — которые позволяют разработать приложение сразу на несколько платформ. Но для того, чтобы приложение работало в соответствии со своей платформой, его нужно “перевести” на понятный платформе язык, или добавить промежуточное звено-переводчик. К достоинствам можно отнести низкую стоимость разработки, ведь для этого иногда достаточно будет задействовать всего одного специалиста. А вот к недостаткам можно отнести возможные трудности в работе всех функций и задержки в реакции на действие пользователя (приложение может быть медлительным), также интерфейс будет достаточно простым и нужно будет его дополнительно дорабатывать.
Разработка мобильных приложений дополненной реальности
Технология дополненной реальности уже плотно вошла в нашу жизнь и сегодня простым AR и VR приложением уже никого не удивить. Несмотря на столь большое распространение, для многих данная тема остается странной и непонятной. Помимо развлечения, технологии дополненной реальности используется в самых разных сферах: в медицине и здравоохранении, для обучения студентов, для моделирования и проектирования в производстве, в коммерческих целях для улучшения продаж и коммуникации с потребителем, и т.д. Разработка бизнес-приложений с AR сегодня является одним из самых востребованных и быстро растущих направлений.
Как работает технология VR:
- Пользователь устанавливает и запускает мобильное приложение.
- Наводит камеру на предмет, на который программно установлен маркер.
- На экране воссоздается 3D модель необходимого изображения.
- Пользователь может взаимодействовать с моделью двигая экраном и касаясь его.
Как видите, главной особенностью создания мобильных приложений с дополненной реальностью является необходимость “научить” программу как можно точнее распознавать маркеры в реальной жизни через камеру мобильного устройства.
Наиболее популярным вариантом для создания приложений с дополненной реальностью является движок от Unity3D — это межплатформенная среда для разработки игр и приложений не только для мобильных устройств, но и для Windows, Linux, консолей PlayStation, Xbox, Nintendo, и для всевозможных VR- и AR-устройств.
Unity, хоть и является частной разработкой компании Unity Technologies, но доступен разработчикам бесплатно, хоть и с некоторыми ограничениями (например, владельцу бесплатной версии проект не должен приносить больше 100 тыс. долларов в год). Хотя у движка есть свои минусы, которые затрудняют создание большой и тяжеловесной игры, все же он отлично подходит начинающим мобильным девелоперам, которым будет достаточно простых инструментов.
Где можно научиться разработке мобильных приложений?
Если вы уже выучили или находитесь в процессе изучения одного из упомянутых выше языков программирования, которые чаще всего применяются при разработке мобильных приложений под iOS и Android, то можете попробовать создать мобильное приложение с помощью доступных в интернете и на YouTube кейсов и видеоуроков. Если же вы только находитесь на этапе погружения в эту тему и планируете стать на путь мобильного разработчика, то самым быстрым и результативным вариантом будет записаться на курсы мобильной разработки в IT школе.
При обучении разработке мобильных приложений на курсе Mobile Development в учебном центре DAN.IT Education вы получите максимальный пакет знаний и навыков, необходимых для создания мобильного приложения с нуля, даже если вы не сталкивались с программированием ранее. На курсе разработки мобильных приложений вы начнете изучение с популярного языка JavaScript, изучите библиотеки react и разработаете свое первое приложение под iOS и Android. Кроме того, вы научитесь строить архитектуру приложений и тестировать их, а также прокачаете софт скилы и научитесь презентовать свой продукт широкой аудитории. На протяжении всего процесса обучения студента сопровождают опытные менторы, которые помогают учитывать все индивидуальные особенности каждого проекта. Внимание к деталям, полезные лайфхаки и экономия времени на обучении и, вследствии, создание своего собственного проекта — неоспоримые аргументы в сторону того, чтобы изучать мобильное программирование на курсах, а не с уроками по разработке мобильных приложений с YouTube.
Сколько стоит разработка мобильного приложения в среднем?
Чтобы узнать правильную цену на разработку мобильного приложения, недостаточно прислать в студию разработки похожий вариант приложения к тому, которое Вы хотите разработать, и написать «Ребята, мне нужно такое же приложение. Сколько это будет стоить?» Мобильное приложение — это технический проект, для которого нужна правильная проектная техническая документация.
Цена разработки мобильного приложения зависит от детально и правильно составленного технического задания, и ее корректность напрямую зависит от того, насколько квалифицированный человек ее подсчитывает.
Также, при подсчете важно учитывать сколько времени займет дизайн, разработка, тестирование и прочие услуги по разработке. Если в студию разработки отправить запрос с просчетом стоимости разработки приложения без должной документации и технического задания, то, вероятнее всего, стоимость будет выставлена наугад, и при этом значительно завышена. Конечно же, высокая стоимость не значит качество.
Стоимость разработки мобильных приложений значительно варьируется также и от региона, в котором работают разработчики. В таких странах как США, Австралия или Великобритания стоимость работы разработчика может в два раза превышать стоимость работы разработчика из Западной Европы (150$ против 70$ в час). Программисту из Восточной Европы за час разработки Вам придется заплатить 35-50$, а разработчику из Индии и вовсе 8-30$. При этом простенькое приложение возможно написать за 1-2 месяца, а более сложное потребует от 4х месяцев работы.
Сегодня украинские программисты на фрилансе способны зарабатывать на уровне со своими западными коллегами, ведь могут позволить себе повышать цену, имея за спиной большой опыт, много сложных и интересных проектов, а также знание английского языка. Самой распространенной платформой для мобильных фриланс разработчиков в Украине является Upwork, и единственный минус этой платформы — слишком большая конкуренция.
Если оценивать стоимость всего процесса разработки мобильного приложения от А до Я в Украине, то она может варьироваться от 50 000 грн до нескольких миллионов гривен, все зависит от масштабов и сложности проекта.
Насколько окупается разработка мобильных приложений для бизнеса?
Далеко не каждый бизнесмен задумывается о разработке мобильного приложения для бизнеса, тем более если речь идет о малом и среднем бизнесе. Владельцам бизнеса мобильное приложение может быть необходимым в таких случаях:
- если это мобильный софт, который помогает руководить внутренними процессами в компании, то есть автоматизировать бизнес (например, для ресторанов, гостиниц, торговых центров) и повышать эффективность сотрудников (доступ к общим файлам и базам данных, коммуникация, управление процессами и задачами и т.д).
- если это программа, которая помогает решать бизнес-задачи (увеличивать продажи, повышать лояльность клиентов и узнаваемость бренда, выполнять прочие маркетинговые цели).
- в случае, если приложение разрабатывается чисто для клиентов, то это может быть клуб лояльности в приложении, или приложение как дополнение к услугам компании (онлайн-каталоги, банкинг, трекеры доставки и прочие).
Разработка мобильного приложения для бизнеса может быстро стать окупаемым и прибыльным проектом, если бизнес построен в первую очередь в таких областях как автомобильный бизнес, индустрия красоты, спорт и фитнес, медицина, туризм, заведения общепита, доставка, онлайн-магазины, досуг и развлечения, услуги.
Даже если вы продаёте сантехнику, грамотно разработанное приложение может сыграть на пользу вашему бизнесу, однако, в любом случае, первым делом нужно тщательно просчитать, принесет ли оно ожидаемую пользу, ведь мало одной только разработки приложения, очень важную роль играет его продвижение.
Давайте рассмотрим каким образом можно развить свой бизнес с помощью мобильного приложения и тем самым поспособствовать его окупаемости:
- Привлечь и сохранить целевую аудиторию, а значит увеличить продажи (программы лояльности, уведомления о скидках, акциях и новинках). Таким образом бизнес может осуществлять тачпоинт с клиентом.
- Отстроиться от конкурентов, ведь конкуренция среди приложений в этой области не так высока. Бизнес может предлагать клиенту дополнительные бонусы только за то, что он использует приложение.
- Построение лояльных отношений с клиентом — это преимущество выплывает как результат работы первых двух из списка. Все любят приятные сюрпризы, для этого клиенты и подписываются на программы лояльности. Пользуйтесь маркетинговыми акциями и прочими инструментами построения доверительных отношений с клиентами посредством приложения.
- Формирование доверия у клиентов посредством коммуникации через приложение. Согласно опросам, люди в 2 раза охотнее пользуются мобильными приложениями от владельцев бизнеса, если в них грамотно настроены push-уведомления. Пользователи более доверительно относятся к ссылкам и переходят по ним, если владельцы бизнеса уведомляют своих клиентов лично. К тому же, здесь есть огромный простор для таргетинга целевой аудитории (например, по геопозиции и предпочтениям).
- Связь с корпоративным сайтом. Сочетание мобильного приложения и сайта принесет компании двойную выгоду, ведь они будут взаимодополнять друг друга: если клиент приходит из поиска гугла, приложение может осуществить более персонализированную работу с ним.
В истории существует много успешных примеров того, как мобильное приложение значительно повлияло на развитие бизнеса, например, как это было с Alibaba Mobile Business Group в Украине и России.
И еще пару советов о том, что нужно учитывать если Вы думаете над тем, чтобы создать мобильное приложение для своего бизнеса:
- Зачастую стоимость создания мобильного приложения для бизнеса намного выше, чем стоимость разработки сайта, при этом сайты, как правило, окупаются лучше.
- Мобильное приложение для бизнеса — это инвестиция на будущее, ведь то, что сегодня может выглядеть совсем неконкурентным, завтра может стать лидером на рынке.
- Часто приложения-визитки так и остаются лежать в дальних папках смартфонов, теряясь за мессенджерами, социальными сетями и около медийными приложениями.
- Еще чаще пользователи просто не хотят загромождать хранилище телефона, или предоставлять личные данные большому количеству приложений, по этому продукт должен быть качественным и действительно полезным пользователю.
Как сэкономить на разработке мобильного приложения?
Мобильная разработка даже самой простой программы очень финансово затратна, но всё же у нас есть несколько советов касаемо того как избежать ненужных трат на разработку на начальном этапе:
- Дайте себе честный ответ на вопрос для чего вашему бизнесу нужно мобильное приложение. Если вы руководствовались принципом «у всех есть и мне нужно», то такое приложение обречено на провал. Оцените ситуацию трезво: достаточно ли велика ваша ниша, решит ли приложение бизнес-задачи, увеличит ли поток клиентов и не заинтересованы ли ваши клиенты и ЦА в мобильных технологиях?
- Тщательно продумайте стратегию MVP (то есть минимально жизнеспособного продукта), избегайте любых функциональных и дизайнерских излишеств, ваше приложение должно строго следовать цели проекта. MVP-версия мобильной программы должна включать в себя только базовые и самые необходимые функции.
- Экономить на проектировании, аналитике и ТЗ не рекомендуется, даже наоборот, если есть возможность выделить дополнительное финансирование на более глубокое исследование и бизнес-аналитику, воспользуйтесь этим, ведь этап проектирования подтверждает или опровергает потребность вашего клиента в мобильном продукте.
- На первом этапе можно создать приложение только для одной платформы — Android или iOS. Часто разработка под Android может стоить в разы больше чем под iOS, но в то же время приложения для владельцев Apple лучше монетизируются, проще адаптируются под меньшее количество типов устройств, более безопасны и будут иметь более высокое качество. Окончательный выбор должен исходить из целей бизнеса и целевой аудитории.
- Дизайн должен быть в первую очередь практичным и полезным. Лучше сэкономить на внешнем виде, но тщательно продумать весь функционал. Также следует помнить что большинство пользователей уже привыкли к определенному внешнему виду и элементов, и их расположению, поэтому берите во внимание те паттерны действий пользователя, которые повторяются всегда и во всех приложениях для той или иной платформы.
- Можно также сэкономить на методе разработки приложения — кроссплатформенная разработка стоит значительно дешевле, нежели нативная, хоть и имеет ряд недостатков, которые были описаны выше.
- Бэкендная, она же серверная часть любой программы обычно самая затратная. На ней можно сэкономить если настроить хранение данных на стороне клиента, то есть непосредственно в его устройстве (в таком случае приложение будет работать в онлайн-режиме). Также можно обойтись без серверной архитектуры и перенести всю поддержку на облачный сервис, или использовать SaaS-сервисы — (они также позволят сэкономить на чатах и push-уведомленияхах, если брать их готовыми, а не писать свою платформу для них). Некоторые прибегают к таким маленьким хитростям как использование Google-форм вместо собственных админ панелей и Telegram-ботов вместо приложений.
- Можно рискнуть и заказать разработку не у агентства, а у частного фрилансера, но в таком случае следует помнить, что всегда есть риски срыва дедлайнов и затягивания с выполнением задач, можно нарваться на недобросовестного фрилансера, который бросит ваш проект на полпути, ведь у него нет достаточной заинтересованности в вашем проекте, кроме как материальная выгода.
- Если же вы рассматриваете вариант сотрудничества только со студией, то и в этом случае можно сэкономить выбрав региональную студию, а не столичную. Также при выборе студии учитывайте, что студии с маленьким количеством сотрудников могут показать намного лучший результат из-за нехватки рук и лучшей коллективной отдачи.
- Ещё один вариант экономии — это создание приложения с помощью различных конструкторов, ведь для такого мобильного приложения не нужно особых знаний в программировании. В редакторе вы сами выберите шаблон интерфейса, подключите необходимые сервисы, аналитику, интегрируете приложение с соцсетями и так далее. Но на данный момент мы не нашли ни одного действительно полноценного конструктора который будет способен создать качественную и достойную мобильную программу самостоятельно. Существуют специалисты, которые могут помочь вам в работе с такими конструкторами, но дальнейшее продвижение также остается на ваших плечах.
Какой нужен бриф?
Бриф на разработку мобильного приложения необходим разработчику приложения для того, чтобы понимать какую идею и цели представляет заказчик. По сути, это не инструкция, и тем более не техническое задание, это предварительная заявка на разработку мобильного приложения. То, насколько грамотно составлен бриф, помогает исполнителю понять, на сколько глубоко заказчик погружен в сферу IT и насколько серьезен его подход к проекту.
В бриф на разработку мобильного приложения нужно включить:
- Личную информацию о заказчике и его контакты, естественно (имя, страна\город, компания, как связаться).
- Далее нужно рассказать о проекте — описать идею и бизнес-задачи, и это самая важная часть брифа. Опишите кратко, но четко суть проекта, что можно будет делать с помощью приложения, кто ваша ЦА, каких результатов хотите добиться.
- После нужно дать разработчику понять что вы хотите реализовать с технической точки зрения, то есть уточнить тип и функциональность приложения (web-приложение и мобильное, для iOS или Android, доработка\поддержка существующего проекта или создание с нуля, онлайн и офлайн приложение и т.д).
- Предоставьте примеры, если такие есть, желательно описать, что именно может быть схожим, а что должно отличаться.
- По возможности добавьте больше деталей (Если есть понимание, из каких экранов должно состоять приложение, опишите состав экранов и их функциональность. Или приложите ссылки на ТЗ, прототип, документацию).
- Состав работ. Здесь опишите какие части проекта уже есть и какая у них степень готовности, нужна ли вам помощь с проектировкой и написанием ТЗ, нужна ли серверная часть, админка, дизайн, последующая техподдержка (и на какой срок), продвижение.
- Сроки и бюджет. Укажите к какой дате нужна оценка, что хотите видеть в ней по структуре (оценка на почту в виде вилки, или смета, или КП с презентацией). Далее — к какой дате ожидается увидеть проект готовым (есть ли строгая дата сдачи проекта? Когда вы хотите получить бета-версию? А когда финально законченный проект?). И, конечно же, предполагаемый бюджет, в который вы хотите уложиться (знание ограничений бюджета поможет сразу предложить вам правильное решение задачи, вписывающееся в ваши рамки). Если вы затрудняетесь назвать бюджет, назовите хотя бы, на какой порядок сумм вы рассчитываете.
- Этот пункт необязателен, но если вы проводите тендер и у вас есть какие-то особые пожелания, также укажите это в брифе.
Перейдя по ссылке вы можете посмотреть шаблон брифа на разработку мобильного приложения от студии разработки Live Typing.
Какая зарплата у разработчика мобильных приложений?
Зарплата разработчика мобильных приложений в среднем составляет 1500-2000$ в Украине, но она может значительно варьироваться в зависимости от уровня знаний и навыков разработчика, и сложности проекта. Очень весомым фактором является и регион, на который работает разработчик, так как, как уже было сказано ранее, стоимость часа работы мобильного разработчика в Америке, Европе и Индии уж очень отличается. Payscale предоставил статистику, в которой определена цифра в 59100$ в год (по миру), а это 5140$ в месяц!
Согласно недавнему исследованию от Glassdоor зарплата мобильного разработчика уровня джуниор в среднем составляет 60547$ в год в США, в Украине же можно найти вакансии на позицию Junior mobile developer с оплатой в 800-1000$ в месяц. Эту группу сложнее всего анализировать, ведь на рынке большое количество начинающих мобильных девелоперов с очень разными навыками разработки. Важно понимать, что далеко не многие компании и студии готовы платить тысячу долларов мобильному разработчику без опыта, или только окончившему курсы, будьте готовы, что стартовать, вероятнее всего, придется с минимума — от 600$ в месяц.
В некоторых недобросовестных студиях разработки прибегают к “перепродаже” рабочей силы, то есть нанимают программистов с хорошими навыками, но платят по уровню джуна, а заказчику озвучивают стоимость работы программиста уровня middle, чаще всего, это сложно проверить.
Мобильные разработчики уровня middle в Украине получают в среднем 1500-2500$, а заработная плата девелоперов уровня senior может резко варьироваться от 3000-4000$ и выше. Позиция тим лида может также повышать цену работы мобильного программиста на несколько сотен долларов.
Как заработать на разработке мобильных приложений?
Существует огромное количество способов монетизации мобильного приложения и сценариев для их воплощения. Чтобы заработать на разработке мобильных приложений, нужно четко определить вашу целевую аудиторию — кто ваш клиент, что ему интересно, что ему может быть полезным и на что он готов тратить деньги. Вне зависимости от того, какой формат приложения вы хотите выпустить, то, что работает у одних, может не сработать у вас, по этому ни в коем случае не нужно ориентироваться на других и копировать схемы конкурентов (не все фичи одинаково полезны). Можно создать конкретный инструмент под задачу бизнеса и на нем зарабатывать, можно разработать программу в качестве бизнеса под ключ и продать его кому-то, можно разработать приложение, которое будет нацелено на увеличение лояльной аудитории и сбор трафика, который в дальнейшем также может быть монетизирован, и так далее. Самое главное при выборе сценария — не забывать, что приложение в первую очередь должно быть полезным пользователю.
Вот несколько способов заработка, которые чаще всего используются в мобильных приложениях:
- Реклама внутри интерфейса приложения: баннеры, всплывашки, пуш-уведомления, или натив в контенте самого приложения (для этого нужно подключиться к партнерским программам Google Adwords, Mobile 10 и другим, которые будет платить вам за просмотры и переходы).
- Рекламные видеоролики (те, которые достаточно просто досмотреть до конца, чтобы они исчезли, и пользователю необязательно на них кликать) — оплата обычно производится за определенное количество полных просмотров (обычно за 1000).
- Push-уведомления, которые всплывают поверх всего экрана и привлекают 100% внимания юзера. Такая реклама имеет большой отклик, но здесь советуем продвигать свои услуги, а не рекламировать кого-то, иначе пользователи быстро устанут от постоянного спама ненужными предложениями.
- Осуществление покупок в самом приложении (чаще всего используется в играх, но, как правило, присутствуют почти во всех приложениях, главное — правильно замотивировать юзера).
- Плата за подписку (покупка дополнительных функций, которые будут действовать в течении определенного времени, например с подпиской YouTube Premium вы избавитесь от назойливой рекламы и сможете смотреть ролики в офлайн режиме). Согласно статистике, у тех приложений, которые монетизируются с помощью подписок, доходность на 50% больше, чем у приложений с внутренними покупками.
- Спонсорство, то есть запуск от имени другой компании, как правило, хорошо известной (одна сторона получает деньги и проект в портфолио, другая — увеличивает лояльную аудиторию и повышает узнаваемость бренда).
- Платное приложение. Тут все просто — пользователь платит сразу за покупку приложения и получает максимум функций.
Это только самые основные и самые распространенные способы заработка на мобильных приложениях, и они ограничиваются только вашей фантазией.
Лучшие книги по разработке мобильных приложений
Для тех, кто предпочитает обучаться по бумажным изданиям, мы подготовили топ 6 книг по разработке мобильных приложений:
- Одна их самых популярных книг по разработке мобильных приложений для Андроид — «Head First. Программирование для Android» от Дэвида и Дона Гриффитс. Книга ориентирована не тех, кто уже знаком с Java и содержит много полезных советов, нюансов и лайфхаков, которые можно применить в процессе разработки. Готовьтесь практиковаться в разработке с первой главы.
- «Android. Сборник рецептов» от Яна Ф. Дарвина. По сути книга — пошаговая инструкция с примерами для решения задач по работе с web-службами для опытных знатоков Java и интерфейса Java SE API.
- «Java: A Beginner’s Guide» от Герберта Шильдта. Это учебник для новичков в Java, подойдет для тех, кто входит в мобильную разработку с нуля, книга также охватывает некоторые более продвинутые функции Java и будет отличным стартом в обучении.
- Книга по разработке приложений для девайсов Apple «iOS. Приемы программирования» от Вандада Нахавандипура поможет разобраться во всех самых типичных ошибках эпл-девелоперов, поможет разобраться во всех тонкостях хранения и шифрования данных и научит создавать впечатляющие красочные интерфейсы.
- Книга для новичков «Swift. Разработка приложений в среде Xcode для iPhone и iPad с использованием iOS SDK» (Дэвид Марк, Джек Наттинг, Джефф Ламарш, Фредрик Олссон, Ким Топли). Рассказывает о новейших технологиях с подробными объяснениями, инструкциями и примерами. Книга отлично подходит начинающим, однако есть много неточностей в русском переводе, по этому лучше читать сразу в оригинале.
- Книга «Hacking with Swift» от Пола Хадсона — одна из лучших книг о разработке на Swift. Пол Хадсон — известный эксперт в мобильной разработке с более чем 30 тысячами подписчиков в Твиттере, он написал ряд качественных книг о Swift, и мы настоятельно рекомендуем ознакомиться с ними всеми, если вас интересует это направление в разработке.
Как с нуля стать мобильным разработчиком
Мобильный разработчик создает приложения для планшетов, телефонов, смартчасов, фитнес-трекеров, онлайновых касс, GPS-навигаторов и других похожих устройств. Из этого перечня понятно, насколько востребованы разработчики программного обеспечения под Android или iOS, а вот как с нуля прийти в мобильную разработку, «ПрофГид» спросил у практиков, уже достигших определенных высот в профессии. Кстати, в октябре наш центр профориентации ПрофГид запустил марафон «7 шагов к выбору профессии» для взрослых и школьников. Легко и непринужденно вы делаете 7 заданий безо всякой математики и головоломства. Нужно лишь слегка привлечь воображение. В результате вы получаете 1-5 профессии, которые вам больше всего подходят.
Михаил Альфа
Ведущий разработчик РСХБ-Интех, преподаватель в онлайн-школе Otus
Чтобы стать разработчиком мобильных приложений, прежде всего, необходимо определиться с тем, под какую платформу вы собираетесь писать приложения. Может быть, вы очень любите iPhone и хотели бы привнести на эту платформу свои интересные и свежие идеи, создав крутые приложения, или же вы сторонник открытой (пока) экосистемы Android, в которой у пользователя много власти и вы бы хотели ринуться в бой на этом поле боя. Или… вас заморозили в 2015 году, а разморозили только сейчас, и вы очень хотите писать приложения для Windows Phone?
В любом случае от этого выбора будет зависеть многое: зарплата, сложность обучения, интересность задач и ограничения платформы, выражающиеся в бизнес-ограничениях. С другой стороны, вы можете и не делать такого выбора! Зачем выбирать что-то одно, если можно выбрать сразу все! Именно с этой стороны я и хотел бы поделиться своим опытом и дать, с вашего позволения, несколько рекомендаций.
Какую платформу выбрать
Пару лет назад ушла в релиз очень многообещающая технология, позволяющая писать быстрые нативные приложения сразу под iOS и Android. Имя ей – Flutter. Это кроссплатформенный фреймворк для создания на приятном языке программирования качественных и быстрых приложений, покрывающих практически любой скоуп задач. Единственная сложность, связанная с этим инструментом, – 3D, но и она, если есть желание, условна. Конечно, кроссплатформенная разработка была и до Flutter. Основным игроком тут был React Native, однако этому старичку очень сильно досталось, и даже больше: Flutter активно отъедает куски и от пирога нативной разработки (когда используются «родные» языки программирования и средства, для написания платформенных приложений – Swift / iOS + XCode, Kotlin / Android + Android Studio).
С моей субъективной точки зрения, существует очень ограниченный набор предметных областей, где этот инструмент был бы не применим вообще, а это значит, что практически любую задачу, связанную с разработкой приложений, можно решить с помощью Flutter, а это, в свою очередь, значит, что найти работу вам будет несложно, и она будет интересной, а платить за нее будут достойно. Вакансий по Flutter уже сейчас весьма много, а в будущем будет еще больше. Что же, если вы читаете эти строки, значит, я смог вызвать у вас интерес и самое время переходить к практическим шагам, как «вайти» в это дело.
Где учиться: вуз, курсы или «я сам»
1. Высшее образование – вещь, совершенно не связанная ни с каким фреймворком или языком программирования или технологией, ну почти не связанная. Я отлично закончил бакалавриат и магистратуру, все по направлениям программной разработки, и я могу сказать, что все, что я узнал во время обучения, на 90 % не применимо в промышленной коммерческой разработке. Но жалею ли я о том, что потратил 6 лет своей жизни на вуз? Конечно, нет!
Во-первых, я не сидел в углу все эти шесть лет, смотря в одну точку и пропуская жизнь, нет! Я учился в вузе, но, кроме этого, я много учился самостоятельно. Главный скилл, который дает вуз, как по мне, это умение учиться. Кроме того, вам совершенно не запрещается работать на полставки и набираться реального опыта. Поверьте, в этом случае вы будете и крутым студентом, и крутым разработчиком.
У вузов есть и другие преимущества: это нетворк (социальные связи / знакомства), различные программы стажировок, возможность международного обмена опытом. И довольно весомая вещь – открытие дверей в IT-эмиграцию, если это вам интересно. В большинстве программ профессионального релокейта необходим или большой (>10 лет) опыт работы или высшее образование и небольшой опыт (>2 лет). Если посчитать на калькуляторе, то получится, что 4 года бакалавриата и 2 года рабочего опыта намного меньше просто 10 лет рабочего опыта, и, если вы хотите испытать себя за рубежом, выбор очевиден. Но хватит с этим пунктом.
2. IT-курсы – по моему мнению, это скорее хорошо, чем плохо. Я сам преподаватель в нескольких онлайн-школах и обучаю студентов, но при этом я могу с уверенностью сказать, что если вы способны обучаться сами, у вас есть умение учиться, то вам не нужны никакие платные образовательные курсы, они не сделают вас более «прокачанным», они просто позволят вам получить доступ к информации в более плотно упакованном виде, чем если бы вам пришлось искать ее самостоятельно. Но при этом, если вы не ищете информацию самостоятельно, то вы не развиваете еще один важный навык разработчика – «гуглинг» – способность находить в Сети что угодно, отделяя зерна от плевел, и таким образом развиваться.
3. Самостоятельное обучение – это, как по мне, самый тернистый, и в то же время самый продуктивный путь развития. Умея искать знания в Сети, набивая шишки, вы получите несравненно больший опыт, чем где бы то ни было, и я с уверенностью могу сказать, что можно научиться самостоятельно (с помощью Интернета, конечно) чему угодно! Дело лишь за силой воли…
С чего начать самоучке: шаг за шагом
А теперь самое время набросать небольшой roadmap, который позволит вам начать. А уже в процессе у вас появится представление, куда и как двигаться дальше. Чтобы это было не слишком сухо, как текст выше, давайте сменим стилистику и внесем немного драйва, ну и еще: я уже довольно долго общаюсь с вами, поэтому пора перейти на «ты».
Есть мнение, что программистам бывают полезны уточки: если что-то не понимаешь или хочешь понять лучше, объясни что-то уточке, а объясняя ей, объяснишь и себе. Давай так и рассмотрим процесс обучения.
Наша Уточка твердо хочет стать мобильным разработчиком, но она не хочет ограничиваться ни Android-разработкой, ни iOS. Уточка решила войти во Flutter. Уточка находится в растерянности. Уточка не знает, с чего начать.
У нее есть какие-то товарищи, которые уже занимаются разработкой софта, но все их ответы на вопросы не особо-то помогают или сводятся к «тебя в Гугле забанили?». Люди занятые – что с них взять. Но Уточка не промах и обратилась за советом ко мне, и первое, с чем я ей помог, – поделился ссылкой на документацию языка Dart. Это нужно, чтобы освоить самый базовый уровень – условные буквы и слова, из которых Уточка сможет создавать крутые приложения на Flutter. При этом совершенно не нужно ничего устанавливать, поиграться с языком можно в онлайн-песочнице.
Эту документацию можно сносно освоить за один вечер, и вот наша Уточка сгорает от нетерпения, что делать дальше? Лучший совет, который я проверял на практике много раз, – написать приложение. Но к-а-а-к? Уточка только-только разобралась с тем, как выводить Hello world!, а тут тебе уже приложения писать предлагают. Ок, Уточка, чтобы начать писать приложения, тебе нужно развернуть самый простой шаблон. Как это сделать? Чтобы прийти к успеху, тебе нужно:
- Установить Flutter (Dart – язык разработки под Flutter, будет идти в комплекте).
- Настроить окружение – твое любимое средство разработки, за которым ты проведешь следующие 10 000 часов, чтобы стать великим разработчиком. И, Уточка, если ты не знаешь, какой инструмент выбрать, то мой сугубо персональный и крайне субъективный совет – выбирай Android Studio. Без нее все равно не обойтись, но эта IDE очень хороша. Или IDEA. На этом этапе ты установишь необходимые плагины для работы и сможешь смело идти дальше.
- Развернуть шаблон приложения.
- Написать приложение!
Все просто, как с рисованием совы.
Шутки шутками, но, Уточка, это действительно несложно. После этих четырех простых шагов у тебя перед глазами будет рабочее приложение, в котором ты сможешь по-настоящему начать учиться. Это как с велосипедом: бесполезно объяснять человеку, как именно ему нужно двигаться и что делать, единственный способ научиться – это сесть и поехать. Да, ссадин будет много, ну а как иначе? Но хватит лирики, идем дальше!
«Вот я открыла это приложение, и что? Ничего не понятно», – говоришь ты мне. А я тебе отвечу: «Посмотри внимательно на код, там есть прекрасные комментарии, попробуй этот код сломать!» Попробуй что-то изменить. Что называется, «потрогать». А дальше дело за малым: нужно поставить перед собой цель. Например, написать какое-то простое приложение, которое будет решать твою проблему, или тебе просто интересно его сделать. И вот ты стоишь в самом начале пути, и потихоньку-помаленьку к этой цели будешь идти. Если будет что-то не понятно – Гугл. Если ошибок полно и все сломано – Гугл, ну или заново создай этот же проект, если прям совсем все плохо. И лучше всего двигаться к цели маленькими шажками (на велике ты вначале тоже едешь до ближайшей стены или человека). Это называется декомпозиция – разделение большой и сложной задачи на множество маленьких и простых.
Если идей совсем нет – не беда. Сделай крестики-нолики. Простые, с полем 3 на 3 и без противника вовсе – чтобы можно было играть с самим собой. И вот тебе пример, как декомпозировать эту задачу:
- Создай игровое поле (9 квадратов).
- Сделай возможным пребывание каждого из квадратов в одном из трех состояний:
- пустой квадрат;
- квадрат с крестиком;
- квадрат с ноликом.
- Сделай обработку нажатия на квадрат (чтобы он мог в принципе менять свое состояние).
- Сделай логику ходов. Например, если ход четный – это ходит Игрок 1, если нечетный – Игрок 2. И пускай первым всегда ходит Игрок 1, не беда.
- Сделай проверку на выигрыш, осуществляемую после хода каждого игрока. Правила этой игры всем известны, а вводные условия довольно простые, и даже если не получится сделать эту логику расширяемой (чтобы в будущем увеличить поле до любого размера, к примеру), опиши все возможные состояния поля, в которых есть победитель (их всего 8), и проверяй по ним, есть ли выигрыш в конце каждого хода.
- Доведи дело до конца!
Гарантирую: когда ты запустишь на своем телефоне свое первое приложение, которое будет работать, в котором ты сможешь сыграть сам с собой в крестики-нолики, ты уже не будешь таким, как прежде. Крестики-нолики станут твоей любимой игрой. Затем тебе захочется улучшить его, сделать красивее, добавить настройки размерности поля и переписать «ифы» определения победителя на более умный алгоритм. А дальше остается только не бросать и искать все новые и новые вызовы, с которыми ты будешь справляться.
Постепенно, я уже обращаюсь к тебе, дорогой читатель, не к Уточке, ты будешь становиться все более и более развитым. Придет момент, когда твоя уверенность в себе позволит проходить собеседования и найти первую работу, устроиться на стажировку – что угодно, и тогда начнется настоящая работа.
Все описанное выше – мой личный опыт и опыт десятка близких людей / друзей, которым я помогал лично и совершенно безвозмездно. Я даже свою жену так научил, хотя она и пыталась меня все это время убедить в том, что она гуманитарий и у нее ничего не получится. Получилось! И у тебя получится!
Как создать мобильное приложение
«Покажи мне свой телефон, и я скажу, кто ты». Так можно перефразировать знаменитую фразу, чтобы описать, насколько сегодня мы связаны со смартфонами. И действительно: приложения могут рассказать о нас многое. У общительных людей телефон полон социальных сетей, у спортсменов вы найдете трекеры тренировок, а у любителей вкусно поесть — россыпь доставок из ресторанов. И все эти приложения кто-то разрабатывает, делает их полезными и удобными помощниками.
· Обновлено 23 июня 2023
В этой статье мы поговорим о том, как научиться создавать мобильные приложения с нуля. Сперва рассмотрим все этапы разработки, а после попробуем сами разработать его с нуля. И все это — без единой строчки кода. Присоединяйтесь — давайте сделаем это вместе!
«Пролистав книгу о принципах магии и не взглянув на обложку, сложно не решить, что это книга о разработке мобильных приложений.»
Брюс Тогнаццини,
Usability consultant and designer,
a partner in the Nielsen Norman Group
Профессии будущего — запишись на курс прямо сейчас
Научим основам программирования, поможем создать реальный проект и выплатим деньги за первый заказ
Записаться
Этапы разработки мобильных приложений
Если вы хотите понять, как разрабатывать мобильные приложения, сначала нужно узнать больше об этапах его создания. Этот процесс только кажется сложным и запутанным. На самом деле, в нем нет ничего сверхъестественного, если как следует разобраться. Вся разработка приложений сводится к нескольким этапам:
- Идея.
- Разработка прототипа.
- Разработка (написание кода).
- Тест и отладка.
- Релиз.
Теперь немного поговорим о каждом из них по очереди.
Идея
Идея — это первый этап создания мобильного приложения, который лежит в основе каждого продукта. Обычно идеи формируются из потребностей людей, которые после будут пользоваться приложениями. Потребности окружают нас постоянно, а приложения, например для заказа такси, доставки еды, аренды самоката, общения и многие другие, их удовлетворяют. Вот почему самые востребованные приложения — те, которые помогают людям и делают их жизнь проще. Если вы тоже хотите создать крутое приложение, то сперва задайте себе вопрос: «Какие проблемы оно могло бы решить?» От ответа на него зависит, будет ли приложение полезным и популярным у пользователей.
В этой статье мы вместе попробуем создать приложение-раскраску. Его идея — помочь отвлечься и занять человека чем-то интересным в свободное время. Это значит, что оно подойдет всем: и взрослым, и детям.
Разработка прототипа
В этот этап входит разработка визуальной составляющей вашего продукта. Специалисты определяются с цветовой гаммой приложения, создают дизайн объектов, таких как кнопки, окна, виджеты и т. д.
Зачастую прототип разрабатывает UX/UI-дизайнер. Такой специалист может заранее представить, как будет выглядеть макет приложения, где будут располагаться кнопки и виджеты, а также какие функции они будут выполнять. Дизайнер создает главный экран программы и остальные страницы. При этом он указывает логическую связь и переходы между ними. Обычно это происходит с помощью специальных сервисов для создания прототипов, таких как: Marvel, InVision, Proto.io, Pixate, Framer и других.
Написание кода
Здесь начинается этап программирования, т. е. создания кода приложения. В этот момент дизайнер уже передал разработчику прототип проекта, где подробно описал главный рабочий стол, кнопки и функционал. Иными словами, рассказал, как это все должно работать. Программист, получив четкое техническое задание, начинает писать код для каждого элемента. Например, для кнопки входа или для отправки сообщения.
Тест и отладка
Этап тестирования начинается, когда первая версия приложения уже создана. Если в компании есть отдел тестировщиков, они могут посмотреть и сам код, и как работает продукт в общем. Цель этих специалистов — найти ошибки в коде и передать их обратно в отдел разработки. Если же компания небольшая или приложение создает один разработчик, он может попросить пользователей стать тестировщиками. В обмен на выявление багов он даст группе пользователей, тестирующих приложение, более широкий функционал. В итоге все в выигрыше — разработчик получает помощь, а аудитория — новые возможности.
Релиз
Когда вы поняли, что проект готов и его можно выпускать, ищите площадку, где продают и покупают мобильные приложения. За определенный процент от продажи такие площадки готовы разместить вашу программу и помочь распространить ее через большое количество пользователей. Самые топовые площадки это:
- Google Play;
- App Store;
- Appland;
- Samsung Apps;
- Huawei App Store.
Каждый этап мы подробно разберем во второй части статьи, когда будем создавать свое приложение. Вам предстоит побыть и дизайнером, и программистом! Все функции, которые выполняют эти специалисты, мы сможем реализовать в конструкторе мобильных приложений App Inventor. Это мощный инструмент для разработки приложений, который создан специально для новичков. В нем вы сможете создать продукты для всех нужд жизни от будильника до игр и разберетесь, как сделать свое приложение.
Стартуй в программировании прямо сейчас
Реши свою первую настоящую задачу на JavaScript и поделись крутым результатом с друзьями
Гайд: как создать мобильное приложение для Android
Этап 0. Знакомимся с сервисом App Inventor
Давайте почувствуем себя разработчиками и попробуем создать свое мобильное приложение с нуля! Как мы уже говорили выше, в качестве идеи проекта возьмем раскраску для детей и взрослых.Создавать ее мы будем в известной среде визуальной разработки App Inventor.
Создание нового проекта
1. Перейдем по ссылке на главную страницу сайта App Inventor. Чтобы начать создание мобильного приложения, нажмем на кнопку Create Apps! После этого сайт попросит вас зарегистрироваться через аккаунт Google. Делаем это и принимаем лицензионное соглашение.
2. Во вкладке, которая откроется далее, укажем, что хотим создать новый проект. Проекты создаются либо через кнопку меню «Проекты» – «Начать новый проект», либо через кнопку приветственного окна Start a blank project.
3. Что нужно для создания приложения в первую очередь? Дать ему имя! Сделаем это в следующем окне. Так как наше приложение создает графические эскизы, назовем его SkyPaint.
4. После этого мы попадем на экран конструктора для создания проектов — в среду разработки. Ее интерфейс довольно легок и не требует большого времени для обучения. В основе этого сервиса лежит создание мобильного приложения за счет инструментов двух рабочих столов. Разберем их далее.
Кстати, не забудьте переключить язык интерфейса на русский, чтобы было удобнее ориентироваться по нашему гайду.
Рабочий стол сервиса App Inventor «Дизайнер»
Это пространство конструктора, которое отвечает за дизайн нашего приложения. Здесь мы формируем компоненты интерфейса, из которых будем создавать приложение, и настраиваем каждый компонент на более точные задачи.
Давайте более подробно разберем рабочий стол Designer и поймем, что нужно для создания приложения.
В палитре собраны все компоненты, которые помогут создать функционал приложения. Здесь находятся кнопки, изображения, карты, датчики устройств и прочее.
Именно отсюда мы и возьмем все элементы для разработки мобильных приложений для детей и взрослых.
Этот специальный экран программы поможет нам в создании прототипа проекта. Он служит для предварительного просмотра в конструкторе.
Проект состоит из множества компонентов, которыми мы наполняем наш проект. Этот инструмент сервиса помогает работать с ними.
Это окно для дополнительной настройки каждого элемента проекта.
Здесь можно посмотреть список используемых медиафайлов: изображений, видео-, аудио-роликов и т.п.
Рабочий стол сервиса App Inventor «Блоки»
Это пространство сервиса, где вы можете разрабатывать программную часть продукта. Для того чтобы создать свое приложение, разработчику необходимо знать функционал, а для этого он должен понимать базовые принципы программирования. И в этом нам поможет App Inventor. В нем можно программа создается с помощью блоков. Это позволяет понять, как создать мобильное приложение самостоятельно, и при этом не написать ни одной строчки кода самому!
На скриншоте выше можно увидеть все инструменты этого рабочего стола. С каждым из них мы поработаем на разных этапах разработки нашей раскраски в конструкторе App Inventor.
Этап 1. Добавляем необходимые компоненты на экран
Теперь, когда вы познакомились с возможностями App Inventor, пора начинать проект! Ниже мы составили пошаговую инструкцию, как создать свое приложение «Раскраска» с разными уровнями сложности. Путь к нашему проекту начнется с отрисовки на экране. Как и художники, мы будем рисовать на холсте. Чтобы сделать это, следуйте инструкции:
- В меню программы «Рисование и анимация» находим компонент «Холст» и перетягиваем его на экран.
- В настройках указываем размеры «Наполнить родительский». Эти настройки позволят растянуть холст на весь экран конструктора.
- Далее выбираем в свойствах холста ширину линии и цвет будущей отрисовки.
Этап 2. Добавляем кнопки для смены фона холста
После того как мы настроили холст, пора добавить несколько кнопок, которые будут по нажатию менять фон. Это поможет сделать наше приложение как можно более интерактивным.
- Заходим в компоненты «Расположение». Эта область позволяет располагать те или иные элементы интерфейса в горизонтальном либо вертикальном положении. Выбираем горизонтальное положение (далее — ГР).
- В свойстве ГР выбираем размер ширины по «Родительскому наполнению». Теперь наша область готова для расположения различных компонентов. Мы будем размещать кнопки.
- Перетащим 3 кнопки из вкладки сервиса «Интерфейс пользователя» внутрь области горизонтального положения и убедимся, что они появились в списке компонентов.
- В свойствах каждой кнопки изменим ее имя, которое будет отображаться на экране. Название важно дать каждой кнопке. Всего их у нас 3, поэтому и имени будет 3: Lite, Middle, Hard. Это будут уровни сложности нашей раскраски.
- Чтобы красиво разместить кнопки, установим в программе ширину каждого элемента по «Родительскому наполнению».
- Через окно конструктора «Медиа» добавим 3 рисунка для раскраски. Можете взять наш материал — Lite, Middle и Hard — или использовать свои.
- Проверим, отображаются ли картинки на «Холсте». Для этого в окне компонентов найдем «Холст» и зайдем в его свойства. В этой вкладке есть параметр «Фоновый рисунок». Если мы правильно перенесли медиафайлы в программу, то при нажатии на этот параметр выпадет список раскрасок, которые были подгружены. Выберем одну из них, и она появится на экране телефона.
Проверка работоспособности
Перед тем как сделать приложение доступным для всех, необходимо запустить его, чтобы провести тесты работоспособности. Да, мы прошли всего 2 этапа, но тестировать приложение важно после каждой стадии разработки. Разберемся, как это делать.
- Для начала скачаем приложение «MIT App Inventor» с официального сайта.
- Вернемся к сервису App Inventor. В меню программы выберем вкладку «Подключиться». В выпавшем меню выберем пункт «Помощник AI».
- Если мы все сделали правильно, на экране появится QR-код. Его можно открыть помощью мобильного приложения «MIT App Inventor», а именно кнопки Scan QR code.
- Просканируйте код и приложение в рабочем состоянии появится на вашем телефоне! Когда проверка будет позади, переходите к следующему этапу разработки программы. И помните: важно время от времени тестировать приложение.
Этап 3. Добавляем кнопки для смены цвета и толщину кисти
К этому моменту мы уже поняли, что процесс создания приложения в конструкторе App Inventor не так и сложен. Фактически мы уже сформировали элементы: расположили по горизонтали, добавили кнопки и медиафайлы. Наша следующая задача — создать с помощью сервиса кнопки для цветовой палитры в собственном приложении.
1. Добавляем новое горизонтальное расположение внизу экрана, чтобы разместить внутри новые кнопки с цветом.
Обязательно посмотрите, что кнопки отобразились именно в этом горизонтальном расположении, а не в расположении сверху, где находятся кнопки выбора сложности раскраски.
2. Убираем имена кнопок, чтобы отображались только цвета.
3. В свойствах каждой кнопки выбираем цвет фона.