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

Disclaimer:
Данная статья представляет собой вольный художественный пересказ-перевод вступления книги "App Savvy
Turning ideas into ipad and iphone apps customers really want "

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

Это правда, что ведущие разработчики живут очень хорошо – ведь наиболее популярные приложения, обычно это игры, такие как Angry Birds или Doodle Jump, получают миллионы скачиваний. Прикинув, что на каждой загрузке вы можете получать по 1 доллару, и посмотрев на колоссальные объемы скачиваний этих приложений, очень легко смотреть на App Store и видеть только пачки денег, которые уплывают мимо вас.


Business Insider: Angry Birds Maker Rovio Reports $200 Million Revenue in 2012 , изображение с techcrunch.com

В этот момент очень легко подумать «А почему не я?», сделать свое приложение - и столкнуться с суровой реальностью, которая обычно сильно отличается от безоблачного существования таких ведущих разработчиков. Как показывает статистика, более половины платных приложений в App Store не набирают даже 1000 скачиваний в год, а это значит, что после вычета комиссии Apple за все свои труды вы получите всего около 700$ - поэтому, на вашем месте, я бы не стал предаваться оптимизму, глядя на поражающие воображение показатели популярных игр.

Значит ли это, что если вы новичок в разработке мобильных приложений – вам лучше сразу отказаться от этой идеи? Не обязательно, но, в любом случае, сначала я предлагаю вам взглянуть правде в глаза и изучить все, что уже есть в App Store – тогда вы поймете, что у вас совсем немного шансов прийти в него и сразу запустить очень популярное приложение. Я не хочу сказать, что это невозможно, но многие успешные iPhone разработчики создали очень много приложений перед тем, как достигнуть своей цели. Главное, что вы получите от запуска вашего первого приложения – это знания и опыт самостоятельной разработки приложений.

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

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

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

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

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


Стратегия
Глава 1:
Глава 2: Что должно быть в вашем приложении?
Глава 3: От идеи к концепту

Разработка
Глава 4: Поиск команды: вам нужна помощь
Глава 5: Получаем рабочее приложение
Глава 6: Улучшаем приложение перед тем, как добавить его в App Store

Запуск
Глава 7: Готовимся к загрузке приложения в App Store
Глава 8: Строим нашу маркетинговую стратегию
Глава 9: Оцениваем успех и обдумываем будущие разработки

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

Предназначение мобильных приложений

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

Информационные;

Транзакционные;

Коммуникационные;

Мобильные версии компьютерного ПО - редакторы, просмотрщики, браузеры;

Аналитические приложения и планировщики;

Обучающие решения.

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

Информационные приложения

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

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

Транзакционные приложения

Транзакционные приложения предназначены для осуществления оплаты различных товаров и услуг, приобретаемых через интернет. Данные типы ПО могут выпускаться банками, платежными системами. Стоит отметить, что наиболее сложные по структуре и коду — во многих случаях именно транзакционные мобильные приложения. Как создавать их и, что самое главное, адаптировать к требованиям законодательства, знает только самый высококвалифицированный специалист.

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

Коммуникационные приложения

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

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

Однако конкурировать они со «Скайпом», «Вконтакте» или Viber, наверное, не смогут. Поэтому на этапе планирования разработки традиционных приложений разработчику следует реально оценивать перспективы выведения своего продукта на рынок.

Мобильные версии компьютерного ПО

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

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

Аналитическое ПО и планировщики

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

Обучающие программы

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

Разработка мобильных приложений самостоятельно: структура ПО

Как создать мобильное приложение самостоятельно? Для успешного решения данной задачи разработчику прежде всего следует определиться с оптимальной структурой создаваемой программы для мобильного устройства. Вне зависимости от предназначения ПО, оно будет состоять из 2 основных компонентов: модуля front-end и back-end. Первый представляет собой интерфейсы, посредством которых возможности приложения будет задействовать пользователь. Второй модуль отвечает за прием и передачу данных в рамках взаимодействия соответствующего ПО и пользователя (в ряде случаев — также разработчика, если, к примеру, с его стороны требуется предоставление тех или иных обновлений или обратной связи).

Каким может быть интерфейс приложения?

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

