HomeРазноеМобильная разработка под android: Программирование под Android для начинающих. Часть 1 / Хабр

Мобильная разработка под android: Программирование под Android для начинающих. Часть 1 / Хабр

Как сделать приложение для Android самостоятельно — руководства на Skillbox

Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.

Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).


Справка

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


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

После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.

Если выбрать в выпадающем меню вид Android, то вы увидите файлы проекта. Например, наша основная активность называется app > java > ru.skillbox.skillboxapp > FullscreenActivity. При создании проекта мы указали вместо активности Main полноэкранную активность.

Далее можно посмотреть файл app > res > layout > activity_fullscreen.xml. Это XML-файл с макетом для UI нашей основной активности.

Наконец, третий важный файл app > manifests > AndroidManifest.xml описывает фундаментальные характеристики приложения и определяет все его компоненты.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.skillbox.skillboxapp">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".FullscreenActivity"
            android:configChanges="orientation|keyboardHidden|screenSize"
            android:label="@string/app_name"
            android:theme="@style/FullscreenTheme">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

Содержание

Разработка приложений для Android: с чего начать?

С чего начать?

Каким образом проходит процесс разработки под Android? Выделим несколько основ:

  • В Java файлах вы описываете логику программы — то, что вы хотите, чтобы ваше приложение выполняло.
  • В XML файлах вы разрабатываете макеты — внешний вид.
  • Как только приложение будет написано, нужно использовать инструмент сборки для того, чтобы скомпилировать все файлы и упаковать их вместе в .apk файл, который можно запускать на устройствах Android и/или опубликовать в Google Play.
  • Все утилиты и файлы, которые используются для создания приложения под Android, объединены в интегрированную среду разработки (IDE). IDE — это программа, которую вы откроете для редактирования ваших файлов кода, а также компиляции и запуска.
  • Ранее стандартной IDE для разработки под Android была Eclipse, но сейчас ее заменила более функциональная Android Studio — продукт компании Google.

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

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

  • Загрузим и установим Android Studio.
  • Узнаем про запуск и тестирование приложений на устройствах и эмуляторах Android.
  • Создадим простое приложение на Android, которое выводит надпись «Hello World» на экран мобильного устройства.

В конце статьи вы можете ознакомиться с полезными рекомендациями начинающим разработчикам от компании.

Установка среды разработки Android Studio

Начать читать документацию и писать код что бы узнать на что способна платформа  — это действительно заманчиво. И мы скоро это сделаем! Однако, для начала работы с платформой Android необходимо настроить среду разработки.

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

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

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

Перейдите на страницу Android Studio developer.android.com/studio/index.html и найдите кнопку для загрузки последней версии для своей платформы.

Главная страница Android Studio

Кликните по кнопке загрузки и вас попросят ознакомиться с правилами и условиями использования программного продукта. После внимательного прочтения (как вы всегда это делаете) и принятия, начинается загрузка. Вероятно, это займет несколько минут. После этого вы можете установить Android Studio аналогично любой другой программе. На начальной странице загрузки содержатся инструкции по установке под Mac и Windows.

Документ Terms and Conditions

Теперь, когда вы установили Android Studio, давайте запустим его! Запустите Android Studio. Программа спросит, хотите ли вы импортировать свои настройки. Поскольку вы начинаете с нуля, просто выберите второй пункт и продолжайте.

Завершение установки

Вы должны увидеть красивый загрузочный экран в стиле Material Design.

Загрузочный экран

По окончанию загрузки, вы попадете на экран приветствия.

Welcome to Android Studio

Даже в том случае, если вы только что загрузили Android Studio, у вас может быть не самая последняя версия. Чтобы избежать проблем с версиями в дальнейшем, нажмите кнопку «Check for updates now» и, если необходимо, выполнить все инструкции для получения последней версии. Иногда Studio автоматически информирует вас о том, что есть обновление с помощью экрана, подобного этому:

Проверка обновлений

В этом случае всегда выбирайте Update and Restart. Отлично! Мы успешно справились с установкой среды для разработки.

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

Пришло время создать первый проект. Начнем с простого. У программистов принято называть первую программу «Hello World». Давайте следовать этой традиции, а затем сделаем несколько небольших изменений, чтобы приложение использовало ваше имя для приветствия. В конце вы сможете загрузить его  на устройство и показать своим знакомым. Android Studio имеет небольшой пошаговый инструмент, который поможет вам создать свой проект. Нажмите «New Project» на стартовом экране:

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

Далее вы должны увидеть окно, подобное следующему:

Описание проекта

Заполните его подобным образом. Не стесняйтесь заменить «example» в имени пакета на что-то еще, чтобы удалить предупреждение внизу экрана. Вы также можете установить местоположение проекта, указав любую папку на жестком диске

Для раскрывающихся версий SDK обратите внимание на раздел «Описание» в нижней части диалогового окна. В нем объясняется, для чего предназначена каждая настройка.

Установите минимальный требуемый SDK, как показано на снимке экрана. Это устанавливает минимальную версию Android, необходимую для запуска приложения. Выбор этого значения для ваших собственных проектов — это вопрос балансировки возможностей SDK, которые вы хотите, и устройств, которые будут поддерживаться.

Для первого приложения я рекомендую использовать версию API 14, которая является Android 4.0 Ice Cream Sandwich. Каждое приложение будет иметь разные требования, и вы можете выбрать что-то другое, в зависимости от ситуации.

Для получения дополнительной информации о версиях API и их использовании, на сайте для разработчиков под Android существует специальная страничка Dashboards https://developer.android.com/about/dashboards/index.html.

Dashboards

После выбора версии, открывается экран выбора стартового шаблона. Вы можете создать приложение, которое уже взаимодействует с api google maps и отображает карту. В нашем тестовом примере выбираем Empty Activity и нажимаем кнопку «Next».

Выбор стартового шаблона

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

  • Activity Name — это первое, но не последнее упоминание слова Activity. В контексте Android, Activity обычно рассматривается как «экран» в вашем приложении. Этот элемент очень гибкий. Когда Android Studio создает класс MainActivity, он наследует его от класса Activity из пакета Android SDK. Те, кто знаком с объектно-ориентированным программированием, понимают эту концепцию, но для новичков, это, в основном, означает, что ваша MainActivity будет настраиваемой версией Activity.

