пятница, 27 июня 2014 г.

Путь до Google Play Market или как я создал свой FlappyBird

Сегодня у меня знаменательный день - наконец исправил последние найденные недочеты и отправил приложение в маркет. Но, обо всем по порядку. Я хотел бы рассказать о том, как пришел в мир разработки под OS Android: как учился, над чем работал и с чем сталкивался на этом пути. Кроме того, дам пару советов тем, кто хочет начать заниматься подобным. И конечно же, постараюсь сделать небольшое сравнение с миром iOS и что в нем происходит. На самом деле, уже давно хотел написать нечто подобное, и сегодня, как раз появился повод.

Честно говоря, сейчас я точно не помню основную причину своего увлечения разработкой приложений именно для мобильных устройств. Началось это в конце прошлого, 2013 года, примерно после приезда из Ташкента. Безумно хотелось делать что-нибудь и видеть результат своих трудов. Как раз за это я и люблю сферу CS - плоды не заставляют долго себя ждать. И вот, так уж получилось, что я решил сфокусироваться именно на Андроидах.


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

Тогда, мне на глаза попалась coursera, с переполнявшими ее курсами, вот-вот готовыми стартовать. Один из них, если не ошибаюсь, назывался: "Creative, playful and bla-bla-bla science of Android Apps". Ну я и зарегистрировался, что терять. Посмотрел примерно половину лекций, сделал одну домашнюю работу и забил. Позже, оказалось что я умудрился набрать 60%, но этого было недостаточно для сертификата, который я так и не получил. Ну и ладно.

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



Ну, а дальше - пошло, поехало. Весенний семестр в университете как раз предлагал схожий курс, на который мне посчастливилось попасть. Курс, довольно необычный в сравнении с остальными, которые мне доводилось брать, ибо его структура показалась мне интересной. Вкратце, Foundations of Mobile and Ubiquituous Computing выглядел так:
  • На первом уроке учитель пишет на доске все темы, которые должны быть покрыты за семестр.
  • Далее, весь класс делится на пары, и каждая пара берет себе одну тему.
  • Выбранную тему нужно будет презентовать остальным со-классникам в определенный день. Данное задание "весит" 10% от общей оценки.
  • Все презентации занимают половину семестра. Заметьте, учитель почти ничего не объясняет - все делают студенты.
  • Вторая половина семестра - проект, стоимостью в 50%. Да, именно, просто берешь проект и делаешь его.
  • Отмечу еще, что на каждую пару выдавался смартфон LG Nexus 4 и какой-то планшет.
В общем, весь мой опыт сводится к чуть больше чем полугодовалому сроку. Кстати, надо бы еще отметить - разработка под Андроид ведется на языке Java (в основном), плюс нужно знать несколько языков разметки и собственные API гугла. Когда я начал этим всем заниматься, знал я лишь.. ничего из этого списка :) Было тяжело, но интересно.

Одна мини-игра в стиле популярного тогда FlappyBird все-таки попала от моего имени в маркет. Название было придумано оригинальное - "Jumping Jack". Очень оригинально, правда? :) Разумно было бы поддерживать ее, исправлять ошибки, писать обновления - но вот руки все не доходили. Она прошла порог в тысячу скачиваний, что меня вполне удовлетворило. Если интересно, скачать ее можно - тут

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


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

Главные совет желающим начать - начните :) Оригинально звучит, правда? Действительно, можно смотреть какие-нибудь уроки, читать книжки или просматривать туториалы, но лучший учитель - опыт. Постепенно, после кучи провалов, что-нибудь, да начнет получаться. Я говорю не как мастер, освоивший уже все (на самом деле, сегодня утром, я кучу времени потратил на исправление маленькой ошибки). Я говорю как человек, недавно прошедший через круги начинающего. Если есть желание - просто делай, результат даст о себе знать.

При всем этом, разработки под Android и iOS имеют много схожего, ровно как и отличного. Я только со стороны наблюдал за миром Apple, поэтому могу говорить только основываясь на своих впечатлениях.
  • Android - Java, iOS - Objective C (swift). Два языка, но это не проблема. В принципе, логика схожа.
  • Apple разрешает продавать приложения из Казахстана, при этом, учитывая главные рынки - США и Европу, это имеет определенное преимущество. 
  • Apple AppStore поддерживает приложения для скольки...для 6-8 девайсов? Пара айфонов, айпадов, айподов и все. В то время как Google Play Market служит базой для 6000+ девайсов, каждый из которых имеет свои особенности (размер дисплея, чувствительность тача и прочие характеристики). В этом плане, поддерживать свое приложение для ВСЕХ девайсов Aplle, гораздо легче.
  • Чтоб писать приложения для iOS нужен Макбук и айфон. Как минимум. Ах да, еще их лицензия стоит порядка 100-150 долларов. В общем, стартовый капитал нужен больше в разы.
Продолжать сравнения я не буду, но можно было бы еще много чего добавить. 





Что касается сегодняшнего дня - наконец отправил новое приложение в маркет. В конце прошлого семестра, я попал в один из проектов нашего NURIS'a (Nazarbayev University Research and Innovation System) - YourFlavor. Это музыкальный сервис, позволяющий составлять плейлисты из лицензионной музыки. Автоматически ищутся люди со схожими вкусами, делаются рекомендации. Хочу отметить, что сам временами слушаю музыку там :) Вот для этого сайта я и писал мобильное приложение. Проект новый и до сих пор идет в процессе разработки, так что прошу строго не судить. С самим сайтом можно ознакомиться - http://yourflavor.me/music.

Над этим приложением я бился много часов, поэтому буду рад вашим отзывам :) Работы там еще много, и мнение каждого будет учтено. Скачать само приложение можно тут - https://play.google.com/store/apps/details?id=me.yourflavor.app

Вот, пока что все. Спасибо за внимание!

Комментариев нет:

Отправить комментарий