как сделать свое мобильное приложение
Руководство по разработке приложений: как сделать приложение для iOS и Android самостоятельно
Разработка мобильного приложения от А до Я – это довольно долгая и трудоемкая работа, посильная только профессиональной команде. Однако технологии не стоят на месте и постепенно появляются сервисы, позволяющие самостоятельно создавать полноценные приложения.
Что это за сервисы и действительно ли они подходят для решения сложных задач? Об этом и многом другом поговорим в сегодняшней статье.
Нужно ли мне мобильное приложение?
Статистика Flurry Analytics и comScore говорит о том, что пользователи тратят лишь 14% своего времени на веб-серфинг. Остальное время уходит на приложения – это игры, программы для здоровья и развития, сервисы доставки и многое другое.
Установленное приложение – это прямая связь с потребителем. Если у вас есть свой бизнес, то для его развития вы можете не тратиться на рекламу – все на себя возьмет мобильное приложение. Нужно только предоставить пользователю необходимую функциональность, чтобы он мог быстро и без каких-либо усилий получить то, за чем пришел.
Мы также можем сравнить приложение с веб-браузером, который открывает единственный сайт. Пользователь будет его устанавливать только в том случае, когда заинтересован в предоставляемых услугах.
Тот, кто установил ваше приложение, – это клиент, готовый покупать продукт. Чтобы он не закрыл приложение через несколько минут, нужно правильно проработать все детали: юзабилити, дизайн, скорость работы и прочее. Подробнее об этом мы еще поговорим, а пока давайте рассмотрим, в каких случаях подойдет самописное приложение.
Когда мне нужно создавать приложение
Если вы когда-нибудь сталкивались с разработкой сайта, то должны понимать, что нужно пользователям. Чаще всего они приходят из-за контента или функциональности ресурса: посетители хотят что-нибудь купить, прокомментировать или узнать. В случае с мобильными приложениями все аналогично – клиенты ищут информацию или совершают покупки.
Если у вас есть опыт разработки сайта, то вы должны понимать, когда она выполняется своими руками. Обычно это происходит из-за нехватки денег на профессиональных специалистов. В таких случаях предприниматели пытаются разобраться в таких системах, как WordPress, Joomla и прочих. При хорошем сценарии из этого получаются неплохие ресурсы, которые были сделаны без привлечения специалистов. С приложениями для мобильных устройств все то же самое – вы можете потратить кучу средств на профессиональных специалистов либо сделать все сами. В первом случае, конечно, выйдет наилучший результат, но для начинающих бизнесменов нет ничего лучше, чем сэкономить.
Вот еще некоторые случаи, когда самостоятельная разработка приложения будет уместна:
Возможно, вы найдете собственную причину, по которой хотите создать приложение. Если она есть, то поехали дальше – поговорим о том, что нужно знать для того, чтобы его разработать.
Что нужно знать перед разработкой приложения
Прежде чем переходить к разработке собственного мобильного приложения, необходимо понимать хотя бы базовую теорию. Функциональное приложение – это не просто окно с кнопками. Это целая машина, в которой все взаимосвязано.
Что представляет собой мобильное приложение
Это программа, работающая на планшетах, смартфонах и умных часах. С ее помощью пользователь устройства удовлетворяет всевозможные потребности, которые может решить мобильный девайс. Каждое приложение состоит из двух частей – это front- и back-end. Первая отвечает за то, что видит пользователь, например, форму заявки или картинку на главной странице. Вторая – это серверная часть, где функционирует основной двигатель программы.
Загрузка приложений обычно осуществляется через такие магазины, как Google Play и App Store. Иногда пользователи скачивают программы и через интернет, но такая возможность доступна лишь на Android-устройствах.
Если вы планируете запускать приложение через конструктор, тогда обратите внимание на две вещи. Первая – сервис должен обеспечивать хостинг приложения. Вторая – сервис должен обеспечить возможность размещать приложение на всех популярных площадках.
Как определить функциональность приложения
Один из важнейших этапов – определение функциональности приложения. Здесь важно правильно сформулировать цели и задачи, которые будет решать приложение. Другими словами – нужно ответить на вопрос, зачем вообще создается данное приложение. Поставьте себя на место клиента и подумайте, с какой целью вы будете устанавливать и использовать свое приложение.
Например, если под вашим управлением собственный интернет-магазин, то в таком ключе мобильное приложение поможет клиентам выбирать товары через планшеты или смартфоны – это и есть цель. Чтобы ее реализовать, необходимо обеспечить следующее:
Это был пример для интернет-магазина, но по своей структуре приложения часто похожи. Рекомендую исследовать свою сферу бизнеса, чтобы точно сформулировать цели и задачи. Посмотрите на примеры конкурентов – узнайте, какие разделы включают их приложения. Обратите внимание, что мы не затрагиваем тему дизайна, так как на этом этапе важно заострить внимание исключительно на функциональности приложения.
Как подобрать красивый дизайн
Качественный и стильный дизайн – это довольно сложная работа. Если вы хотите создать что-то уникальное, то потребуется немало времени на изучение всех аспектов. Но что же делать, если его нет? Вот некоторые рекомендации, которые помогут вам быстро создать макет мобильного приложения:
Хорошо проработанный дизайн так или иначе отнимет немало времени. Если времени нет, то вы всегда можете использовать шаблонные решения, которые уже встроены в сервисы для разработки приложений.
Топ-5 лучших конструкторов для создания приложения на Android и iOS
Мы поговорим о специальных сервисах для конструирования мобильных приложений, исключая средства разработки, подобные Android Studio и Apper. В них, конечно, вы тоже можете сделать приложение своими руками, однако для этого потребуется немало времени. Поэтому мой выбор пал на конструкторы – это простое решение для несложных приложений.
Далее мы рассмотрим несколько лучших решений, которые могут подойти для разных задач.
Create My Free App
Create My Free App дает возможность создавать полноценные приложения без навыков проектирования и программирования. С его помощью, например, можно бесплатно написать приложение для интернет-магазина или кафе.
Стоимость: бесплатно
Официальная страница: Create My Free App
Mobincube
Инструмент для создания и монетизации iOS и Android-приложений. Базовая функциональность сервиса доступна бесплатно. Конструктор позволяет сделать приложения разных типов.
Официальная страница: Mobincube
Appypie
Appy Pie позволяет бесплатно создавать мобильные версии сайтов для различных устройств. Он предлагает множество готовых шаблонов для отраслевых приложений.
Стоимость: от 999 рублей/месяц
Официальная страница: Applypie
Kalipso Studio
Kalipso Studio – это функциональный конструктор, позволяющий создавать приложения без навыков программирования. Kalipso позволяет развернуть приложение на пяти операционных системах: Windows Mobile, Windows CE, Windows 10, iOS и Android.
Официальная страница: Kalipsostudio
AppsBuilder
Вам не нужны навыки программирования, чтобы создать приложение с AppsBuilder. Все, что требуется, – это хорошая идея, остальное можно списать на функционал сервиса. Он включает в себя большой пакет шаблонов, разработанных опытными UX-специалистами.
Официальная страница: AppsBuilder
Создаем приложение своими руками
Выше мы рассмотрели несколько специальных сервисов для создания мобильных приложений. Теперь давайте попробуем воспользоваться одним из них. Для примера возьмем инструмент Mobincube – в нем есть бесплатная версия с ограниченным функционалом, с помощью которого можно создать готовое приложение на iOS и Android.
Если постараться, можно создать довольно практичную программу для простых задач.
Чтобы опубликовать приложение в Google Play или App Store, воспользуйтесь вкладкой «Publish».
Обратите внимание на то, что это был бесплатный сервис для разработки приложений под Android и iOS. Если вам нужно больше функционала, то воспользуйтесь другими сервисами на платной основе, которые мы рассматривали ранее.
Конструкторы приложений: есть ли у них будущее?
Как мы видим, конструкторы сегодня – это далеко не тот инструмент, с помощью которого можно создавать готовые решения для крупных бизнес-проектов. Однако они предлагают нам то, что ранее было невозможно.
Конструкторы позволяют нам создавать такие приложения, которые разрешено публиковать в Google Play и App Store. Это означает, что ими могут пользоваться и другие пользователи, а значит, приложение даже такого типа можно сделать востребованным, если провести правильный анализ целевой аудитории и сделать хороший рекламный ход. Существенный недостаток таких сервисов – это шаблонность, которая не дает настроить приложение под себя. Другая проблема – довольно высокая цена за хороший функционал.
Выбор остается только за вами: заплатить хорошую сумму высококвалифицированному программисту либо сделать все самому, но ограничиться скудным фунционалом.
Сделай сам: своё приложение для смартфона
5 сервисов для создания мобильных приложений без программирования.
Техника дошла до того, что собственное мобильное приложение можно сделать без языка программирования. Или хотя бы без Java. Уже есть сервисы, которые собирают приложения из готовых частей, как в конструкторе. От них не стоит ждать уникального дизайна или особых возможностей, но свою задачу они выполнят — у вас будет своё приложение, можно его продавать или делиться им со всеми.
Appsmakerstore
Платформы: Android, iOS, HTML5
Сервис с готовыми шаблонами на разные темы — от приложения для ночных клубов до корпоративного портала. Можно настроить дизайн, пункты меню и поведение пользователя на каждой странице, всё без кода. В результате получится целых 4 продукта:
Если знаете JavaScript и HTML, то можете существенно расширить базовые возможности конструктора.
Минус: сервис платный, от 30 долларов в месяц, но есть бесплатный двухнедельный период.
Аppybuilder
Платформы: Android
Мощная штука, если нужно что-то действительно особенное:
Интересный момент: при выборе русского языка вместо триколора появляется флаг Китая.
Минусы: нестабильная работа и нужен навык дизайнера. Из-за множества функций, которые есть в этом сервисе, он не всегда может с первого раза собрать всё в одно приложение.
AppsGeyser
Платформы: Android
Бесплатный сервис по созданию простых приложений. Всё происходит в пошаговом режиме, и единственное, что от вас требуется — заполнить нужные поля на каждом этапе. В результате вы получаете готовое приложение со стандартным дизайном, но своим контентом. Иногда это может быть полезно, когда надо быстро протестировать рынок или собрать отклик от пользователей.
Минусы: всё только на шаблонах, поэтому тонкой настройки не ждите. Максимум — поменяете фон и цвет кнопок.
iBuildApp
Платформы: Android и iOS
Если вы — компания и вам срочно нужно выпустить приложение, посмотрите на этот сервис. В нём уже есть около сотни готовых шаблонов для разных видов бизнеса, а главное — поддержка множества виджетов от форм регистрации до корзины.
Минусы: сервис платный — от 3700₽ в месяц. Дизайн шаблонов как будто застрял в нулевых — огромные кнопки на весь экран, странные иконки и полное отсутствие нужной информации. Но если нужно срочно, любой ценой и нет своего разработчика — то почему бы и нет?
Gamesalad
Платформы: Android, iOS, HTML5, Windows (+Phone)
А это сервис для создания игр. Несмотря на то, что в нём можно делать практически любые игры от платформеров до аркад, он тоже работает с графическим интерфейсом. Вы перетаскиваете в нужные места главных героев, предметы окружающего мира, а потом настраиваете, как это будет взаимодействовать между собой.
Минусы: мы не уверены, что это минус для такого продукта, но на всякий случай — сервис просит от 17 долларов в год. Судя по результату, это того стоит.
Как запустить мобильное приложение: что нужно для старта, сколько стоит, сколько займет времени
Принимаясь за разработку мобильного приложения и не имея подобного опыта, хочется заранее погрузиться в отрасль, познакомиться с основными этапами и узнать, как избежать популярных ошибок.
Расскажем владельцам бизнеса, руководителям и менеджерам проектов, как подступиться к созданию собственного мобильного приложения.
Мы в Heads and Hands создали целый курс на эту тему. А для тех, у кого нет времени читать 8 писем с примерами из кейсов и рецептов, как избежать ошибок при разработке, все самое важное мы изложили сжато в этой статье.
До начала подробного разговора о деньгах, функциях и технологиях разработки, важно определиться с бизнес-целью. Все этапы зависят от выбранной цели: бюджет на достижение этой цели, выбор подрядчика, выбор функций для первой версии приложения, стоимость и сроки создания приложения.
Сформулируйте, что и к какому сроку приложение должно достигнуть. Сколько вы заработаете с его помощью, как повысится узнаваемость или лояльность клиентов, как вы измерите достижение цели?
Второй вопрос — какой бюджет готовы в это инвестировать? Если цель помогает определить, какие функции и технологии использовать в приложении, то бюджет диктует, от чего стоит отказаться.
Существуют мобильные приложения для клиентов: с их помощью люди покупают товары, заказывают услуги, пользуются личными кабинетами. Есть приложения, которые создают для сотрудников, чтобы автоматизировать бизнес-процессы в компании или предоставить работникам возможность решать вопросы дистанционно.
Система приложений и для клиентов, и для сотрудников
Бывают приложения с разделением ролей пользователей. Например, через приложение DOC+ пользователи быстро и без звонка в колл-центр вызывают врача домой, а врачи принимают вызовы, планируют расписание на день и прокладывают маршрут до нужного адреса.
Вот краткая информация, чтобы ориентироваться среди разных технологий создания мобильных приложений.
Если у вас есть технический директор — он поможет сделать правильный выбор, чтобы оптимально интегрировать приложение в сложившиеся у вас процессы. Если у вас нет технического директора — найдите себе технического директора. Он будет контролировать подрядчиков и руководить вашей командой разработки.
Нативные приложения. Для каждой платформы — iOS и Android — создают мобильные приложения на родном языке программирования. Обычно это дороже и дольше, но такие приложения работают быстрее, их проще поддерживать и развивать, ограничений по дизайну и возможным функциям практически нет;
Кроссплатформенные приложения. Создают одно приложение под обе платформы сразу, которое потом адаптируют для загрузки в магазины приложений. Инструменты разработки таких приложений строят приложения из шаблонов, из-за чего они все выглядят одинаково. Не каждую функцию получится реализовать, не на всех платформах функции будут работать корректно.
Вебвью. В окне приложения загружают страницу сайта. Иногда так открывают служебные страницы, чтобы сэкономить время разработки, например, текст пользовательского соглашения. В экстремальных случаях все приложение состоит из одного экрана, на котором загружена мобильная версия. Почти всегда вебвью выглядит чужеродно. Каждое нажатие на ссылку приводит к загрузке новой страницы, поэтому интерфейс ощущается зависающим и неотзывчивым.
Гибридные приложения. В них использованы сразу несколько технологий: часть функций реализована нативными средствами, другие разделы кроссплатформенные, некоторые экраны подгружаются в вебвью. Редко приложения делают изначально гибридными, чаще так получается со временем, когда над разными версиями работают разные разработчики, и новые функции создаются без оглядки на сложившийся стэк технологий.
Конструкторы приложений. Не стоит надеяться, что любой неспециалист без навыков программирования сможет с их помощью создать свое приложение. Скорее всего, придется все равно привлекать разработчика. Приложение получится шаблонным на вид, с минимальным набором функций и работающим медленно и нестабильно.
Стоимость разработки приложений
Стоимость зависит от выбора технологий, необходимости интеграции с внешними сервисами, количества платформ (iOS, Android или все вместе), сложности функций.
Цены приблизительные по рынку, когда исполнитель может гарантировать результат. Студент-фрилансер может попросить за работу меньше, но что получится в итоге — неизвестно. Такие экстремальные сценарии мы не учитывали.
Создание мобильного приложения почти никогда не занимает меньше 3 месяцев. Это минимальный срок, обычно разработка требует больше времени.
Примерный таймлайн проекта:
— проектирование интерфейса, 10 рабочих дней;
— создание концепта дизайна, 10 рабочих дней;
— дизайн всех экранов приложения и подготовка к разработке, 10 рабочих дней;
— написания технического задания и требований к интеграциям, 5 рабочих дней;
— разработка и тестирование, от 30 рабочих дней;
— подготовка к публикации в магазинах приложений и прохождение модерации, 5 рабочих дней.
Итого: 3 месяца и 1 неделя.
Бюджет и сроки редко получается стандартизировать. Их рассчитывают индивидуально под каждый проект. Если исполнитель не представил поэтапный календарный план проекта, скорее всего, он не разобрался в задаче. Велика вероятность, что он сорвет сроки или не уложится в бюджет.
Подробнее об этапах создания приложения, об аналитике в приложениях, о выборе подходящей технологии разработки, создании собственной команды разработчиков и поиске подрядчика мы рассказали в бесплатной обучающей рассылке. В этих письмах — опыт компании, партнеров и конкурентов, примеры из кейсов и способы избежать ошибок при разработке.
О том, как я написал простое приложение для Android/iOS
Хочу сразу отметить, что это не статья от профессионала, скорее взгляд любителя на мобильную разработку, скажем так, «с нуля». Мое основное занятие — это создание сайтов. В данное время я работаю у провайдера интернета и занимаюсь поддержкой внутреннего биллинга/сайта и так далее (PHP и немного Perl), довольно скучное занятие, скажу я вам. В общем, я обычный провинциальный «программист».
В один прекрасный момент у руководства компании возникла идея сделать мобильное приложение для iPhone, которое могло бы показать баланс пользователю, его статус, возможность взять «обещанный платеж», фактически, дублирование личного кабинета, но чтобы приложение. Не зная про мобильную разработку совсем ничего, идею воспринял с большим энтузиазмом, потому что всегда приятно делать/узнавать что-то новое, думаю, это у всех так.
Придя на работу в один из серых скучных дней, я решился и написал в поиске Google «как сделать мобильное приложение». Это было очень наивно. Кажется, я даже попробовал задать вопрос на Toster, «с чего начать разработку под мобильные приложения», тогда я еще не понимал насколько глупым воспринимается этот вопрос профессионалами.
Довольно быстро я разделил для себя разработку на две части, это был Android и iOS, потому что они совсем разные (поиск подсказал.
Как-то я наткнулся на Phonegap, насколько я понял, пишем на Javascript+html+css, а потом получаем готовое приложение для Android/iOS, но почему-то мне не хотелось пользоваться подобными решениями, во-первых: были непонятные отзывы, кто-то хвалил, кто-то ругал, а во-вторых: мне хотелось попробовать как это изнутри, каково это сделать «нативное» приложение.
План и подготовка
Начать решил с Android.
Android
Начал я с установки Android Studio, первоначально смутило количество кнопочек/иконок, но за пару дней я уже был как рыба в воде. Для начала надо было понять как вообще делаются приложения, очень помогает изначальное «Hello world!» которое создается по-умолчанию. Выглядело все достаточно просто и понятно. Погуглив «Как начать разработку в Android Studio», я понял, что надо скачать SDK. Открыв SDK-manager я не понял вообще ничего, ну, точнее, не понял что именно надо делать, поэтому поставил все галочки и ждал пока все скачается. Для чего оно мне нужно я совсем не понимал, общее представление конечно было «чтобы работала поддержка такой-то версии», но почему надо все отдельно качать и выбирать среди сотен галочек — бррр.
Вторым достаточно сложным этапом было запустить приложение на симуляторе. Погуглив, пришлось повозиться с AVD, конечно, потыкашись как слепой котенок я сделал несколько виртуальных устройств. На одном даже запустилось приложение. Честно сказать, симулятор у Android Studio совсем не User-friendly, очень долго я с ним воевал, пытался запускать по-разному, хотел чтобы кнопки управления были на экране и работали, но почему-то не работали. Видимо, сказывалось отсутствие опыта.
Как оказалось, для Android пишут на Java. Про Java я знал только то, что это язык программирования и это не Javascript.
Решил разбить большую задачу на более мелкие.
Теперь возникла ситуация когда у меня, в принципе, все готово, но я не знал как вообще делается приложение, поэтому, погуглив, я понял что никакой нормальной информации на русском языке мне не найти (либо я плохо искал). Информация либо устаревшая, либо не то что мне требуется. Спас меня youtube и знание английского языка. Сделав несколько запросов в ютюбе можно найти массу информации, да еще и с самим процессом — это очень помогло, если бы не обучающие видео, думаю, приложение я бы делал несколько месяцев.
Выбирая минимальную версию Android я остановился на 4 что-то там 🙂 (Охват аудитории 90%+ если верить Google).
Опять же разбив свои задачи на более мелкие я искал туториалы в youtube, например: «how to get json in android» или «menu in android studio». Конечно, пришлось пересмотреть штук 30 разных видео и все они были на английском (одно на немецком и одно на китайском — когда показывают не так сложно самому дойти что же говорят :)).
Разработка под Android заняла примерно неделю с момента установки Android Studio. После чего отобрав планшет у сына я смог протестировать свое приложение на реальном устройстве — просто подсоединив его к компьютеру.
Публикация в Google Play
Сначала я думал что будет очень сложно и даже переживал, но как оказалось всего 25$ и фактически без каких-либо серьезных проверок приложение попало в Google Play и через несколько часов было доступно в поиске, публикация заняла около одного дня.
Отдохнув пару дней и поразмыслив, решил что пора реализовать тоже самое приложение под iOS. Но, оказалось, что бесплатная среда разработки xCode может быть запущена исключительно в среде Mac. Пришлось скачать образ виртуальной машины MAC OS Yosemite и запустить ее через VMWare. Сделать это было очень просто и фактически не требовало от меня никаких телодвижений кроме как «ждать».
После чего я скачал xCode и начал разбираться, дело пошло быстрее, так как разработка под мобильные устройства что для Android, что для iOS примерно схожа в своих идеях.
Язык программирования выбрал Swift. Версию iOS минимум 7.1+
В принципе разработка под iOS была более простой, хотя баги симулятора присутствовали, но весь процесс оказался более удобным, нежели под Android. Опять же я открыл youtube и смотрел видео/читал руководства о том, как сделать какую-то вещь. Например, нагуглил прекрасный скрипт который делает slide menu, которого у меня не было в Android. В общем, еще один марафон и за неделю было готово улучшенное приложение, добавил возможность пополнить счет с помощью карты предоплаты и совместил платежи/списания в одно окно.
Использовал тоже самое API (тот же скрипт, что и для Android).
Публикация в iOS
Тут все оказалось не так радужно и просто как в Android. Во-первых, оказалось, что мне требуется реальное устройство для тестирования приложения, а без него никак не опубликоваться. Пришлось искать iPhone и привязать его к профилю тестирования.
Опять же, при создании аккаунта был выбор между «компания» и «индивидуальный разработчик», но начитавшись страшилок про 4+ месяца проверки компаний я решил регистрироваться как индивидуальный разработчик. Сделать это было не сложно, главное оплатить 99$ за аккаунт разработчика iOS со своей кредитной карты чтобы имя совпадало (подсказал поиск). Платеж проходил 2 дня.
После чего пришлось искать целое видео «how to publish in app store» и следовать инструкции, настолько там все непонятно. Какие-то сертификаты, туда — сюда. В общем, не очень удобно, хотя и сделать надо лишь один раз :).
Выводы
1. Как оказалось это не сложно даже для человека который никогда не использовал Java/Swift/Mac OS.
2. Много новой информации заставляло мой мозг просто переполняться в первые дни и зависать. Помогал только сон, после него я более четко понимал что делать дальше. Не надо бояться таких этапов. Иногда мне казалось что «я вообще ничего не понимаю», были ощущения что я бьюсь головой в бетонную стену. Но на следующий день я решал проблему. Например, в Android, в самом начале у меня возникла ситуация «ничего не работает», когда я подключался к серверу и должен был получать информацию, оказалось, надо было это делать в асинхронном потоке. Потратил целый день.
3. Очень быстрое устаревание руководств/видео уроков. Платформы настолько быстро развиваются, что надо сразу проверять актуальность информации. На русском языке ее очень мало, после нескольких попыток я даже бросил искать и сразу начал штудировать stackoverflow и англоязычный интернет. Youtube со своими видео-уроками просто спас меня! Я открывал видео на одном мониторе и работал на втором. Без базового английского — никуда.
4. Сервисы вопрос-ответ реально помогают! Иногда, впадая в ступор я задавал вопросы и почти сразу получал ответы — очень удобно если находишься в тупике.
5. Apple более чутко относится к публикации приложений, но особых проблем кроме длительного времени я не заметил. Android же делают все очень быстро (зато пускают всех подряд, как я понял).
6. В общей сложности я потратил почти месяц (на разработку около двух недель с перерывами). Стоило ли оно того — думаю да, было очень интересно. Если у вас есть желание — попробуйте, все оказалось не так сложно. У меня нет смартфона Android/iPhone, но и без них все оказалось просто. Симуляторы работают достоверно.
Приложение называется dagotel, но оно создано для клиентов, поэтому дальше логина не пустит. Разве что посмотреть скриншоты.
Понятия не имею, зачем я написал эту статью и какие цели преследовал, но раз написал, решил опубликовать.