Activity Name

  • Layout Name — макет того, что будет показано пользователю, определен в специальном виде Android XML. Вы скоро научитесь читать и редактировать эти файлы.

Нажимаем Finish. Некоторое время займет создание и загрузка проекта. Через некоторое время Android Studio завершит билд вашего проекта. Конечно, проект пока пуст, но в нем есть все необходимое для запуска на Android-устройстве или эмуляторе.

Билдинг проекта

После загрузки проекта вы просматриваете файл макета в формате XML. Прежде чем перейти к программированию под Android, давайте поговорим о том, каким образом мы можем запустить это приложение. Пришло время сказать «Hello world!».

xml структура проекта

Запуск приложения на эмуляторе

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

Эту возможность предоставляет Android Virtual Device (AVD) Manager. По желанию вы можете настроить несколько эмуляторов, установить размер экрана и версию платформы для каждого нового эмулятора. Этот функционал очень полезен, поскольку избавляет разработчиков от необходимости покупать несколько устройств для тестирования программ.

Нажмите на кнопку Run в виде зеленой стрелки.

Запуск приложения на эмуляторе Android устройства

Придется подождать некоторое время, пока эмулятор загрузится и как только он будет готов, вы увидите что-то вроде этого:

Рабочее приложение

Мои поздравления! Вы сделали свое первое приложение для Android!

И так… Почему и как это сработало?

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

Структура папок Android проекта

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

Структура Android проекта: Команда

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

Java: Профессионал

Это часть вашего кода, которая отвечает за логику приложения. Ваш код будет находиться в каталоге src\main\java в основной папке проекта. Для изучения Java можно посоветовать книгу Брюса Эккеля «Философия Java»;

Resources: Артист

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

При инициализации, папка содержит следующие папки:

  • drawable, в которой хранятся иконки. Сейчас там лежит только стандартная иконка приложения.
  • layout с XML файлами, которые представляют собой дизайны экранов.
  • menu c XML файлами списков элементов, которые будут отображаться в панели действий.
  • values с XML файлами, содержащими размеры, цвета, строковые константы и стили.

AndroidManifest.xml: Босс

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

Внесение изменений

Перейдите к res/values/strings.xml и дважды щелкните файл. Когда вы откроете файл, вы увидите два строковых ресурса в XML.

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

Измените строку hello_world, которую приложение отображает на экране. Измените ее содержимое на нечто более личное, например используйте ваше собственное имя. Получится что-то вроде:

<string name=»hello_world»>Matt is learning Android!</string>

Нажмите Run. Приложение должно перезапуститься и вы увидите персональное сообщение:

Персональное сообщение в программе

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

Как выбрать язык программирования для создания Андроид — приложения / Хабр

Привет, Хабр! представляю вашему вниманию перевод статьи «Top Programming Languages for Android App Development» автора Mohit Maheshwari.

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



Выбор языка программирования

В настоящее время Java является самым популярным языком программирования для мобильной разработки на Android. Хотя Google активно продвигает Kotlin как язык, который должен будет заменить Java. Также приложения под Android пишут и на других языках.

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

Ниже кратко описаны языки программирования, которые используются для разработки Android:

Java является официальным языком для разработки Android и поддерживается Android Studio.

Kotlin является официальным и самым последним введенным языком Android; он похож на Java, но во многих отношениях немного легче.

Также Android Studio поддерживает C++ с использованием Java NDK, что может быть удобно для игр.

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

BASIC невероятно приятен в использовании и является идеальным началом для обучения кодированию.

Corona — еще один кроссплатформенный инструмент, использующий язык Lua (скриптовый язык программирования, по идеологии и реализации ближе всего к JavaScript) для реализации логики приложений, он значительно упрощает процесс сборки приложений и позволяет вызывать собственные библиотеки.

PhoneGap (HTML, CSS, JavaScript) — если Вы знаете, как создавать интерактивные веб-страницы, то можете использовать эти знания с PhoneGap для создания простого кросс-платформенного приложения.

Ознакомимся подробнее с инструментами и языками

Android Studio

Лучший способ разработать приложение для Android — это пойти и установить Android Studio. Android Studio — это интегрированная среда разработки (IDE) для работы с платформой Android.

Android Studio, основанная на программном обеспечении IntelliJ IDEA от компании JetBrains, — официальное средство разработки Android приложений. 17 мая 2017, на ежегодной конференции Google I/O, Google анонсировал поддержку языка Kotlin, используемого в Android Studio, как официального языка программирования для платформы Android в добавление к Java и С++.

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

Java

Для любого разработчика мобильных приложений на Android, первым и наиболее предпочтительным языком программирования пока остается Java, так он поддерживается компанией Google и большинство приложений в Google Play построены именно на нем.

Сама Java была разработана компанией Sun Microsystems (в последующем приобретённой компанией Oracle) еще в 1995 году, и она до сих пор используется для широкого спектра программных приложений. Код Java выполняется виртуальной машиной, которая работает на устройствах Android и интерпретирует код.

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

Но, если Вы новичок, и с нетерпением хотите сделать игру, или просто начать учиться ради обучения, то лучше начать с чего-то проще, но вернуться к Java, как только вы получили немного больше опыта.

Kotlin

Kotlin недавно появился в качестве «другого» официального языка для разработки Android. Как и Java, Kotlin работает на виртуальной машине Java. Он полностью совместим с Java и не вызывает никаких препятствий или увеличения размера файлов.

Основное отличие заключается в том, что Kotlin требует меньше «шаблонного» кода, т.е. более простая для чтения система. Он также устраняет такие ошибки, как исключение нулевого указателя, и даже освобождает Вас от необходимости заканчивать каждую строку точкой с запятой. Это отличный язык программирования, если вы только учитесь разрабатывать приложения для Android.

Kotlin является более легкой отправной точкой для начинающих, и тот факт, что можно использовать Android Studio, является большим плюсом.

C / C++

Что действительно не стоит выбирать новичку для разработки приложения для Android так это C / C++. Android Studio поддерживает C / C++ с помощью Android Native Development Kit. Это значит, что написанный код будет работать не на виртуальной машине Java, а на самом устройстве и даст больше контроля над такими вещами, как память. Например для 3D-игр, это позволит выжать дополнительную производительность с устройства.

С#