Навигационные опции, с помощью которых пользователь сможет получать доступ к тем или иным данным;

Блок обратной связи с продавцом или поставщиком;

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

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

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

приложений: инструменты

Изучим теперь ряд практических нюансов разработки рассматриваемых решений. Вопрос о том, как самому создать мобильное приложение, может быть решен с помощью удобных конструкторов, которые на рынке соответствующего ПО представлены в достаточно большом количестве. В частности, можно обратить внимание на такие решения, как: MobiCart, BusinessApps, My-Apps, Net2Share. Все они представлены в формате облачного ПО, и доступ к ним можно получить с любого устройства через интернет. Рассмотрим то, как создать мобильное приложение, задействуя возможности указанных программ, подробнее.

Инструменты для разработки приложений: MobiCart

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

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

Инструменты для создания мобильных приложений: BusinessApps

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

Интерфейсы для обмена сообщениями, добавление товаров в корзину;

Организацию переговоров между поставщиком и покупателем товара;

Новостной блок.

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

Инструменты разработки приложений: My-Apps

Данный конструктор, в свою очередь, является бесплатным. Задача "как создать мобильное приложение для iPhone или Android с его использованием" может быть решена при задействовании 10 шаблонов, которые адаптированы для обеспечения коммуникаций с потребителями предприятий в широком спектре сфер бизнеса. В числе наиболее примечательных возможностей рассматриваемого сервиса — оперативное опубликование приложения в крупнейших каталогах — App Store и Google Play.

Инструменты разработки приложений: Net2Share

Рассматриваемый конструктор — в числе самых удобных решений, позволяющих быстро понять, как создать мобильное приложение для Android самостоятельно. Данный ресурс адаптирован как раз таки для разработки продуктов на соответствующей платформе. Он характеризуется довольно большим набором функций, а также возможностью зарабатывать на создаваемом приложении с помощью сервисов внутренней рекламы. То есть пользователь может, разработав тот или иной продукт, загрузить его на корпоративном аккаунте. Кроме того, самые активные разработчики получают бесплатный профиль в Google Play.

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

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

Учтите, что студия постоянно обновляется, поэтому внешний вид окон и другие детали могут отличаться от данного примера. Большинство уроков на сайте сейчас используют версию 2.3. 25 октября 2017 года вышла версия 3.0, в которой многое поменялось. В этой статье я постарался заменить все картинки под новую версию.

В качестве языка программирования для Android используется Java. Для создания пользовательского интерфейса используется XML.

Здесь следует сделать небольшое отступление. В Android Studio 3.0 добавлена полноценная поддержка нового языка Kotlin, разработанная котанами. Google объявила о своих планах сделать новый "кошачий" язык основным. Но вы должны понимать, что за предыдущие годы было написано огромное количество примеров на Java. Если вы новичок в программировании, то лучше в первый период обучения полностью сосредоточиться на Java, вам будет проще находить ответы на вопросы. Kotlin от вас никуда не денется, перейти потом на него будет проще, а вот обратный процесс будет проходить тяжелее. Когда немного освоитесь в Java, то можете параллельно изучать примеры на Kotlin. Google сейчас активно переписывает документацию под Kotlin, но до полного перехода ещё далеко, даже меньше 50%. Чуть позже я также буду делать уроки под Kotlin, но это будет не скоро.

По традиции, заложенной в прошлом веке, каждый программист должен был написать «Hello World!» (Здравствуй, Мир!) в качестве первой программы. Времена меняются, и программа «Hello World!» уже встроена в среду разработки под Android в целях совместимости, а современные программисты должны писать программу Hello Kitty! (Привет, киска!). Согласитесь, что здороваться с котёнком имеет больше здравого смысла, чем с каким-то миром.

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

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

Запускаем Студию и выбираем File | New | New Project... . Появится диалоговое окно мастера.

Поле Application name - понятное имя для приложения, которое будет отображаться в заголовке приложения. По умолчанию у вас уже может быть My Application . Заменим на . В принципе вы могли написать здесь и Здравствуй, мир! , но у Android есть замечательная возможность выводить нужные строки на телефонах с разными языками. Скажем, у американца на телефоне появится надпись на английском, а у русского - на русском. Поэтому в первоначальных настройках всегда используются английские варианты, а локализованные строки подготовите позже. Необходимо сразу вырабатывать привычку к правильному коду.

