Что должен знать андроид разработчик



Кто такой Android-разработчик?

Эксперт в Java, Kotlin, Android, SQL, проектировании информационных систем.

Android — лидер среди операционных систем во всем мире с огромным количеством поддерживаемых устройств. Чтобы начать разрабатывать мобильные приложения на этой ОС, нужно знать Java, но лучше еще и Kotlin, а медианная зарплата такого специалиста составляет 140 тыс. рублей. Вместе с Android-разработчицей такси Maxim и ментором курса «Android-разработчик» Ариной Мурашевой ответили на главные вопросы о профессии.

Что делает Android-разработчик?

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

Специалист мобильной разработки не только создает архитектуру приложения, но и делает удобный пользовательский интерфейс, тестирует приложение, работает с API (Application Programming Interface — программный интерфейс приложения).

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

Где нужен и насколько востребован Android-разработчик?

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

По данным statcounter на начало 2021 года, доля Android среди мобильных устройств в мире составляла 74,34% (это около 2,5 млрд активных устройств).

На июнь 2021 года на hh.ru было 1574 вакансии Android-разработчика в России (против 1461 iOS-разработчика). Можете посмотреть актуальное состояние рынка, вбив в любой поисковик работы название вакансии.

Сколько получает Android-разработчик?

Согласно исследованию Хабр Карьеры, медианная зарплата мобильного разработчика в России — 140 тыс. рублей. Разработчик на Android c опытом 1–2 года в России получает в среднем около 120 тыс. рублей в месяц.

Мидл-специалист может получать от 100 тыс. рублей в месяц, а синьор и тимлид в среднем от 180 тыс. рублей.

Плюсы и минусы профессии

Плюсы:

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

«Плюсы — видишь результат своей работы. Из минусов — китайские телефоны, которые тоже нужно поддерживать».

Минусы:

  • Многообразие устройств — одновременно и минус, так как приходится адаптировать приложения под разные девайсы, а всё учесть практически невозможно.
  • Если Apple каждый год выпускает подробные гайдлайны по разработке приложений, то у Android нюансы разработки могут меняться, и не все библиотеки и ответы на форумах будут актуальны.

Станьте мобильным разработчиком в штате или на фрилансе — или запускайте собственные приложения и игры под Android. Дополнительная скидка по промокоду BLOG — 5%.

Что лучше: Android или iOS?

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

На самом деле разнообразие устройств для Android — это и плюс: не нужно никакой дополнительной техники — писать код можно на любой операционной системе (macOS, Linux или Windows). А вот для разработки на iOS обязательно понадобится техника от Apple.

Читайте: Что выбрать: Android или iOS?

Что нужно знать и уметь?

  • Файловая структура и принципы работы операционной системы.
  • XML и Android SDK.
  • Языки программирования Java или Kotlin.
  • Android Studio — среда для разработки, где пишется код.
  • Сетевые протоколы — наборы правил и стандартов, которые определяют команды и способы коммуникации между устройствами. Протоколов довольно много, основные — это HTTP, HTTPS, TCP/IP.
  • Основы дизайна и проектирования мобильных приложений.
  • SQL — язык общения с базами данных, чтобы уметь работать с ними.
  • Git — распределенная система управления версиями и GitHub — веб-сервисом для хостинга IT-проектов и совместной разработки.

Какие нужны софт-скилы?

В мобильной разработке, как и в разработке в целом, необходимо уметь общаться с коллегами и заказчиками. «Я работаю в довольно крупной компании, — говорит Арина Мурашева, — поэтому умение договариваться и работать в команде нужно всегда. Здесь каждый человек отвечает за определенные задачи и общаться приходится много».

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

Если я передумаю, то смогу перейти с Android на iOS?

Да, нужно будет только освоить язык программирования Swift, изучить документацию Apple и другие инструменты разработки, например iOS Console (программа просмотра журнала консоли iOS для macOS) и Hyperion (решение для улучшения дизайна) и т. д. Еще есть разработчики, которые занимаются кроссплатформенной разработкой и делают приложения, которые функционируют на обеих платформах. В любом случае, навыки мобильной разработки на одной платформе пригодятся в работе над другой и учить все с нуля не придется.

Как начать?

Можно бесплатно загрузить среду для разработки Android Studio на сайте developer.android.com. Правда, если у вас на компьютере 4 Гб оперативной памяти — среда займет ее большую часть.

Для разработки под Android используются языки Java и Kotlin, оба являются объектно-ориентированными — соответственно, вам нужно знать принципы ООП.

Начать учить Java и Kotlin можно по видеоурокам, книгам и мануалам, параллельно изучая официальную документацию по Android.

Придется разобраться и с архитектурными стилями HTTP и REST, которые помогают приложениям взаимодействовать с другими приложениями и серверами.

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

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

Когда освоитесь, напишите свое небольшое приложение, выложите его на GitHub и опубликуйте в Google Play. Затем попробуйте освоить популярные библиотеки, например Glide, Retrofit и Room.