C# — это более простая, чисто объектно-ориентированная версия разработки C и C+ от Microsoft. Основная цель Microsoft заключалась в том, чтобы объединить мощь C++ и простоту Visual Basic. Этот язык для разработки Android-приложений часто приходится по вкусу многим разработчикам, особенно сочетание C# и Unity.

Unity

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

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

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

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

C# также можно использовать с Xamarin через Visual Studio. Это похоже на традиционную разработку Android с преимуществом кросс-платформенности, которая имеет кодовую базу для Android и iOS.

BASIC

То, что мы узнали о C#, было попыткой соединить силу C с легкостью Visual BASIC. Это потому, что BASIC (Beginners All-Purpose Symbolic Instruction Code) невероятно приятен в использовании и является абсолютно идеальной отправной точкой для обучения кодированию.
К сожалению, он официально не поддерживается Android Studio, и его нельзя использовать в Unity. Но есть менее известный вариант для разработки приложений для Android в BASIC под названием B4A (BASIC 4 Android), который позволяет создавать приложения для Android с помощью BASIC.

Corona

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

Corona подходит для тех, кто хочет создать что-то относительно простое и не так озабочен развитием своих навыков кодирования или становлением профессионалом. Если вы хотите использовать такие функции, как покупка в приложении, то вам нужно будет заплатить. То же самое касается использования собственных API для Android.

PhoneGap

Наконец, последний простой вариант, который вы можете выбрать для разработки Android-приложений, — это PhoneGap.

PhoneGap работает на Apache Cordova и позволяет создавать приложения, использующие код, который вы обычно используете для создания веб-сайта: HTML, CSS и JavaScript.

Пришло время, чтобы сделать собственный выбор!

мобильный разработчик / Блог компании RUVDS.com / Хабр

В 2010 году мой друг на день рождения попросил в подарок переводную книгу по разработке под Android. Необычных вещей в этом факте было две: книгу было не достать, а он работал самым простым госслужащим и имел гуманитарное управленческое образование. Я удивился, но книгу достал — привёз из поездки в Москву. Через два месяца после вручения подарка он сидел со мной в кафе и тыкал в экран мобильника, демонстрируя первое приложение, связанное с учётом товара для одной компании — свой первый заказ. Я работал инженером в телекоме и концептуально идею оценил, но не думал, что мобильная разработка будет всюду. Кстати, друг за приложение взял $300, заказчик отпахал на нём два года с лишним. Ну а друг упорно качал скиллы, развивал то самое приложение бесплатно и в итоге стал мобильным разработчиком в огромной компании. 

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

Кто это?

На первый взгляд кажется, что всё просто: мобильный разработчик — это тот, кто разрабатывает программы для мобильных устройств. Всё верно. Но большинство людей не из мира ИТ под мобильными устройствами подразумевают смартфоны и особо продвинутые — планшеты. Но мы-то с вами знаем, что мобильные устройства — это не только наши любимые гаджеты, носимая электроника, но и различные научные аппараты, компоненты исследовательских систем на базе гаджетов, компоненты интернета вещей. Это огромный мир приспособлений, который будет становиться всё больше и больше — мобильные приложения востребованы обычными пользователями, бизнесом, медициной, наукой и т.д. Поэтому профессия мобильного разработчика — это однозначно профессия будущего, во всяком случае ближайших 10-15 лет это точно. 

Где нужен?

Сегодня мобильные разработчики востребованы везде: корпоративные приложения имеют мобильные версии, СМИ имеют мобильные приложения, бизнес активно переводит свои программы лояльности в приложения (у кого из нас нет приложений разного ритейла — от Ленты и Ашана до РивГош и Л’Этуаль) и т.д. Мобильное приложение — гарантия того, что ты будешь оставаться в руках своего клиента, и почти все компании это понимают. Поэтому мобильные разработчики нужны абсолютно везде. Перечислю наиболее перспективные отрасли, на которые можно ориентироваться сегодняшним студентам, желающим выйти в мир мобильной разработки (и вообще всем).

  • Мобильные игры и развлекательные приложения — огромная интересная индустрия, готовая принять разработчиков любого уровня. Мир погряз в играх, поэтому есть спрос на разработку приложений для любого возраста: от самых крошечных детей до взрослых дядек, гоняющих любимые игры на мобильнике.
  • Развлекательно-образовательные приложения, такие как приложения для изучения языков, книг, музыки, путешествий (они скоро вернутся в новом качестве и это будет захватывающе интересно), тренировок и т.д. 
  • Банковские приложения — те мобильные банки, которыми мы пользуемся, это сложнейшие нагруженные системы с особой архитектурой, и они нуждаются в грамотных разработчиках. Да, стажёром в такую продуктовую команду попасть почти нереально, но для миддлов и сеньоров открываются классные перспективы.
  • Приложения электронной коммерции — почти все магазины доступны в виде приложений, и это колоссальная инфраструктура с высокой ёмкостью рынка труда. Думаю, что эта сфера будет развиваться ещё глубже. 
  • Научные и исследовательские приложения. На одном из гугловских DevFest ребята из компании Mera рассказывали о научном проекте по изучению кораллов, в основе которого лежит узел с планшетом на андроиде. Так вот, такие проекты — совершенно особенный тип мобильной разработки для тех, кто хочет быть ближе к научному миру.

Вообще, думается, что пандемия COVID-19 изменит мир и сформируется новый долгосрочный спрос на приложения для удалённого всего на свете, доставок для каждого ресторана и кафе, обучения, спорта и проч. Это повлечёт рост спроса на мобильную разработку и на мобильных разработчиков. Так что, кроме объективной динамики рынка, вмешался форс-мажор, который для мобильной разработки принесёт определённые бонусы. 

Средняя заработная плата

Посмотрим заработную плату на Хабр Карьере — по данным за 2 полугодие 2019 года. 

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

Базовые требования к профессионалу

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

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

  • Android: знание Android SDK, Java, Kotlin, Scala (в меньшей степени), Rest/SOAP, различные API, SQLite и т.д. 
  • iOS: Objective-C, С#, Swift, знание Apple Development Guidelines

Для обеих платформ:

  • знание структур и алгоритмов
  • знание принципов ООП (к которому и относится Java, Objective-C, Swift)
  • понимание принципов дизайна и проектирования мобильных приложений
  • знание сетевых протоколов
  • знание SQL
  • навыки работы с App Store и Google Play
  • навыки работы с многопоточностью (всё чаще)
  • Flutter (бешено растёт популярность)