Поле Company Domain служит для указания вашего сайта. По умолчанию там может появиться ваше имя как пользователя компьютера. Если сайт у вас есть, то можете ввести его адрес, либо придумайте какое-нибудь название. Введённое имя запоминается и будет автоматически подставляться в следующих новых проектах. Экономия, однако.

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

Поле Package name формирует специальный Java-пакет на основе вашего имени из предыдущего поля. В Java используется перевёрнутый вариант для наименования пакетов, поэтому сначала идёт ru , а потом уже название сайта. Пакет служит для уникальной идентификации вашего приложения, когда вы будете его распространять. Если сто человек напишет сто приложений с названием "Cat", то будет непонятно, где приложение, написанное разработчиком Василием Котовым. А приложение с именем пакета ru.vaskakotov.cat проще найти. Обратите внимание, что Гугл в своей документации использует пакет com.example в демонстрационных целях. Если вы будете просто копировать примеры из документации и в таком виде попытаетесь выложить в Google Play, то у вас ничего не выйдет - это название зарезервировано и запрещено к использованию в магазине приложений. Кнопка Edit позволяет отредактировать подготовленный вариант. Например, вы пишете приложение на заказ и вам нужно использовать имя пакета, утверждённое заказчиком, а не ваш вариант по умолчанию.

Ниже представлены два варианта для написания программ на C++ и Kotlin. Эти варианты мы пока не рассматриваем. Когда вы будете писать на Kotlin, то ставьте соответствующий флажок. Впрочем, вы можете сконвертировать проект с Java на Kotlin и позже средствами студии.

Нажимаем на кнопку Next и переходим к следующему окну. Здесь мы выбираем типы устройств, под которые будем разрабатывать своё приложение. В большинстве случае мы будет писать для смартфонов и планшетов, поэтому оставляем флажок у первого пункта. Также вы можете писать приложения для Android TV, Android Wear, Android Auto и Android Things.

Кроме выбора типа устройств, надо выбрать минимальную версию системы, под которую будет работать приложение. Выберите свой вариант. На данный момент Гугл поддерживает версии, начиная с API 7, выпуская специальные библиотеки совместимости для старых устройств. Но вы можете выбрать более современный вариант. У меня в наличии телефон с минимальной версией Android 4.4, поэтому я выставляю этот вариант.

java

Папка java содержит три подпапки - рабочую и для тестов. Рабочая папка имеет название вашего пакета и содержит файлы классов. Сейчас там один класс MainActivity . Папки для тестов можете не трогать. Если вы знаете, как работают пакеты в Java, то можете создавать новые папки и подпапки.

res

Папка res содержит файлы ресурсов, разбитых на отдельные подпапки.

  • drawable - в этих папках хранят графические ресурсы - картинки и xml-файлы, описывающие цвет и фигуры.
  • layout - в данной папке содержатся xml-файлы, описывающие внешний вид форм и различных элементов форм. После создания проекта там уже имеется файл activity_main.xml , который отвечает за внешний вид главного окна приложения.
  • mipmap - здесь хранят значки приложения под разные разрешения экрана
  • values - тут размещаются строковые ресурсы, ресурсы цветов, тем, стилей и измерений, которые мы можем использовать в нашем проекте. Здесь вы можете видеть файлы colors.xml , strings.xml , styles.xml . В старых проектах был ещё файл dimens.xml , сейчас от него отказались

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

Работа с проектом - Здравствуй, Мир!

Как уже говорилось, программа Hello, World! уже встроена в любой новый проект, поэтому вам даже не нужно ничего писать. Просто нужно запустить проект и получить готовую программу!

Для изучения вам нужно открыть два файла - MainActivity (скорее всего он уже открыт) и activity_main.xml (res/layout ) в центральной части Студии. Если файлы не открыты, то откройте их самостоятельно двойным щелчком для редактирования (или просмотра). Таким способом вы можете открыть любой нужный вам файл.

