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

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

Проверка гипотезы: стоит ли использовать 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 конструкторов приложения служат для проверки гипотез вашего проекта. Однако, если вы получили отрицательный отзыв и ваш проект не оценили, перед тем как убрать его в дальний ящик, определите что именно стало залогом неудачи. Иначе вы рискуете потерять прибыльный проект из-за слабой реализации.

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: Оцениваем успех и обдумываем будущие разработки

Учтите, что студия постоянно обновляется, поэтому внешний вид окон и другие детали могут отличаться от данного примера. Большинство уроков на сайте сейчас используют версию 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 .

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

Android Studio - интегрированная программная среда, созданная корпорацией Google. Если рассматривать другие программы, то Андроид Студио выгодно отличается от своих аналогов за счет того, что этот комплекс адаптирован для разработки приложений для Андроид, а также исполнения разного рода тестов и диагностики. Например, Android Studio в своем составе имеет инструменты для тестирования совместимости написанных Вами приложений с разными версиями Андроид и разными платформами, а также инструменты для проектирования мобильных приложений и просмотра изменений, практически в тот же миг. Также впечатляет поддержка систем контроля версий, консоли разработчика и множество стандартных шаблонов базового дизайна и стандартных элементов для создания Андроид приложений. К огромному множеству преимуществ можно еще и прибавить то, что распространяется продукт абсолютно бесплатно. Из минусов - это только англоязычный интерфейс среды.

RAD Studio


Новая версия RAD Studio под названием Berlin — это полноценный инструмент разработки кроссплатформенных приложений, в том числе и мобильных программ, на языках Object Pascal и C++. Его главное преимущество перед другими аналогичными программными средами состоит в том, что он позволяет очень быстро вести разработку за счет использования облачных сервисов. Новые наработки этой среды позволяют режиме реального времени видеть результат выполнения программы и все процессы, происходящие в приложении, что позволяет говорить о точности разработки. Также здесь можно гибко переключаться с одной платформы на другую или на серверные сервисы. Минус RAD Studio Berlin — это платная лицензия. Но при регистации можно получить бесплатную триал-версию продукта на 30 дней. Интерфейс среды — английский.

Eclipse - одна из самых популярных программных платформ с открытым кодом для написания приложений, в том числе и мобильных. Среди главных преимуществ Eclipse - огромный набор API, для создания программных модулей и использование RCP подхода, позволяющего написать практически любое приложение. Также эта платформа предоставляет пользователям такие элементы коммерческих IDE как удобный редактор с подсветкой синтаксиса, отладчик, работающий в потоковом режиме, классовый навигатор, менеджеры файлов и проектов, системы контроля версий, рефакторинг кода. Особо радует и возможность доставить нужные для написания программы SDK. Но для использования Eclipse также придется выучить английский язык.

Обзор команды 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 месяца (без учёта времени согласований и публикации в сторах).



 

Пожалуйста, поделитесь этим материалом в социальных сетях, если он оказался полезен!