Кроме этого, в мобильной разработке много стандартов и вам нужно их знать или хотя бы знать, где их найти и как ими пользоваться в реальной практической работе.
Топ-5 востребованных технологий у специалистов по данным «Хабр Карьеры», 2 полугодие 2019 года

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

Важные личные качества

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

  • Профессиональный разработчик должен прежде всего понимать пользователя, разбираться в принципах проектирования интерфейсов, интуитивно понимать UI/UX.
  • Командная работа — важный залог создания полезного и удобного приложения: придётся взаимодействовать с тестировщиками, коммерческой службой, разработчиками веба и десктопа, службой поддержки и т.д. Эта работа скорее для экстравертов.
  • Аналитический склад ума — мобильный разработчик должен обязательно анализировать множество факторов, учитывать их в разработке.
  • Внимание к деталям и высокая работоспособность обеспечат отсутствие багов в приложении и высокую скорость разработки, которая в мобильных приложениях крайне важна из-за интенсивных изменений предпочтений в устройствах, обновлений операционных систем и т.д. 
  • Готовность к непрерывному обучению — гайдлайны постоянно меняются, Google и Apple проводят интересные и полезные мероприятия, поэтому важно успевать «схватить» всю информацию на лету и успеть втащить её в продакшен.

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

Необходимость знания иностранных языков

Вот некоторые ключевые ресурсы для мобильных разработчиков.

Большинство из них на английском языке и без них у вас, как без рук, ничего не получится. Поэтому для разработчика мобильных приложений знание английского языка настоящий must have. К слову, все конференции Google и Apple также проводятся на английском языке. Какой уровень освоения вы выберете — ваше решение, но в целом для уверенного чтения, слушания и понимания однородной технической информации нужен минимум Upper-Intermediate.

Где учиться

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

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

Лучшие книги и средства обучения

Очень сложно рассказать про книги, потому что всё зависит от того, что, на каком языке и для какой платформы вы собрались разрабатывать. Поиском можно найти хорошие подборки — например, на сайте Skillbox (эта и другие ссылки в статье не являются рекламой, просто хорошие материалы).
Ну и конечно, ищите курсы на YouTube, читайте комментарии и приступайте — это один из самых доступных и простых источников обучения. Его можно сочетать со всеми остальными.

Будущее мобильного разработчика

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

Будущее у мобильных разработчиков пока весьма уверенное: сомневаюсь, что мир откажется от мобильных смартфонов и планшетов в ближайшее время, не говоря уже о росте разных видов носимой электроники и IoT. Поэтому развитие программистов этого типа будет выглядеть как пошаговый переход junior — middle — senior — lead. Поэтому скорее важно выбрать отрасль и компанию, в которой этот путь будет пройден.

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

Мифы профессии

  • Мобильные разработчики говнокодеры создают плохой код, не оптимизируют приложения и вообще дилетанты. Здесь речь идёт примерно о такой же ситуации, как с PHP: язык огребает горы хейта из-за того, что в него легко войти и горе-вебмастера написали на нём ну очень много плохих приложений. В мобильной разработке действительно много дилетантов и любителей, что немного портит общую картину. Но распространять выводы на каждого программиста точно не стоит. 
  • Мобильные разработчики мало зарабатывают. Всё зависит от вашего опыта, квалификации и способности решать задачи вашей компании.
  • Мобильная разработка — это недопрограммирование, не труъ. С каких это пор Java, Swift, Kotlin и т.д. — это не труъ?! А если серьёзно, корни этого мифа уходят к готовым конструкторам и универсальным крутым средствам типа Flutter, которые здорово облегчают и ускоряют работу и портируемость приложения. Это так не работает: хорошее приложение без кода и глубокой разработки не получится.
  • В мобильной разработке часто возникают конфликты между разработчиком и заказчиком. Чистая правда, так оно и есть. Решается с помощью сбора требований, чётко прописанного технического задания и поэтапной разработки с тестированием и согласованием в конце каждого спринта.

Главный совет

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

Предыдущие серии «Профессии…»

→ Профессия: тестировщик

→ Профессия: бэкенд-разработчик

→ Профессия: фронтенд-разработчик

→ Профессия: системный администратор

31 совет / Блог компании Alconost / Хабр

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

Я не могу показать вам короткий путь к успеху, но если вы готовы приложить усилия – он ждёт вас.

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

Переведено в Alconost


1. Узнайте получше функционал фреймворков для разработки приложений под Android

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

Если вам нужно закончить вашу игру для Android, прекратите игнорировать функционал SDK, сделайте его своим помощником.  

2. Хватит бояться упустить что-то

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

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

3. Читайте как можно больше кода

Большинство разработчиков не утруждают себя изучением кода, написанного другими разработчиками. В итоге они просто тратят свое время на написание того, что они и так уже знают.

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

Совет: вот хороший ресурс, на котором можно найти лучшие приложения с открытым кодом, для начала.

4. Подумайте об изучении дополнительных языков

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

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

Совет: Здесь можно начать (если вдруг вы этого еще не знаете): JavaScript.

5. Пора изучить шаблоны проектирования Java

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

А еще вам нужно быть на одной волне с другими разработчиками: когда они будут обсуждать шаблоны Factory, Decorator или  Facade, вы будете понимать, о чем идет речь.

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

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

6. Участвуйте в разработке проектов с открытым кодом

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

Даже самый небольшой вклад (такой, как исправление грамматических ошибок в документах) поможет лидеру проекта поддерживать его в рабочем состоянии.

7. Пусть ваша IDE работает на вас

Потратьте больше времени на то, чтобы понять интегрированную среду разработки (IDE), которую вы используете: Android Studio. Ее возможности шире, чем вы можете себе представить. Она предлагает крутой функционал, который многие разработчики не исследуют досконально.   

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

8. Пора структурировать приложение правильно

В основном весь наш написанный код целиком выгружается в Activities или Fragments (я тоже этим грешу), превращаясь постепенно во «всемогущий объект», который практически невозможно поддерживать и тестировать.

Важно подобрать правильный шаблон при проектировании архитектуры вашего приложения, например  MVP (Model-View-Presenter – Модель-Представление-Представитель) или MVVM (Model-View-ViewModel – Модель-Представление-Модель Представления). Разделите логику функционирования приложения, взаимодействие представлений, взаимодействие данных в различные слои, чтобы было проще управлять ими и тестировать их.