Не будем пока изучать код, а просто нажмём на зелёный треугольник Run (Shift+F10) на панели инструментов в верхней части студии для запуска приложения.

Если вы не настроили эмулятор, значит вы не читали предыдущий урок. Настройте сначала эмулятор и запускайте проект снова. Либо подключайте реальное устройство.

Если всё сделали правильно, то в эмуляторе или на устройстве загрузится ваша программа. Поздравляю!

Итак, если программа запустилась, то увидите окно приложения с надписью . Заголовок у программы будет также . Все эти строки можно найти в файле res/values/strings.xml и отредактировать при желании.

Теперь посмотрим на код. Сначала изучим activity_main.xml .

Смотреть его можно в двух режимах - Design и Text .

Откройте в режиме Text .

Это новый код шаблона, который появился в Android Studio 2.3 в марте 2017 года. Раньше использовался другой код с RelativeLayout (а ещё раньше и другой код с LinearLayout ). Если вам будут попадаться старые примеры, то в студии есть контекстное меню, которое поможет сконвертировать старый код в новый.

Немного о XML-коде. Имеется специальный контейнер ConstraintLayout , в котором размещён компонент TextView , предназначенный для вывода текста.

Теперь посмотрим на Java-код (MainActivity.java )

Package ru.alexanderklimov.helloworld; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } }

Перед вами открыт файл класса, где имя класса MainActivity совпадает с именем файла с расширением java (это правило, установленное языком Java). В первой строке идет название пакета - его мы задавали при создании проекта (Package Name ). Далее идут строки импорта необходимых классов для проекта. Для экономии места они свёрнуты в одну группу. Разверните её. Если однажды вы увидите, что имена классов выводятся серым цветом, значит они не используются в проекте (подсказка Unused import statement ) и можете спокойно удалить лишние строки. Также они могут удаляться автоматически (настраивается).

Далее идёт объявление самого класса, который наследуется (extends ) от абстрактного класса Activity . Это базовый класс для всех экранов приложения. Не исключено, что у вас будет AppCompatActivity , если при создании проекта вы оставили поддержку старых устройств (флажок Backwards Compatibilty (App Compat) ). В старых версиях не было плюшек, которые появились после Android 4, поэтому для них была создана специальная библиотека совместимости, которая позволяет использовать новинки от новых версий Android в старых программах. Класс AppCompatActivity как раз и относится к библиотеке совместимости. Считайте её бедным родственником базовой Activity . У неё есть все нужные методы и вспомогательные классы, но названия могут немного различаться. И смешивать названия нельзя. Если уж используете класс из библиотеки совместимости, то методы берите соответствующие.

На разных этапах использовались разные названия класса активности, которые могут вам встретиться в старых проектах. Например, сначала использовался FragmenActivity , затем ActionBarActivity , а 22 апреля 2015 года вышла новая версия библиотеки совместимости и на данный момент используется новый класс AppCompatActivity .

В самом классе мы видим метод onCreate() – он вызывается, когда приложение создаёт и отображает разметку активности. Метод помечен как protected и сопровождается аннотацией @Override (переопределён из базового класса). Аннотация может пригодиться вам. Если вы сделаете опечатку в имени метода, то компилятор сможет предупредить вас, сообщив об отсутствии такого метода у родительского класса Activity .

Разберём код метода.

Строка super.onCreate(savedInstanceState); – это конструктор родительского класса, выполняющий необходимые операции для работы активности. Эту строчку вам не придётся трогать, оставляйте без изменений.

Вторая строчка setContentView(R.layout.activity_main); представляет больший интерес. Метод setContentView(int) подключает содержимое из файла разметки. В качестве аргумента мы указываем имя файла без расширения из папки res/layout . По умолчанию проект создаёт в нём файл activity_main.xml . Вы можете переименовать файл или создать свой файл с именем cat.xml и подключить его к своей активности. Тогда код будет выглядеть так:

SetContentView(R.layout.cat);

Чтобы ваш код был аккуратным, старайтесь придерживаться стандартов. Если вы создаёте разметку для активности, то используйте префикс activity_ для имени файла. Например, разметка для второй активности может иметь имя activity_second.xml .

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

Проверка гипотезы: стоит ли использовать online сервисы для создания мобильных приложений?

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

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

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

