Эстафета «Три совета» / Иван Колотов

avatar Павел
Овчинников
04.06.2013, 09:40
комментировать
Иван Колотов, компания Nosorog Studio.

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

1. Ориентируйся на выпуск своего продукта

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

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

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

2. Помни про кросс-платформенность

При запуске нового проекта (своего или по заказу) надо сразу задумываться над тем, что в будущем его придется запускать на максимально широком круге мобильных платформ. Необходимо сразу выбирать технологии, которые позволят перенести ваш продукт на все популярные мобильные ОС (как минимум, на Android и iOS) без больших временных потерь.

Есть некоторые типы приложений, которые очень сильно завязаны на нативных интерфейсах и UX-платформах, и использовать принципы кросс-платформенной разработки для них большого смысла нет. Но есть, например, игры, разрабатывая которые с помощью правильных инструментов (см. движки Unity, cocos2d-x), можно выпускать сразу на множестве современных устройств.

3. Знай своего пользователя

Всегда нужно знать, кто пользователь твоего приложения и что ты можешь улучшить, чтобы этот пользователь продолжил им пользоваться. При разработке сайтов сейчас всегда стандартом де-факто является использование разных средств анализа аудитории и посещаемости сайта. С мобильными приложениями та же история — для любого приложения необходимо собирать максимально детальную информацию о поведении пользователей — как он нашел и установил ваше приложение, какими функциями он пользуется, с какими проблемами в использовании сталкивается и т.д. Не говоря уж об общей статистике загрузок и запусков. Для этого можно использовать множество удобных сервисов — Flurry, Bugsense, AppAnnie, Distimo и т.д. И обязательно после сбора этой информации не забывать её анализировать и на основе данных этого анализа постоянно улучшать ваше приложение.

Не скупитесь на ретвиты ↓
  • Andrey Grebnev

    Ваня, привет. Ты перечислил движки для кросс-платформенной разработки игр (Unity, cocos2d-x). Что ты используешь для кросс-платформенной разработки бизнес-приложений? Может быть Sencha Touch 2, PhoneGap?

    • Ivan Kolotov

      В основном так получается, что при разработке бизнес приложений мы как раз используем нативный подход. В силу того, что бизнес приложения — это в основном формы и UI + код взаимодействия с серверным API, то надо использовать движок, который полностью возьмет на себя функции и по отрисовке UI. Обычно такие движки используют WebView + html, взять тот PhoneGap, но у нас как-то с ним не срослось, да и заказчики в основном все хотят нативный UI (и по моему мнению, желание вполне обоснованное).

      Если же разделять UI + платформо-зависимые фичи и часть кода, которая в принципе никакой привязке к платформе не имеет (например, бизнес-логику и взаимодействие с сервером), то тогда я бы в первую очередь рассматривал Xamarin. Хотя ответственность советовать использовать именно его на себя брать не могу, так как боевом проекте пока не было случая его использовать.

      • Андрей Рылов

        Xamarian-way хорошо сочетается с unit-тестированием.

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

  • http://loshenov.ru/ Иван Лощёнов

    Что считаете идеальной связкой инструментов для сбора статистики и аналитики пользовательской активности?

    Используете в работе эти сервисы?

    heatma.ps

    www.localytics.com

    keen.io

    • Ivan Kolotov

      Нет, эти сервисы не использовали, надо будет посмотреть на них внимательнее.

      В основном нам хватает возможностей www.flurry.com

    • Ivan Beloborodov

      Еще есть count.ly

Get Cloud PHP Hosting on CatN