Совет: Обратите внимание на эти полезные макеты от Google: они упростят вашу жизнь при проектировании приложений.

9. Изучите стандарты чистого программирования под Android

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

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

Совет: Вот здесь можно начать изучение.

10. Изучите передовой опыт программирования под Android

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

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

Совет: Тут вы найдете ряд наработок, который поможет вам создавать лучшие приложения.

11. Используйте свободное время эффективно – слушайте подкасты

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

Добавляйте в свою жизнь многозадачность – слушайте подкасты по Android.

Совет: Начните с Fragmented Podcasts и Android Developers Backstage.

12. Не усложняйте. Будьте реалистами.

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

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

13. Узнайте что-нибудь про дизайн

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

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

14. Станьте перфекционистом

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

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

15. Постоянство – ключ к успеху

Если вы хотите стать успешным в программировании (или в чем угодно еще в жизни), вам нужно быть последовательным.

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

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

16. Начинайте с малого и постепенно расширяйтесь.

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

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

17. Всегда имейте под рукой площадку для проверки кода

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

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

18. Пишите больше тестов

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

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

19. Переходите на разработку через тестирование (TDD)

Разрабатывайте приложение сразу надежным и эффективным, способным выдержать проверку временем.

Следуйте принципу «красный/зеленый/рефакторинг» при разработке через тестирование (TDD). Сначала напишите тест, который не будет пройден (красный), потом напишите код, который пройдет тест (зеленый),  и в итоге исправляйте и оптимизируйте код (рефакторинг).

«Разработка через тестирование — это способ управлять собственным страхом при программировании. Страх делает вас нерешительным и менее коммуникабельным. Страх заставляет вас избегать обратной связи. Из-за страха вы становитесь угрюмым».  — TDD by Example

20. Настройте хороший механизм для автоматизации релиза

Как разработчик, старайтесь тратить как можно меньше времени на вещи, которые можно автоматизировать, такие как проверка качества приложения и релиз.

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

После того, как все проверки пройдены, вы можете публиковать ваш APK в Play Store или распространять его любым иным образом.

Совет: Изучите возможность автоматизировать публикацию приложения в Play Store посредством этого open-source инструментария.

21. Развивайте навык реактивного программирования

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

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

Совет: Тут можно найти хороший материал по RxJava для Android.

22. Привыкайте использовать Kotlin для программирования под Android

С тех пор, как Google анонсировал анонсировал первоклассную поддержку для языка программирования Kotlin на конференции Google I/O 2017, интерес к нему резко возрос. Этот язык программирования — как глоток свежего воздуха в мире программирования под Android.  

Это шикарная новость для Android-разработчиков, которым надоело программировать на старых, перегруженных и полных ошибок Java-приложениях. Дайте ему шанс, возможно, именно Kotlin вдохновит вас на новые свершения.  

Совет: Оцените это шикарное руководство по Kotlin.

23. Посещайте митапы, больше общайтесь с другими разработчиками

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

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

Совет: Зайдите на meetup.com, чтобы найти интересные вам митапы.

24. Изучите «горячие клавиши»

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

Совет:  Если вы не хотите запоминать «горячие клавиши» по старинке, тут можно найти замечательный плагин, который поможет вам в этом.

25. Старайтесь узнавать как минимум одну новую вещь об Android каждую неделю

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

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

26. Автоматизируйте все, что «съедает» ваше время

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

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

Совет: Обратите внимание на Zapier качественный сервис, который позволит вам объединить и автоматизировать некоторые ваши инструменты, которые вы используете ежедневно.

27. Запускайте две версии Android Studio одновременно

Наиболее важные ежедневные операции совершайте в стабильной версии Android Studio. Но не стоит упускать возможности самых свежих бета-версий Android Studio.

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

28. Периодически пересматривайте чужие библиотеки

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

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

29. Найдите лучшие способы рефакторинга старых кодовых баз.

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

Совет: Эта книга полностью изменила мой взгляд на работу с  унаследованным кодом. Однозначно прочтите ее.

30. Всегда тестируйте приложения на устройствах с низкой производительностью

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

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

31. Купите самый лучший компьютер, какой вы только можете себе позволить

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

Отдайте предпочтение Mac, а не Windows. Вы просто влюбитесь в его простоту и надежность.

Если вы приобретаете MacBook, выберите вариант с самыми лучшими характеристиками. Потом вы будете бесконечно благодарны себе за это решение.

Поделитесь своими советами

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

О переводчике

Перевод статьи выполнен в Alconost.

Alconost занимается локализацией приложений, игр и сайтов на 68 языков. Переводчики-носители языка, лингвистическое тестирование, облачная платформа с API, непрерывная локализация, менеджеры проектов 24/7, любые форматы строковых ресурсов, перевод технических текстов.

Мы также делаем рекламные и обучающие видеоролики — для сайтов, продающие, имиджевые, рекламные, обучающие, тизеры, эксплейнеры, трейлеры для Google Play и App Store.

Подробнее: https://alconost.com

Полезные книги о разработке мобильных игр на Android и iOS / Блог компании Mail.ru Group / Хабр

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

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

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

Android

Hello, Android: Introducing Google’s Mobile Development Platform 4th Edition

C 2010 года живет и обновляется «Hello, Android», начинающая знакомить вас с азами мира этой мобильной платформы. С первой главы книга покажет, как с нулевым багажом знаний создать рабочее приложение: «Hello, World» для Android.

Далее последует пример простейшей мобильной игры Ultimate Tic-Tac-Toe — это симулятор игры в крестики-нолики с несколькими различными режимами. Постепенно добавляя в игру функции, вы научитесь основам разработки под Android: создадите пользовательский интерфейс, сделаете поддержку аудио и видео, добавите графику с использованием 2D и 3D OpenGL, научитесь хранить данные с помощью SQLite, а также узнаете, как публиковать готовое игровое приложение в Google Play.

Learning Java by Building Android Games — Explore Java Through Mobile Game Development

Эта книга также ориентирована на новичков, поэтому вы получите простое и доступное изложение материала о языке Java, его базовых API и ООП. «Learning Java by Building Android Games» ориентирована на то, чтобы научить вас Java по процессу создания игры. Вы будете создавать 4 игры для смартфона и планшета: математическую тестовую игру, игру с памятью в стиле «Саймон» и две игры в ретро-аркадном стиле.