Способов достижения короткого TTM и быстрого сбора отзывов множество. Один из наименее затратных и позволяющих в короткий срок проверить необходимость создания программы на андроид для уже существующего бизнеса - online-конструкторы мобильных приложений.

Для каких задач подойдет такое решение:

  • Создание мобильной версии вашего сайта
  • Увеличение каналов продаж имеющегося on-line магазина
  • Повышение коммуникационных каналов между сотрудниками и клиентами
  • Увеличение новостных каналов для вашего блога, сайта, новостной рассылки

Когда использовать такие сервисы?

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

Преимущества использования:

  • Быстрая скорость девелопмента
  • Минимальные стартовые вложения
  • Возможность ускоренного получения обратной связи от клиентов

Недостатки:

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

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

Если вы все же решились делать приложение самостоятельно, мы подобрали для вас несколько бесплатных / условно-бесплатных сервисов.

TOP-10 ПРОГРАММ ДЛЯ СОЗДАНИЯ ПРИЛОЖЕНИЙ ДЛЯ ANDROID И IOS

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

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

    Преимущества платформы: удобный просмотр приложений, программ, быстрая конвертация любого контента (видео с YouTube, html документа, сайта) в мобильное приложение.

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

  1. www.theappbuilder.com

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

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

    Цена: индивидуально по запросу.

  2. – сервис, предлагающий готовые решения для бизнеса – приложения для ресторанов, отелей, ночных клубов, общественных организаций. Конструктор рассчитан на создание мобильных программ для Android (Андроид), Apple iOS, Mobile Web, Webpage. Приложение можно сделать мультиязычным.

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

    Стоимость разработки одного мобильного приложения: 49 $.

    – русскоязычный сайт-конструктор приложений, позволяющий без знания программирования создавать функциональные приложения по готовым шаблонам для всех популярных электронных устройств (iPhone, Android, iPad, Android Tablet). Так же сервис предлагает простой способ размещения приложения в магазинах Google Play и Apple Store.

    Цены: Разработка мобильного приложения для Android и iOS – FREE. Пакет «Бизнес» – 2 400 руб./мес (1 приложение, 3 тыс. установок, публикация в магазинах, отсутствие рекламы). Пакет «Безлимитный» – 3 700 руб./мес (1 приложение, неограниченное количество установок, публикация в магазинах, отсутствие рекламы). Пакет «Корпоративный» – 27 100 руб./мес (10 приложений, неограниченное количество установок, дополнительная защита контента, техническая и консультативная поддержка).

  3. www.mobileroadie.com

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

    Цена на использования различается от пакета услуг: Пакет Core – 149 $ в месяц или 1 499 $ в год, позволит создать простое приложение без сложных технических решений и внешних сервисов. Пакет Pro – 799 $ в месяц или 7 999 $ в год, позволит подключить внешние сервисы и настраивать контент приложение из админки.

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

    Важное преимущество сервиса – полное отсутствие рекламы и возможность разработки приложений для электронных устройств на iOS, Android (Андроид) и Windows Phone.

    Цены: На сайте доступны бесплатный и платный пакет: App Basics – 1 $ в месяц App Pro – 9 $ в месяц Unlimited Reseller – 39 $ в месяц.

    Аppery – платформа для разработки бизнес приложений для iOS, Android (Андроид) и Windows Phone. Конструктор развернут в облаке, что исключает необходимость установки программ на жесткий диск и предназначен для создания функциональных бизнес-приложений.

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

    Стоимость пакетов: Базовая версия: 30 $ Стандартная версия: 30 $ (оплата за 12 мес), 45 $ (помесячная оплата). Версия Pro: 57 $ (оплата за 12 мес); 85 $ (помесячная оплата).

    – платформа для самостоятельного конструирования мобильных приложений для iPad, iPhone, Android, HTML5. Ко многим своим преимуществам, сервис позволяет создавать e-commerce приложения с подключением монетизации.

    Цены: Basic – 22,90 $ в месяц или 19,90 $ в месяц (при годовой оплате) Advanced – 58,90 $ в месяц или 49 $ в месяц (при годовой оплате) Unlimited – 139,90 $ в месяц или 119,90 в месяц (при годовой оплате).

    – платформа дает возможность пользователю без труда создать функциональное приложение для Android и iOS (iPhone, iPad) под малый и средний бизнес. На BiznessApps вы создаете мобильное приложение с использованием сотен готовых шаблонов.

    Стоимость пакетов: Мобильный сайт – 29 $ в месяц Мобильного приложение – 59 $ в месяц.

  5. www.viziapps.com

    – сервис позволяет создавать мобильные приложения для бизнеса с помощью функционального визуального редактора. Через платформу легко внедрить новый интерфейсы для SalesForce, QuickBooks, QuickBase, Google Spreadsheets и SQL Databases. Приложения, созданные в Viziaapps, работают на всех популярных типах мобильных ОС.

    Стоимость пакетов: Developer – 33 $ в месяц Pro – 79 $ в месяц Premium – 129 $ в месяц.

    * Годовая оплата обязательна.

    Так же, как и с сайтами, при создании своего продукта с помощью on-line конструкторов на вас накладывается множество ограничений. Примеры ограничений:

    • Приложение сложно интегрировать со внешними сервисами, не предусмотренными конструктором.
    • При использовании бесплатных on-line конструкторов на вас накладываются серьезные ограничения, такие как реклама внутри вашего продукта, сбор данные о продукте и клиентах, функциональные ограничения.
    • Созданный продукт сложно масштабировать. В случае роста числа пользователей ваше решение будет виснуть или может стать недоступным для пользователей. Так же вы не сможете перенести приложение на альтернативные площадки использования (например, имеющий в СНГ популярность yandex.store или в США Amazon).

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

