Как сделать мобильное приложение
Содержание:
- Как управлять приложением и наборами App Bundle
- Чем занимается Android-разработчик
- Выбор документов на мобильном устройстве (iOS)
- Почему Android, а не iOS?
- Сборщик приложения – Gradle
- Карьерный рост и перспективы профессии
- Второй курс (закрытая зона)
- Рекомендации по проектированию
- «Быстрый старт в разработке Android-приложений» от Coursera
- Udacity
- Тонкая настройка
- Импорт файлов
- Деббагинг на реальном устройстве
- Структура проекта Android
- С чего начать разработку своего приложения?
- Немного истории: предсказание Джобса и революция мобильной разработки
- Какие инструменты использует Android-разработчик?
- Инструменты Android-разработчика
- Как всё это изучают
Как управлять приложением и наборами App Bundle
Для создания и загрузки APK-файлов, оптимизированных для разных конфигураций устройств, в Google Play используются наборы Android App Bundle. Так разработчикам удобнее распространять приложения на всех поддерживаемых устройствах — достаточно создать, подписать и загрузить всего один набор. Все остальное автоматически выполнят системы Google Play.
Тщательно выбирайте названия пакетов: их нельзя изменить, удалить или использовать повторно.
У выпуска может быть один из трех статусов:
- Черновик. APK-файлы, ещё не опубликованные для пользователей.
- Активно. Файлы APK, доступные пользователям в данный момент.
- Перемещено в архив. Ранее активные файлы APK, которые больше не доступны пользователям.
Поиск APK-файлов
Вот как найти свои наборы App Bundle и APK-файлы:
- Откройте Play Console и перейдите на страницу App Bundle Explorer (Выпуск > App Bundle Explorer).
- В правом верхнем углу страницы App Bundle Explorer находится фильтр версий. Его можно использовать вместе с вкладками Сведения, Скачиваемые файлы и Загружаемый контент, чтобы проверить работу различных версий и конфигураций APK-файлов вашего приложения на разных устройствах.
Примечание. В старой версии Play Console функции этого фильтра были доступны на странице «Библиотека объектов».
Подробнее о том, как проверить наборы Android App Bundle с помощью App Bundle Explorer…
Ограничение размера
В Google Play установлено ограничение размера сжатых APK-файлов на момент их скачивания на всех поддерживаемых устройствах.
Когда вы загружаете набор App Bundle, Play Console с помощью инструмента gzip определяет примерный размер приложения при скачивании. Поскольку в Google Play используются современные инструменты сжатия, размер скачиваемого приложения обычно меньше, чем в прогнозе Play Console.
Действуют следующие ограничения:
- 150 МБ – максимальный размер сжатых скачиваемых APK-файлов для одного устройства, сгенерированных из наборов App Bundle. Размер самого набора может быть намного больше.
- 100 МБ – максимальный размер сжатого скачиваемого APK-файла для приложений, опубликованных в формате APK (применимо только к приложениям, созданным до августа 2021 года).
Настройка функции подписания приложений в Google Play
На устройство Android можно установить только те приложения, которые имеют сертификат цифровой подписи. Более подробно об этом рассказано на сайте для разработчиков Android. При создании первого выпуска вы сможете настроить функцию подписания приложений в Google Play. Это позволит вам решить, какой ключ подписи должно использовать приложение – созданный Google или выбранный вами.
Требования к версиям приложений для Play Console
В манифесте любого набора App Bundle и APK-файла есть код версии (параметр ), который увеличивается с каждым обновлением приложения.
Чтобы приложение можно было загрузить в Play Console, значение параметра не должно превышать 2 100 000 000.
При выборе значения для набора App Bundle помните, что с каждой последующей версией оно должно увеличиваться (но оставаться ниже максимального значения).
Примечание. Подробную информацию об управлении версиями приложения можно найти на сайте для разработчиков Android. Требования к нумерации версий в Android () отличаются от требований Play Console.
Требования к целевому уровню API для Play Console
В манифесте любого приложения есть целевой уровень API (параметр ), который указывает оптимальную версию Android.
Настройка приложения на новый целевой уровень API повышает безопасность и производительность, при этом позволяя работать в более старых версиях Android (до ).
Перед загрузкой набора App Bundle убедитесь, что он соответствует требованиям Google Play к целевому уровню API. Текущие и будущие требования перечислены ниже.
Требование к уровню API | Дата вступления в силу |
Android 8.0 (API уровня 26) |
|
Android 9 (API уровня 28) |
|
Android 10 (API уровня 29)* |
|
Android 11 (API уровня 30)* |
|
*Требования об API уровня 29 и 30 не относятся к приложениям для Wear OS.
Как только эти требования вступят в силу, в Play Console нельзя будет загрузить новые наборы App Bundle с более ранними целевыми уровнями API.
Совет. Технические рекомендации о том, как изменить целевой уровень API в соответствии с требованиями, можно найти в этом руководстве.
Чем занимается Android-разработчик
Создаёт приложения и поддерживает их работу, — в частности:
разрабатывает интерфейс, логику и внутреннюю структуру приложений;
организует удобную навигацию между экранами;
продумывает, как будет вести себя приложение, если поступил звонок или SMS;
пишет код;
оптимизирует приложение: чем меньше ресурсов оно потребляет при работе, тем дольше гаджет проживёт без подзарядки;
обеспечивает безопасность: устраняет уязвимости и защищает данные пользователя
Это особо важно для банковских и финансовых программ;
тестирует приложение на разных этапах разработки;
создаёт внутреннюю документацию и мануал для пользователей;
загружает готовый продукт в Google Play;
изучает пожелания пользователей и готовит обновления.. Эти обязанности обычно распределяются между членами команды
Например, за интерфейс и логику часто отвечают дизайнеры, но бывает и так, что всем занимается один программист
Эти обязанности обычно распределяются между членами команды. Например, за интерфейс и логику часто отвечают дизайнеры, но бывает и так, что всем занимается один программист.
Выбор документов на мобильном устройстве (iOS)
При внедрении мобильного приложения, имеющего в своём функционале работу с файлами, возникла необходимость прикреплять к документам не только фотографии из библиотеки мультимедиа или тут же созданные фотографии, а документы (pdf, doc, xlsx, и др.). В операционной системе iOS файловая система скрыта для пользователя и взаимодействие с файлами осуществляется средствами самого приложения и только с файлами, расположенными в директории приложения (контейнере приложения). Т.е. задачей было поместить файлы в директорию приложения и организовать взимодествие с этим каталогом.
1 стартмани
Почему Android, а не iOS?
Мобильная разработка ведётся на двух самых популярных платформах: Android и iOS. И здесь начинается настоящий холивар. Объясню, почему я когда-то сделал выбор в пользу Android.
- Порог входа на Android ниже, чем на iOS — как для пользователя, так и для разработчика. Телефон на Android можно купить за $50 или даже дешевле. Сколько там стоит новый айфон? Разработчик может даже не покупать девайс, чтобы работать над приложением. Можно обойтись Android-эмуляторами на компьютере. Когда-то я так и начинал.
- Android широко используют не только на смартфонах, но и в «умных» вещах (IoT): от автомобилей до «разумных» утюгов и стиральных машин.
- Мир Android очень сложный и разнообразный. У айфона всего пару десятков моделей, Android-девайсов — тысячи. Интересно знать, что твоим приложением будут пользоваться на тысячах разных устройств! Слова «оптимизация» и «перформанс» всё ещё не забыты в Android-разработке. Миллионы людей в Африке и Азии используют супер-дешёвые девайсы, и твоё приложение должно стабильно работать на любом «китайфоне». Мир Android-девайсов постоянно подкидывает тебе новые вызовы и новые задачи. Конечно, это не только интересно, но и сложно: надо быть всегда готовым, что приложение перестанет работать на очередной нетипичной модели смартфона.
- Android — это open-source платформа. Код, на котором она написана, доступен для каждого. Всегда можно заглянуть поглубже и узнать, каким образом разработана и функционирует сама система.
Сборщик приложения – Gradle
Как вы могли догадаться, приложение не поступает в Google Play в таком разрозненном виде. Обилие файлов Android Studio нужно упаковать во что-то удобоваримое и запускаемое на смартфонах.
Для этого в AS разработчики Google предусмотрели утилиту Gradle. Она работает как сборщик разных частей приложения и собирает их в единый пакет, который потом можно скачать из интернета и установить на Android-устройство.
Вам нужно знать о Gradle то, что у него есть конфигурационный файл build.gradle. В нем нужно указать зависимости проекта (если вы используете сторонние программные библиотеки для добавления продвинутых функций в вашу программу, недоступных в AS по умолчанию).
Запустить Gradle можно следующим образом:
-
Кликаем по меню Build в верхней части окна.
-
Выбираем свой проект и ждем.
Карьерный рост и перспективы профессии
В Android-разработке, как и везде в IT, новичок начинает с позиции Junior, затем прокачивает скиллы и становится Middle. Через несколько лет может претендовать на позицию Senior, а наиболее успешные дорастают до тимлидов.
С 2016 года в СМИ ходили слухи, что Google скоро заменит Android новой операционной системой Fuchsia — и Android-разработчики останутся не у дел. Всё прояснилось в 2019 году на конференции Google I/O: руководитель направления Android Хироши Локхаймер заверил, что компания не собирается отказываться от Android для смартфонов. Fuchsia будут применять в умных домах, носимой электронике и устройствах дополненной реальности.
Второй курс (закрытая зона)
Люди, не пишите в письме «Доброго времени суток«. Пишите просто — «Здравствуйте» или «Добрый день (утро, вечер)». Обещаю, что не обижусь, если утром прочитаю ваше письмо со словами «Добрый вечер!». Уважайте русский язык.
- Викторина о котах
- Секундомер — изучение жизненного цикла активности
- Текст вдоль окружности на градиентном фоне
- Создаём собственный элемент View
- Настраиваем свой заголовок у приложения
- Разрешения в Android
- Внутреннее хранилище
- Файловый менеджер
- SD-карта
- GPS
- Геолокация
- Виджет на домашний экран
- Сетевая поддержка
- Google Maps Android API v2. Знакомство
- Музыка нас связала
- Видео
- Если я заменю батарейки
- Работаем с Bluetooth
- Сказка о потерянном времени — работаем с датами и временем
- Продвинутый WebView
- Датчик освещения
- Датчик расстояния
- Температурный датчик
- Работаем с локалью
- Работаем с Wi-Fi
- Эти наглые рыжие морды — Распознавание лиц
- Диктофон — делаем запись с микрофона
- SMS
- SMS и MMS для KitKat
- Alarm Service — сигнализация
- Тональный набор — класс ToneGenerator
- Visualizer
- Equalizer
- Вложенные фрагменты
- Шаблон Scrolling Activity
- Собственный элемент меню
Рекомендации по проектированию
Пользователи устройств хотят, чтобы приложения выглядели и обвели себя определенным образом… будь то прокрутка или касание или использование элементов управления голоса, пользователи будут иметь определенные ожидания для того, как должно выглядеть приложение и как его использовать. Эти ожидания должны оставаться согласованными, чтобы сократить путаницу и недовольство. Android предлагает руководство по этим платформам и ожиданиям устройств, объединяющее конструкцию Google материала для визуальных элементов и шаблонов навигации, а также рекомендации по качеству совместимости, производительности и безопасности.
Дополнительные сведения см. в документации по разработке для Android.
система Fluent Design для Android
Кроме того, корпорация Майкрософт предлагает рекомендации по проектированию с целью обеспечения бесперебойной работы по всему портфелю мобильных приложений Майкрософт.
и создания собственных приложений android, которые по-прежнему являются уникальными Fluent.
- Набор инструментов для создания эскизов
- Набор инструментов Figma
- Шрифт Android
- Рекомендации по пользовательскому интерфейсу Android
- Рекомендации по значкам приложений Android
«Быстрый старт в разработке Android-приложений» от Coursera
- Длительность: 19 академических часов
- Сертификат: да
- Формат обучения: видео, текстовые материалы, тесты
Программа обучения
Первая из трёх частей обширного курса по разработке приложений на ОС Android.
Из неё пользователи узнают базовые элементы работы с Java, что поможет при дальнейшем обучении.
Программа рассчитана на 4 недели, однако вы можете подстроить сроки под себя, повысив или понизив темп работы с материалом.
Партнёрами курса являются: Московский физико-технический институт, компания E-Legion и ФРОО (Фонд развития онлайн-образования).
Автор курса — Марат Тайчинов, с 2015 года работающий в области Android-разработки. За несколько месяцев он прошёл путь от новичка до сотрудника крупной компании. За его плечами призовые места в конкурсах NightHack 2015 и 2016 годов. Именно ему принадлежит работа над этой и двумя следующими образовательными программами. Аналогичная ситуация касается партнёрских организаций.
Плюсы:
- Предоставление сертификата;
- Наличие текстовых материалов и тестов;
- Большое количество партнёрских организаций;
- Положительные отзывы от пользователей.
Минусы:
Udacity
Узнайте, как создать свой первый макет в Android. Это первый курс в программе Android Basics Nanodegree, который ведут специалисты компании Google.
Курс по основам разработки предоставляется бесплатно. Этот курс предназначен для студентов, которые являются новичками в программировании, и хотят узнать, как создавать приложения для Android. Вам не нужно никакого опыта программирования, чтобы пройти этот курс.
К концу этого курса вы узнаете, как построить макет приложения, а затем практиковать эти навыки, сделав приложение для поздравительных открыток.
Есть и платный вариант курса, где с вами все время будут наставники. Получите индивидуальный план обучения, адаптированный к вашей занятой жизни. Учитесь в своем собственном темпе и достигайте своих личных целей по графику, который лучше всего подходит для вас.
Тонкая настройка
Оказавшись в личном кабинете, начинающий автор, сумевший уже создать первое приложение, должен:
Кликнуть по выпадающему списку в верхней панели.
И выбрать в нём свою мобильную программу.
Перейти на расположенную в боковом меню вкладку Edit.
В разделе Basic следует проверить правильность внесённых ранее сведений, попутно пролистывая страницу вниз.
И подключить к создаваемому приложению для Андроида новые модули: онлайн-карту, страницу в Интернете, виджеты социальных сетей и так далее. Если к разрабатываемой программе требуется добавить уже существующий интернет-каталог, следует выбрать кнопку Pages.
И в свободном окошке раздела Tabs добавить текст или ссылки — на магазины, информационные сайты, страницы платёжных систем, мультимедиа и так далее.
Привести данные в приятный для глаза вид поможет панель инструментов в верхней части поля.
А чтобы добавить активную ссылку, разработчику потребуется кликнуть по пиктограмме звеньев цепи.
После чего ввести в соответствующих строках нового окошка мобильного приложения для Android название каталога, ссылку и дополнительное описание.
На двух расположенных ниже палитрах пользователь, желающий создать красивое мобильное приложение для Андроида, может выбрать цвета для заголовка.
И фона кнопки.
По завершении настроек, нажав на кнопку Submit, разработчик увидит.
Что в его программу была добавлена новая вкладка. Любую из имеющихся, кроме того, можно удалить, передвинуть вверх или вниз — в таком порядке они начнут отображаться в готовом приложении.
Теперь следует создать единую систему ссылок на вкладки, то есть оглавление. Выбрав в поле ниже подходящий вариант — можно ориентироваться на эскизы.
И не забыв нажать Save.
Пользователь должен будет определить для каждой из создаваемых кнопок название — как несложно догадаться, имена должны различаться.
И, выбрав для меню фоновое изображение, снова кликнуть Submit.
Почти всё. На вкладке Advanced разработчик может по желанию добавить скриншоты программы — они будут отображаться в описании.
Выбрать тип меню (слайдер или панель управления), изменить название установочного пакета и указать, какие разрешения должно получить мобильное приложение для Андроида — в частности, на запись данных на карту памяти и доступ к камере.
Здесь же можно, установив кружочки в положение Yes, добавить в меню программы опцию «Обновить», меню «Настройки», а также разрешить или запретить показывать список загруженных при помощи приложения для Android данных.
В качестве ориентации экрана настоятельно рекомендуется выбрать опцию Auto — тогда конечный пользователь сможет просматривать информацию и в портретном, и в ландшафтном режиме.
Готово? Остаётся нажать Submit — и приступить к заключительному этапу.
Импорт файлов
В разработке приложения под Android важна интеграция с другими ресурсами: изображения, кастомные шрифты, звуки, видео и пр. Эти ресурсы импортируются в Android Studio и помещаются в соответствующие папки, что позволяет операционной системе подбирать корректные ресурсы для приложения. Для нашего приложения Fortune Ball понадобится импорт изображений в папки drawable. В этих папках могут содержаться изображения или специальные файлы XML drawables (т. е. вы можете рисовать формы с помощью XML-кода и использовать их в своих макетах).
В Android Studio перейдите из Android в Project
Откройте папку res (app > src > main). Клик правой кнопки мыши по папке res, выберите New > Android resource directory.
Появится окно под названием New Resource Directory.
Из выпадающего списка Resource type выберите опцию drawable. В списке Available qualifiers выберите Density, затем кликните кнопку, которая выделена на скриншоте.
В следующем окне выберите XX-High Density из списка Density. Кликните OK.
Повторите все, чтобы создать папки drawable-xhdpi, drawable-hdpi и drawable-mdpi. Выберите X-High, high (высокую) и medium (среднюю) плотность соответственно из списка Density.
Каждая папка, у которой есть определитель плотности (i.e. xxhdpi, xhdpi, hdpi), содержит изображения, которые соотносятся с определенной плотностью или разрешением. К примеру, папка drawable-xxhdpi содержит изображение высокой плотности, это означает, что Android-устройство с экраном высокого разрешения извлечет изображение из этой папки. Изображение будет хорошо смотреться на всех устройствах Android, независимо от качества экрана. Больше информации о плотности экранов содержится в документации Android.
Создав все «рисованные» папки, вы можете вернуться к нераспакованному контенту в папке и скопировать (cmd + C) изображение из каждой папки и поместить (cmd + V) в соответствующую папку Android Studio.
Поместив файлы, вы увидите окно Copy. Выберите OK.
Деббагинг на реальном устройстве
Представим, что ваше приложение готово. Вы дописали код и довольны внедренной в утилиту функциональностью. Теперь надо провести тестирование и выявить недочеты в коде. Это можно сделать двумя способами: запустив программу в эмуляторе Андроида прямо в Android Studio или на «живом» устройстве, если такой есть под рукой.
Чтобы запустить написанный вами код на реальном устройстве:
-
Подключаем гаджет к компьютеру с помощью USB-кабеля (в режиме дебаггинга).
-
Потом нажимаем на кнопку Run в верхней панели управления интерфейсом.
-
После этого выбираем пункт Run App.
Graddle быстро создаст сборку программы и запустит ее в тестовом режиме. В этом режиме вся информация о работе программы записывается в журнал событий, отображающийся во вкладке logcat. Если что-то пойдет не так, прочитать о случившемся можно будет именно там. А еще полезная информация о работе с программой (нагрузка на процессор, энергопотребление) отображается во вкладке Monitor.
Структура проекта Android
Если в предыдущем шаге вы выбрали шаблон Empty Activity, то при создании проекта студия сгенерирует и структуру файлов проекта. Так выглядит пустой, только что созданный проект в Android Studio.
Структура проекта
Он содержит 2 корневые папки: app и Gradle Scripts. Папка app включает 3 подпапки: manifests (содержит файлы конфигураций приложения), java (содержит исходный код приложения) и res (содержит файлы ресурсов — картинок, стилей, размерностей и т.д.).
AndroidManifest.xml в папке manifests содержит информацию о пакетах и компонентах приложения. Этот файл важен для работы приложения Android, так как именно в нем прописаны разрешения приложения на использование компонентов системы Android. Также в нем определяется, как будут запускаться компоненты приложения.
В папке java исходные файлы проекта могут содержаться в различных подпапках. Обычно в Android-приложении в папке java также есть определенная структура файлов. В этой статье мы рассматривать ее не будем, так как тема выходит за пределы общей структуры проекта.
В папка res есть несколько подпапок даже при создании тестового базового проекта, и она сильно разрастается при разработке настоящих приложений. Будьте готовы, что файлы в этой папке могут занимать много места на вашем жестком диске.
Рассмотрим подпапки, которые появляются при создании базового проекта:
- Папка drawable содержит файлы с изображениями.
- В папке layout нужно располагать xml-файлы, используемые для создания интерфейса приложения.
- Папка mipmap хранит значки приложения.
- Папка values хранит xml-файлы со значениями строк, цветов, тем, стилей.
Папка Gradle Scripts содержит скрипты для автоматизации сборки проекта.
Папка .idea не видна на скриншоте, но если изменить конфигурацию Android на Project, то она появится. Эта папка нужна для настройки метаданных проекта в Android Studio.
С чего начать разработку своего приложения?
Все документы хранятся в файловом менеджере в левой части интерфейса Android Studio. Там можно найти основной XML-документ, отвечающий за разметку контента в вашем детище.
В нем можно обнаружить такие поля, как <TextView /> или <Button />. Из названий понятно, что одно поле содержит в себе текстовую информацию, а другое является кнопкой, которая может выполнять действия.
Внутри компонентов содержатся свойства, например:, обозначающее ширину окна приложения, или , создающее в окне отдельный элемент с текстом. Менять эти параметры можно как вручную, так и при помощи встроенных графических инструментов, расположенных в панели «Инспектор». Эти изменения все равно в итоге отобразятся в XML-документе.
И это первое, с чем стоит начать знакомиться, тыкая в различные свойства, добавляя новые компоненты и наблюдая, что из этого получается.
Немного истории: предсказание Джобса и революция мобильной разработки
Мобильная разработка в нынешнем её понимании возникла в нулевых, после выхода Java Micro Edition и WAP — урезанной версии доступа в интернет. Люди хотели развлекаться в сети, проверять электронную почту, общаться в ICQ — делать всё то же самое, что и на обычных компьютерах, но со своих мобильных телефонов.
Разработчиков было мало, а под каждую модель телефона приходилось писать отдельную версию программы. Не существовало и удобной системы дистрибуции, хотя идею маркетплейса приложений Стив Джобс выдвинул ещё в 1983 году на международной конференции по дизайну в Аспене.
В выступлении «Будущее уже не то, что раньше» Джобс сравнил распространение программ с музыкальными магазинами: человек приходит, берёт бесплатно демку софта, а потом оплачивает полную версию. Причём всё это удалённо, через телефонную линию с помощью номера банковской карты. «Я пока не знаю, как мы это сделаем, но нам это определённо нужно», — закончил он описание будущего AppStore, который появился только через 25 лет.
Первое время рынок мобильной разработки развивался слабо, но Apple и Google постепенно изменили ситуацию:
- 2007 год — вышел первый iPhone;
- 10 июля 2008 года открылся AppStore;
- 9 месяцев спустя — 1 млрд скачиваний из AppStore;
- 2008 год — появился первый смартфон под Android (через год после iPhone);
- 22 октября 2008 года Google запустил Android Market;
- 2010 год — миллиард скачиваний из Android Market.
Какие инструменты использует Android-разработчик?
- Android Studio. Это официальная IDE (интегрированная среда разработки) для Android, созданная JetBrains и Google. Здесь пишется код.
- Git. Сюда складывается написанный код и здесь хранится.
- Смартфон или Android-эмулятор на компьютере. На них приложение запускается и тестируется.
Сейчас большинство Android-разработчиков пишет код на Kotlin, но ещё пару лет назад все писали на Java. Эти два языка похожи (оба относятся к группе JVM-языков), поэтому переходить с одного на другой несложно. Если совсем просто, то Kotlin — тот же Java, только немного красивей и приятней. Сегодня Kotlin — один из официальных языков для Android.
Инструменты Android-разработчика
Началом массовой разработки под Android считается 2008 год. Тогда появился магазин приложений Android Market (в 2012 его переименовали в Google Play). Здесь разработчики выставляют свои приложения.
Сперва их создавали в среде Eclipse с установленным плагином ADT (Android Development Tools). Этот плагин страдал от брешей в безопасности. С конца 2016 года он больше не поддерживается.
Сегодня официальная среда разработки для Android — это Android Studio. Она появилась в 2013 году и здорово ускорила создание приложений.
Среда Android Studio
Это основной инструмент андроид-разработчика, бесплатный и совместимый со всеми операционными системами. Скачать Android Studio можно с официального сайта.
Среда позволяет разрабатывать приложения на любых компьютерах. Этим Google Android отличается от iOS (Apple хочет, чтобы разработчики покупали маки и кодили только на них).
C Android Studio разработчику даже не нужны собственные гаджеты на Android, ведь там есть быстрый многофункциональный эмулятор и шаблоны для многих устройств (смартфоны, планшеты, часы, смарт-приставки, телевизоры и так далее).
Полный список возможностей Android Studio с описанием каждой смотрите в официальном гайде.
Языки разработки
Под Android можно писать приложения почти на любом языке программирования: C/C++, Assembler, Fortran, Python, JavaScript. Однако есть языки, которые позволяют использовать все возможности мобильной операционной системы и получать моментальный доступ к новым функциям.
Это официально поддерживаемые языки. Для Android таковыми являются Java и Kotlin:
Java — традиционный язык разработки. На нём написано большинство Android-приложений, в том числе онлайн-банки. Это хорошо развитый язык с множеством библиотек, модулей и готовых решений.Кроме того, за языком стоит большое международное сообщество, и если у программиста возникает вопрос по Java, ему легче найти ответ.
Kotlin — молодой язык программирования, который разработала питерская компания JetBrains.Он полностью совместим с Java (джавишный код можно вызвать из Kotlin естественным способом, а котлиновский — использовать в Java без особых сложностей).При этом код на Kotlin крайне лаконичен:
Один и тот же код на Java и Kotlin
В 2019 Google объявила Kotlin приоритетным в андроид-разработке. Похоже, что произошло это из-за долгой судебной тяжбы с компанией Oracle — создателем Java. Oracle уже 10 лет пытается получить с Google несколько миллиардов за нарушение авторских прав. Суды ещё идут, но Google от греха подальше решила перейти на другой язык.
Kotlin удобнее пользоваться, он решает ряд проблем Java, и изучить его можно намного быстрее. А ещё он сразу входит в Android Studio. Так зачем нам учить Java, если уже есть Kotlin?!
Не всё так однозначно (пока что)
Начинающему разработчику важно изучать оба языка, но упор делать всё-таки на Java. Почему?
- Сегодня Kotlin ещё недостаёт готовых решений. Документация языка неполная, поэтому поиск конкретного ответа иногда занимает кучу времени. Чтобы быстрее решить возникшую проблему или даже просто вникнуть во все нюансы документации, нужно знать Java.
- Kotlin активно развивается, разработчики исправляют его недостатки, аудитория языка неуклонно растёт. Новые приложения, особенно небольшие, пишутся на Kotlin. Однако большинство прежних написаны на Java. Их нужно кому-то поддерживать. К тому же многие компании отдают предпочтение Java как языку более развитому и предсказуемому.
- На мобильной разработке свет клином не сошёлся. Такие языки программирования, как Java, C/C++, Swift, очень похожи между собой — и изучение Java позволит быстрее разобраться в других, а вот Kotlin — нет.
Как всё это изучают
Кто-то изучает сам. Есть много книг, мануалов, видеоуроков, форумов, лучшие из которых, вроде введения в Android, как раз на английском языке.
Однако новичку одинаково легко потеряться в учебных материалах и выбрать неудачный порядок знакомства с ними. Поэтому самостоятельное освоение Android-разработки съедает уйму времени, которое лишним не бывает. Вдобавок — страдает от недостатка практики.
Ценители более системного подхода предпочитают онлайн-курсы (например, на edx.org, Coursera.org, Udacity.org). Но и здесь те же проблемы: выбрать подходящий непросто, качество материала и его полнота очень разнятся, гарантий и обратной связи нет, курсов на русском совсем мало. Да и с бесплатностью всё не так однозначно — эти платформы постепенно превращаются в коммерческие, отступая от первоначальной идеи.
Конечно, есть и исключения — образцы доступного качества вроде легендарного MIT. Но к сожалению, у него нет курса для Android-разработчиков.
Такой курс есть у Skillbox. Стартовать с опытными наставниками и постоянной обратной связью гораздо выгоднее. Наши студенты изучают всё на практике, общаются с менторами, создают полноценный проект для портфолио и быстро входят в профессию.