Из книги вы узнаете, как настроить среду разработки Android Studio, создать собственный Android-интерфейс, ввести в игры пиксельную графику, клики, анимацию, звуковые эффекты и многое другое. Да, и еще с нуля выучите Java в степени, достаточной для создания собственных игр.

Beginning Android Games

Книга знакомит с принципами создания базового игрового движка и игр, которые будут работать на разных версиях смартфонов и планшетов. «Beginning Android Games» подойдет не только новичкам, но и опытным программистам — благо, что информации на 714 страницах вместилось много. Обратите внимание, что в примерах кода из книги могут встречаться ошибки — если учиться методом «копировать/вставить», не задумываясь над смыслом происходящего, ничего путного не выйдет.

Android NDK Game Development Cookbook

Относительно короткая (320 страниц) книга о пакете разработки Android NDK (native development kit). Android NDK — это набор инструментов, которые позволяют реализовать на языках С и С++ часть вашего приложения, требующего прямого доступа к ресурсам системы. Android NDK также используется для создания игр.

В книге изложены пошаговые рецепты, помогающие начать разработку мобильных игр, используя Android NDK, а также некоторые популярные библиотеки C++. Фактически, у вас получится создать полноценное мобильное игровое приложение на языке C++.

Вы узнаете, как писать переносимый многопоточный код на C++, использовать свои навыки языка в мобильной разработке, воспроизводить аудиофайлы, использовать OpenGL ES для рендеринга и распознавать жесты. Для книги нужно обязательно иметь хотя бы базовые знания по С/С++.

Книгу написали авторы из России — Сергей Косаревский, занимавшийся мобильной разработкой в SPB Software, Яндексе, Layar и Blippar, и Виктор Латыпов, обладающий опытом разработки компиляторов, драйверов, а также программирования для робототехники.

The Beginner’s Guide to Android Game Development

Вы знаете Java? Ответ на этот вопрос не так и важен. При чтении и изучении материалов этой книги не имеет значения, новичок вы или опытный Java-программист. «The Beginner’s Guide» предлагает достаточно информации, чтобы вы начали делать собственную игру с нуля.

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

Android Game Programming by Example

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

Книга учит созданию простых игровых движков для различных типов игр, внедрению продвинутого AI персонажей, прорисовке игровых объектов, HUD, генерации и воспроизведению звука, бесшовной смене уровней и т.д. Для быстрой и плавной синхронизации кадров используется OpenGL ES 2. К концу книги вы по урокам сделаете три полноценные игры.

Android Design Patterns: Interaction Design Solutions for Developers

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

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

Professional Android 4 Application Development 3rd Edition

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

Вы получите 850-страничное руководство, написанное Рето Майером, одним из ведущих разработчиков Google, которое наглядно демонстрирует возможности Android SDK. Если вы опытный разработчик, то сможете быстро создавать свои игры. Новички сначала освоят интерфейс Android-приложения, а затем пошагово изучат все возможности оси. Большой плюс книги в том, что можно выбрать тот раздел, который интересует больше всего, и читать сразу выбранный фрагмент.

Книга переведена на русский язык.

Mobile Game Development with Unity: Build Once, Deploy Anywhere 1st Edition

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

iOS

Game Development with Swift

Книга начинается со знакомства с лучшими функциями Swift для разработки игр. Затем вы узнаете, как оживить спрайты и текстуры, интегрироваться с Apple Game Center, публиковать готовые игры в App Store и многое другое. Под конец вы сможете создавать свои собственные игры для iOS с помощью Swift и SpriteKit. Вы должны быть знакомы с базовыми концепциями программирования, однако не требуется знаний Swift или знакомства с экосистемой Apple — начинать можно с нуля.

Кроме этой книги можно начать изучение языка с руководства «Swift Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)» или «Swift Essentials — Second Edition». Оба издания дружелюбны к новичкам, и они научат вас основам Swift, вне зависимости от того, как вы будете использовать язык.

Но если вы хотите углубить свои знания в разработке под iOS и вам требуется полное справочное руководство, обратите внимание на книгу «iOS 11 Swift Programming Cookbook: Solutions and Examples for iOS Apps».

Swift 3 Game Development — Second Edition

В 2017 году книга «Swift 3 Game Development» получила обновление и начинается теперь с новых функций SpriteKit и Swift, которые можно использовать для разработки игр. После настройки первого проекта Swift вы научитесь рисовать, анимировать свою игру и добавлять физические симуляции.

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

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

iOS Swift Game Development Cookbook: Simple Solutions for Game Development Problems

Еще одно издание, получившее свежий апдейт. Книга содержит подробные рецепты для управления широким спектром общих проблем разработки игр iOS: от 2D и 3D-математики до SpriteKit и OpenGL — все они пересмотрены для Swift. Вы получаете простые, прямые примеры решений общих проблем, возникающих при программировании игр. Книга касается тем создания и настройки меню с помощью UIKit Detect, методов воспроизведения звуковых эффектов и музыки, различных способов хранения данных, математических сложностей физического моделирования, игрового ИИ, взаимодействия с игровыми контроллерами и внешними дисплеями.

Для этой книги вам потребуются начальные знания в областях iOS-программирования, Swift и Objective-C.

Beginning iOS Game Development

С книги Патрика Алесси многие начинали (и начинают) разработку под iOS. В «Beginning iOS Game Development» для новичков дается архитектура системы iOS, дизайн, анимация, звуки и многие другие элементы, представляющие собой универсальный конструктор, из которого вы соберете собственную игру.

Не требует никакого опыта создания игр для платформы iOS. Книга покажет, как работать со средой Xcode, рисовать с помощью Quartz 2D API, обрабатывать анимацию с Core Animation и звук с помощью Core Audio.

Swift Game Programming for Absolute Beginners

Название говорит само за себя. До начала этой книги Swift можно вообще в глаза не видеть. У вас будет множество уроков по созданию четырех разных игр, от аркады до паззла (Painter, Tut’s Tomb, Penguin Pairs, Tick Tick). В «Swift Game Programming for Absolute Beginners» следуют больше за структурой игры, чем за синтаксисом языка — вы сможете изучить Swift, но в контексте именно игр. Собственно, даже с играми особое знакомство не требуется — книга учит вас, как создавать игры для iOS без какого-либо предшествующего опыта с геймплеем.