Обзор команды Scorocode

В закладки

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

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

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

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

Сроки

Первое, из чего складывается стоимость и время разработки - это сложность приложения. Второе - количество платформ (iPhone iOS, iPad iOS, Android phone, Android tablet, Windows Phone), на которых оно будет работать. Да, планшеты и смартфоны нередко считаются отдельно, но не всегда, ниже объясню почему.

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

Приложения средней сложности

Средние по сложности - это те, которые охватывают несколько процессов. К ним относится большинство интернет-магазинов и систем бронирования. Экранов там около 10, есть личный кабинет, поддерживается авторизация через соцсети, есть интеграция с сервером или сайтом, часто и с платежными системами. Может быть встроен функциональность обратной связи, выставления оценок, выстраивания рейтингов. Для нескольких платформ они делаются за 3-6 месяцев (300-800 часов).

Приложения этой категории - наиболее распространённые. По данным американского опроса (трехлетней давности, зато до сих пор входящего во многие мировые сводки по отрасли), стандартное приложение создается в среднем за 18 недель, то есть за 4 месяца. Сейчас сроки разработки стали короче, и в ближайшие годы тенденция, похоже, сохранится. Технологии развиваются, курсов, открытых уроков и конференций по теме становится все больше, и это безусловно положительно влияет на развитие рынка.

Сложные приложения

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

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

Стоимость

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

Аренда помещения

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

Одновременно такой штат может вести 8 проектов (тоже по аналогии с материалом по ссылке выше), то есть за каждый месяц работы с вами они потратят как минимум 15 тысяч на аренду офиса под ваш заказ. Таким образом, для простых приложений, которые делаются за месяц-два, расходы составят 15-30 тысяч, для средних (3-6 месяцев) - 45-75, для сложных - от 90.

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

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

Плюс компании, которые используют BaaS-платформы (Backend as a service) вроде нашей, тратят на разработку значительно меньше (об этом ниже), соответственно, их услуги должны стоить дешевле. Эту информацию можно и нужно запрашивать на этапе переговоров, как и оценки всех работ с разбивкой по часам сотрудников. Лучше попросить выставить реальную стоимость разработки в часах с отдельно указанной комиссией, так вам будет проще сравнить предложения разных студий друг с другом и с цифрами из нашей статьи.

Проектирование и дизайн