Можно пройти бесплатные курсы на Coursera, посещать вебинары и читать книги. Еще один вариант быстро прокачать навыки — поучаствовать в хакатоне, чемпионате по мобильной разработке. Хакатон от Android Academy проходит, например, на Хабре.

На курсе «Андроид-разработчик» SkillFactory можно пройти весь путь с нуля до создания своего приложения за 16 месяцев (уже на 8-м месяце вы будете обладать уровнем junior). Вы изучите принципы ООП, Java Core, многопоточность, паттерны проектирования и начнете мыслить алгоритмически. Мы даем навыки в формате практики: вы будете отрабатывать материал на тренажерах, интерактивных вебинарах, сквозных и командных проектах.

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

Станьте мобильным разработчиком в штате или на фрилансе. Вы начнете с основ программирования, изучите Java, Kotlin, Android Studio, Git, UX/UI и PlayMarket.

  • 20% необходимой теории и 80% практики
  • 10 проектов в портфолио
  • Подготовка к трудоустройству

Источник

Что нужно знать Android-разработчику

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

Прошлым летом совершенно неожиданно для себя я приобрел смартфон Nexus One. Своей покупкой был страшно доволен и подолгу ковырялся в его софтовой начинке, восхищаясь продуманностью системы. Поскольку я уже давно являюсь разработчиком игр, захотелось смастерить что-то свое и для этого устройства. После достаточно плотного изучения платформы, чтения специальной литературы, появились и первые ласточки в виде различных украшательств экрана. Надо заметить, что несмотря на то, что я с java никогда серьезно не работал, язык показался легко осваиваемым и интуитивно понятным. Очень сильно помогла и документация от Гугла. Все это в совокупности вселяло надежды на успешную разработку первого серьезного проекта, дизайн которого уже начал складываться с первых шагов изучения Android. Энтузиазма добавил и тот факт, что после пробного выкладывания приложения с живыми обоями на маркет за первые сутки его скачало почти тысяча пользователей. В голове завертелись мысли о коммерческих проектах и «легкой наживе».

Это была лирично-оптимистичная преамбула, а теперь перейдем к реальной действительности.

Монетизация Android-приложений

Тут прежде всего нужно затронуть «хозяина» системы корпорацию Google. Идеология этой компании вызывает симпатии, поскольку в большинство ее проектов положена открытость и бесплатность. Вроде прекрасно, но… И тут нам прийдется сравнить эту компанию с другой известной. Конкурент Гугла на рынке мобильных платформ Apple встречает своего пользователя с первым вопросом: «А покажите-ка вашу кредитную карточку, уважаемый. Спасибо, теперь добро пожаловать!» Чем нас встречает Гугл: «Проходите скорей, у нас столько всего бесплатного!» Как пользователя это не может не радовать. Но что скажут разработчики, увидев клиента, который платить не привык? Серьезные разработчики, локализовав одно из своих приложений с другой платформы и подведя итоги, сделают соответствующую оценку и будут работать с теми, кто платит. Именно поэтому на главной странице Android-маркета мелькают одни и те же приложения на протяжении нескольких месяцев. А сам маркет при почти полном отсутствии модерации превратился в гору хлама, найти в котором что-то серьезное — задача нереальная. Плюс ко всему, легко можно подцепить какую-нибудь гадость с разными вариантами последствий.

Но не все так мрачно. Поскольку серьезных компаний на рынке мало, то свободную нишу занимают индивидуальные разработчики. А это мы с вами. Что для крупной фирмы копейки, то для мелких девелоперов хватит на «хлеб с маслом». Например, основные покупатели моих игр, как и большинства, американцы. Следом идут немцы и, что удивительно, русские. Да-да, вопреки всяким домыслам о «любителях халявы» и «менталитете». Хотя одно событие, о котором я расскажу ниже, процент отечественного покупателя снизило, тем не менее, уважать за честность своих я меньше не стал.

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

Допустим вы нашли тот жанр, который по вашему мнению должен принести прибыль и решили выпустить коммерческую программу. Ваша разработка становится популярной даже в таком не очень популярном разделе «Платные приложения». Конечно же ваше приложение станет замеченным… и взломанным. Это вы почувствуете сразу как только перестанут приставать иностранные школьники с просьбами по почте как скачать без карты. Конечно же была установлена «защита» от Гугл с красивым названием LVL, но сломать ее гораздо легче, чем встроить.

Набираем название программы в Google (о боже, и он с ними!) и первая ссылка ведет к взломанному apk-файлу. Можете попробовать пободаться с администраторами пиратских сайтов, но не вы первый из авторов, чьи письма будут проигнорированы. Одна из моих игр таким образом попала на наш отечественный сайт 4pda.ru. Наивно считая, что если попрошу убрать со своих страниц сам взломанный файл и ссылку на него, администрация пойдет мне на встречу. Но не тут-то было! Если модератор за решением вопроса послал меня к администраторам, то те меня просто послали. Молча. Обратившись к одному, потом к другому, получив в ответ игнор, я понял, что это политика в отношении к авторам, а список «… варез которых на сайте запрещен» составлен для отвода глаз. Тема до сих пор там присутствует и активна.