Learning Unreal Engine iOS Game Development

Игры на движке Unreal Engine выполнены в самых различных жанрах и, конечно, их адаптировали под мобильную платформу. «Learning Unreal Engine iOS Game Development» учит основам разработки оптимизированных игр под iOS с использованием движка Unreal Engine 4. Книга не фокусируется на создании контента, и показывает возможности движка для 2D-игр, чтобы продемонстрировать концепцию скриптов, которую впоследствии можно применить к созданию собственных 2D или 3D-игр. Это не всеобъемлющий справочник, но если вы хотите с чего-то начать, возьмите на заметку несколько аспектов движка UE 4, которые вы точно будете использовать в дальнейшей работе.

Beginning Swift Games Development for iOS

Книга сфокусирована на работе с игровым 2D движком SpriteKit, оптимизированным для создания игр под устройства от компании Apple. Собственно, самой Apple движок и был представлен еще в iOS 7. Вторая половина книги касается темы разработки 3D-игр с использованием фреймворка SceneKit от Apple и языка Swift.

После изучения книги вы должны получить два готовых игровых приложения… Вот только для начала не лишним окажется знание Objective-C.

Заключение

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

Разработка под Android – Пишем под самую популярную мобильную ОС / Хабр

Довольно часто на разных ресурсах вроде Stack Overflow я вижу вопросы в стиле: “Как стать разработчиком?”, “Какой язык программирования лучше учить?”, “А не поздно ли в IT после 30. И хотя в интернете уже вероятно огромное количество подобных статей, я все же хочу поделиться своей историей и советами, которые как мне кажется, могут помочь ребятам которые хотят в своей жизни попробовать что-то новое, но по разным причинам боятся.

Вкратце расскажу о себе, 3 года назад я понятия не имел, что такое программирование и что это за черная магия за которую готовы создавать такие условия для разработчиков. Я был обычным рабочим в автомастерской. Мне повезло и я познакомился с парнишкой который предложил мне научиться. Я имел упаковку комплексов: “Это не мое”, “Я уже слишком стар для того чтоб войти в IT” (мне тогда было 28), “Для этого надо было заканчивать универ” и т.д. в том же духе. Сейчас я Android разработчик в Tinkoff, участвую в разработке основного приложения банка. В свободное время помогаю некоторым ребятам учиться и в целом доволен своим выбором.

Наверное в любой сфере есть куча страшных слов которыми пугают все вокруг: Сопромат в инженерном деле, Коллоидная Химия, Сольфеджо в музыке, Матанализ и т.д. Так же и в программировании есть “Алгоритмы и структуры данных”, какие-то “Паттерны проектирования” от которых человека незначащего бросает в пот, а еще в добавок все эти мифы о том, что для того чтоб программировать надо знать чуть ли не высшую математику. Короче все эти вещи дико отпугивают людей когда они начинают читать форумы. А еще есть целая гора людей которые это все приправят тем, что вот тебе надо прочесть вот эти 20 томов по 1000 листов нудной теории, рассказы про то что надо уметь писать код чуть ли не в блокноте. В общем большое количество страшных историй которые отбивают все желание начинать.

26 лучших инструментов разработки мобильных приложений в 2020 году