Этим может заниматься и команда от трех специалистов (UX-дизайнер, UI-дизайнер и графический дизайнер), и один мастер на все руки. В первом варианте качество выше (цена тоже), но обычно студии используют второй. В нем на дизайн в среднем уходит 80 часов при затратах на разработку в 500 часов и 160 - при разработке в 900. Со средней московской зарплатой соответствующего дизайнера в 80 000 рублей в месяц (по данным hh.ru) и средним количеством рабочих часов в месяц 165 (по производственному календарю) получаем округленно 15 000 для простого приложения (около 270 часов на создание), 40 000 для среднего (около 670), 80 000 для сложного (около 1 150).

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

Разработка

Делится на backend и frontend, но мобильные программисты, специализирующиеся на определенной ОС, занимаются и тем, и другим. Исходя из среднего оклада сотрудника в 100 000 в месяц (по данным Superjob), получаем стоимость разработки простого приложения примерно в 120 000, среднего - 290 тысяч, сложного – 515 тысяч (количество часов на создание берем то же, что выше).

Пользуясь услугами фрилансеров, можно сэкономить, если искать их на русскоязычных площадках (причем желательно разработчиков из провинции) или найти хорошего недорогого спеца по рекомендации. Поиск на международных ресурсах программистов с хорошим рейтингом может обернуться только переплатой, даже при учете экономии на аренде помещения: если средний программист студии получает по текущему курсу около 9 долларов в час, то свободные художники с их свободным английским не стесняются оценивать себя в 2-6 раз дороже (данные Upwork).

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

Второй вариант – упростить только программирование серверной части, воспользовавшись платформами backend-разработки. Это эффективно, потому что доля backend-работ (включая core) в программировании приложений составляет около 80% – на front уходит только пятая часть времени. Вы получаете готовый SDK, который включает в себя моделирование данных, PUSH, email- и SMS-уведомления, облачное хранилище, серверный код на JavaScript, аналитические инструменты и управление пользователями. Он помогает сократить количество задействованных сотрудников (даже в сложных приложениях можно обойтись без архитектора и разработчика баз данных, системного администратора и одним-двумя системными разработчиками вместо двух-трех) и снижает долю серверного программирования в разработке до 30%.

Это особенно положительно влияет на сроки создания всего продукта (то, что без BaaS-платформы можно написать за 18 месяцев, с ней делается в 2-3 раза быстрее), потому что больше всего времени на серверную функциональность тратится в начале, и пока не создана база, frontend писать невозможно. Плюс автоматически решается вопрос с облачными сервисами для хостинга данных и инструментами анализа серверной нагрузки на приложение. За использование платится комиссия, как у любого облачного сервиса.

Тестирование и публикация

Этим обычно занимается менеджер проекта или специальные тестировщики ПО, но зарплаты у них примерно одинаковые - около 80 тысяч в среднем (снова данные Superjob и HeadHunter). По практике, на тестирование и выкладывание в сторы уходит от 2 дней до 2 недель непрерывной работы, то есть от 16 до 80 часов. Для простого приложения это будет стоить 8 000 рублей, для сложного в районе 40, для среднего – около 25.

Прибавим сюда управление проектом, которое, скорее всего, будет осуществлять тот же менеджер. По опыту, он потратит на это около 3 дней непрерывной работы (включая первую встречу с клиентом, сбор требований и т.п.) в простом варианте, 7 - в среднем и от 14 - в сложном. В деньгах такие траты - это 12 000, 27 000 и 54 000 рублей соответственно.

Кстати, выкладывание приложения в магазин далеко не последняя по сложности задача. Гайдлайны App Store и Google Play содержат довольно много причин, по которым ваш продукт могут отклонить, например, возрастной рейтинг . Кроме того, каждая итерация проверки занимает довольно много времени – около недели (но есть способы ускорить процесс), что добавляет проблем тем, у кого к чему-то приурочены дедлайны по выкладке. Почитать инструкции, хитрости и опыт других других людей, который поможет в этом непростом деле, можно на Хабре.

Если говорить об итоговых цифрах времени и денег, на которые надо рассчитывать, по словам самих исполнителей, то здесь данные студий очень разнятся. Например, 2Nova Interactive озвучивает рамки от 600 тысяч рублей до нескольких миллионов. Минимальный срок разработки у них - 1,5 месяца (без учёта времени согласований и публикации в сторах).



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

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

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