Если вам не нравится такое положение дел, то есть выход — бесплатные приложения с рекламой. Эту тему я раскрывать не буду, так как она многократно описывалась. Лично я пользуюсь AdMob-ом, хотя деньги за 500 тыс показов рекламы в сутки с одного приложения весьма умеренные. Возможно крутится одна и таже малопривлекательная реклама, так что пользователи не стремятся покинуть экран с игрой, жмякая на баннер. В большинстве случаев прибыль с бесплатного Android-приложения с встроенной рекламой гораздо выше, чем с платного. Хотя всегда стоит учитывать специфику и жанр вашей программы.

Раскрутка приложения

Итак вы опубликовали свое творение и остро встал вопрос о его раскрутке. Признаюсь честно, напрямую ко мне нигода не обращались какие-либо лица с предложением раскрутить игры. Но по отзывам других разработчиков, такого рода деятельность процветает с размахом. Достаточно взглянуть на первую десятку разных категорий и впасть в уныние от представленных там программ. Некоторые из них даже толком не оформлены, но цифра закачек поражает воображение. Многие из них могут просто не запускаться, но если мы посмотрим на отзывы, увидим там многочисленные восторги, с чередующимися проклятиями тех, кто повелся. Таких восторгов, составленных «под копирку», можно начитаться и на русском языке, что говорит о поддержке раскрутчиками разных локализаций. Что тут скрывать, этим грешит и Apple appstore. Но если у последних есть какие-то стимулы отсеивать нечестное поведение, то Google такого повода к оптимизму не дает.

Недостатки системы и глюки

Основная проблема Android-маркета, как и любой службы Google: если у вас вдруг появилась проблема и вы сами не найдете из нее выход, никто вам не поможет. На ваши письма будут отвечать роботы с отсылкой к пунктам FAQ и на форум. Форум помощи это фишка корпорации «спасение утопающих — дело рук самих утопающих». Если произойдет чудо и в теме появится работник Google, то конструктивного ответа не ждите.

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

Пожалуй самая распространенная проблема это недействительная карта (закончился срок действия, нет денег и т. д.) Таких попыток оплатить бывает до половины от всего количества продаж, и они помечаются красным предупреждением о том, что якобы покупатель извещен о недействительности сделки. Не знаю как его известили, но судя по постоянным попыткам по многу раз повторить покупку, сделано это прямо скажем «не очевидно». После таких неудачных действий покупатель ставит вам низкий рейтинг и пишет письмо отчаяния «игра не запускается». Все это сказывается на общем впечатлении о маркете. А казалось бы, что мешает Google решить эту проблему. Возможно он и пытается решить, но каким-то странным образом: с начала года платные приложения закачиваются ну очень долго, отбивая желание вообще связываться с платными программами. Поговорка «хотели как лучше» подходит не только нашей стране.

Фрагментация

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

Допустим у вас есть три телефона Samsung Galaxy x, Samsung Galaxy xx, Samsung Galaxy xxx. Вы тестируете игру — на х и на хх, все идет прекрасно, но на ххх не запускается. Путем долгих попыток выясняете причину. Например, ххх не устраивает формат компрессии звука (странно, но так бывает, видимо он зависает в момент декомпрессии, когда памяти не хватает). Меняем компрессию, игра начала запускаться на ххх, но перестала работать на хх. Наконец вы дружите все три телефона с вашей игрой и со спокойной совестью публикуете его. Время от времени вам будут приходить отзывы, что игра не запускается на одном из вышеперечисленных телефонов. Но поскольку это единичные случаи и проконтролировать проблемы телефонов конкретных пользователей вы не в силах, игнорируем сообщения. И вот выходит новая прошивка. Пользователи сначала радуются и тут обнаруживают, что ряд приложений либо перестали запускаться, либо работают некорректно. В моем случае это оказался тот «безупречный» х, на котором все было отлично с самого начала. Большинство разработчиков просто делают исключения в маркете на такие телефоны, но это не выход.

Немного выводов

На мой взгляд основная проблема Android — это Google. Хотя я, как и многие, испытываю симпатию к этой корпорации (повторюсь), но то что она делает (а вернее не делает) со своим детищем наводит на печальные размышления.

Google напоминает мне остров социализма в мире бизнеса. Некая модель СССР с полетами в космос, олимпийскими чемпионами и прочими победами. Нефтью для Google является реклама. Полученная прибыль, направленная в покупку новых проектов, теряется в никуда. Потому что никто ни за что у них не отвечает. Казалось бы Android должен приносить хорошие прибыли корпорации (так же хорошо подпитывая и разработчиков). Но нужны ли им эти «копейки» по сравнению с денежными потоками от рекламы? Вероятнее всего, что другой владелец, для которого маркет определял бы серьезную долю в прибыли, изменил бы такое положение дел, навел порядок в софте и ужесточил сертификацию аппаратов. И выиграли бы все.

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

Топик не претендует на истину в последней инстанции. Это всего дишь мои сугубо личные впечатления. Success story можно найти везде, даже на хабре. Здесь изложено немного другое видение Android в целом.

Источник

You may also like...

Adblock
detector