Guru99

  • Home
  • Testing

      • Back
      • Agile Testing
      • BugZilla
      • Cucumber
      • Database Testing
      • 000 ETL
        • Назад
        • JUnit
        • LoadRunner
        • Ручное тестирование
        • Мобильное тестирование
        • Mantis
        • Почтальон
        • QTP
        • Назад
        • 0005000500050005000

          000 RPM 9A SoapUI

        • Управление тестированием
        • TestLink
    • SAP

        • Назад 90 005
        • ABAP
        • APO
        • Новичок
        • Basis
        • BODS
        • BI
        • BPC
        • CO
        • Назад
        • CRM
        • CRM
        • Crystal Reports
        • 0004 Crystal Reports

          0004 QM

        • Заработная плата
        • Назад
        • PI / PO
        • PP
        • SD
        • SAPUI5
        • Безопасность
        • Менеджер решений
        • Successfactors
        • SAP Tutorials

        9000 9000 9000 9000

        9000 9000

      9000 Назад

    • Apache
    • Android
    • AngularJS
    • ASP.Net
    • C
    • C #
    • C ++
    • CodeIgniter
    • СУБД
    • Назад
    • Java
    • JavaScript
    • JSP
    • Kotlin
    • Linux
    • B

    • Kotlin
    • Linux
    • js

    • Назад
    • Perl
    • PHP
    • PL / SQL
    • PostgreSQL
    • Python
    • ReactJS
    • Ruby & Rails
    • Scala
    • 00050004 SQL Server
    • 00
    • 0004 SQL

    • 00
    • UML
    • VB.Net
    • VBScript
    • Веб-службы
    • WPF
  • Обязательно учите!

      • Назад
      • Учет
      • Алгоритмы
      • Blockchain
      • Бизнес-аналитик
      • Сложение Сайт
      • CCNA
      • Cloud Computing
      • COBOL
      • Compiler Design
      • Embedded Systems
      • Назад
      • Ethical Hacking
      • Excel Учебники
      • Go Программирование
      • IoT
      • ITIL
      • Дженкинс
      • MIS
      • Networking
      • Операционная система
      • Prep
      • Назад
      • PMP
      • Photoshop Управление
      • Проект
      • Отзывы
      • Salesforce
      • SEO
      • Разработка программного обеспечения
      • VBA
  • Большие данные

      • Назад
      • AWS
      • BigData
      • Cassandra
      • Cognos
      • Хранилище данных
      • 000500050005
      • DevOps
      • MongoDB
  • .

    разработчиков приложений для Android — бизнес приложений

    INTUZ — глобальная консалтинговая компания в области ИТ. Мы были предпочтительным выбором в качестве партнера по технологическому консалтингу для разработки приложений для малого и среднего бизнеса и стартапов. Имея сертификат AWS, партнер Microsoft, сертификат ISO, INTUZ долгое время работает с клиентами, которые ищут экспертов по разработке приложений для Интернета, мобильных устройств, Интернета вещей, блокчейнов и облачных вычислений. Имея более 10 лет в отрасли, мы предоставляем индивидуальные решения для решения реальных бизнес-задач.

    Платформы: iOS, Android, IoT, BlockChain

    Секторная сфера: Здравоохранение, Финтех, розничная торговля, электронная торговля, производство, электронное обучение, решения по запросу, торговая площадка

    Ключевые клиенты: Bosch, Mercedes AMG, JLL, HolidayInn, Cambridge Publications и другие.

    Офис в США: 18 Bartol Street Suite # 130, San Francisco CA 9413

    Узнайте больше об Intuz.

    лучших компаний по разработке приложений для Android — обзоры 2020 г.

    Перейти к основному содержанию

    • Поиск
    • Войти
    • Оставить отзыв

    Переключить навигацию

    Фирмы, поставляющие

    • Другие разработчики приложений для Android
      • Все разработчики приложений для Android
      • By Focus
        • Независимые разработчики приложений для Android
      • По всему миру
        • Канада
          • Торонто
        • Индия
        • Великобритания
      • Расположение в США
        • Самое популярное
          • Бостон
          • Чикаго
          • Лос-Анджелес
          • Нью-Йорк
          • Сан-Франциско
        • Все населенные пункты США
    • Прочие категории
      • Реклама и маркетинг
        • Реклама
        • Цифровой маркетинг
        • Маркетинг в социальных сетях
        • Маркетинг мобильных приложений
        • Контент-маркетинг
        • Цифровое полное обслуживание
        • Креативные агентства
        • Брендинг
        • Именование
        • Производство видео
        • Связи с общественностью
        • Медиа-планирование и покупка
        • Цифровая стратегия
        • Электронный маркетинг
        • Входящий маркетинг
        • Исследование рынка
        • Опытный маркетинг
        • Маркетинг мероприятий
        • Программное обеспечение для маркетинга
        • Больше в рекламе и маркетинге
      • Поисковая оптимизация (SEO)
        • SEO
        • Плата за клик
        • Маркетинг в поисковых системах (SEM)
        • Больше в SEO
      • Разработка мобильных приложений
        • Разработчики мобильных приложений
        • Разработчики приложений для iPhone
        • Программное обеспечение для разработки приложений
        • Больше в разработке мобильных приложений
      • Веб-разработка и программное обеспечение
        • Веб-разработка
        • Разработка программного обеспечения на заказ
        • Разработка электронной коммерции
        • Программа для создания веб-сайтов
        • NET разработчиков
        • Разработчики AR и VR
        • Искусственный интеллект
        • Разработчики блокчейнов
        • Разработчики Drupal
        • Разработчики Интернета вещей
        • Разработчики Magento
        • Разработчики PHP
        • Разработчики Ruby on Rails
        • Разработчики Shopify
        • Разработчики WordPress
        • Больше в веб-разработке и разработке программного обеспечения
      • Веб-дизайн
        • Веб-дизайнеры
        • Пользовательский опыт
        • Цифровой дизайн
        • Графический дизайн
        • Дизайн логотипа
        • Дизайн продукта
        • Проект
        • Дизайн упаковки
        • Полиграфический дизайн
        • Больше в веб-дизайне
      • ИТ-услуги и решения
        • Поставщики управляемых услуг
        • ИТ-услуги
        • Консультанты по облаку
        • Бизнес-аналитика и большие данные
        • Кибербезопасность
        • Увеличение персонала
        • Облачные решения
        • Больше в ИТ-услугах и решениях
      • Деловые услуги
        • BPO
        • Услуги голосового центра / колл-центра
        • Телемаркетинг
        • Консультации
        • Бухгалтерский учет
        • Управление персоналом
        • Автоответчик
        • Недвижимость
        • Цепочка поставок и логистика

    .

    Лучшие 50+ компаний-разработчиков мобильных приложений и разработчиков приложений

    19. ChopDawg.com — Празднование 10-летия создания лучших приложений в мире

    Наши результаты 97/100

    О ChopDawg.com: ChopDawg.com считает, что, если агентства не начнут работать как партнеры со своими клиентами, они не будут полностью посвящены успеху своих клиентов с помощью приложения, которое они разрабатывают. С 2009 года ChopDawg.com уже разработал около 300+ современных приложений для стартапов, а также для крупных транснациональных корпораций по всему миру.Они преуспевают в разработке стратегии и предоставлении своим клиентам четкой дорожной карты для эффективного приложения, а также в предоставлении уникальных дизайнов, которые их выделяют. Их работа включает известные приложения для мороженого, такие как Mister Softee, образовательное приложение для Вашингтонского университета и приложение для социальных сетей Buddy Project. Они следят за обновлениями последних мировых технологий и добавляют все это в ваши приложения, чтобы добиться огромного успеха.

    »Ключевые клиенты: Mr. Softee, Jurvo, Payload, Rhodes 101, Six Flags, SpotScore, Вашингтонский университет, Bizze, Флинн О’Хара, Monsoon, Buddy Project, Knovi, Hilton, Wawa, Siemens, Jurvo, Sprouts, Phindre, Zenvst, Big Pipe, Rhodes 101, Workshop It, SpotScore, PawPass, Light Bulb Finder, Treasurebee, Dissolve, Greenskeeper, Citizen’s Cafe

    »Специальности: Разработка мобильных приложений, стратегия продукта, прототипирование и демонстрация, пользовательский интерфейс Дизайн, значок приложения, логотип и дизайн брендов, Разработка веб-приложений, Разработка носимых приложений, Разработка электронной коммерции, Разработка приложений AR / VR, Разработка ИИ, ICO и криптовалюта, Контроль качества и тестирование продуктов

    «Я тесно сотрудничал с Команда Chop Dawg во время производства нашего продукта и вместе мы смогли объединить мои идеи с их компетентными советами.Было приятно работать с компанией, которая поняла потребности моей некоммерческой организации и произвела конечный продукт, частью которого я действительно горжусь ». — Кармель Ульбрик

    Сфера услуг

    • 60% Разработка мобильных приложений
    • 10% Разработка ботов
    • 30% Прочие услуги

    » Год основания: 2009

    » Размер компании: 11-50

    » Минимальный размер проекта: 25 000 долларов США +

    » Почасовая ставка: 100–149 долларов США в час

    » Электронная почта: Hello @ ChopDawg.com

    » Телефон: (800) 490-1476

    » Место нахождения: США

    .

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *