Общие характеристики ОС Android
Android - операционная система для мобильных устройств (планшетов, смартфонов), разрабатываемая компанией Alphabet (Google).
Возникнувший как самостоятельный стартап программиста Энди Рубина и его компаньонов в 2003 г., проект был приобретен Google в 2005 г. Корпорация, в отличие от Apple, изготавливающей свои смартфоны и планшеты полностью, выполняет в этом проекте две функции:
- разрабатывает операционную систему;
- предоставляет инфраструктуру (магазин приложений Google Play, IDE Android Studio, документацию для разработчиков и т.д.).
Аппаратную часть, на которую по лицензии устанавливается ОС Android, предоставляют сторонние производители (Samsung, HTC, Sony, Motorolla, Lenova и др.).
В связи с тем, что Android интенсивно развивается, от версии к версии меняются и подходы к программированию устройств. В настоящий момент (2019 г.) актуальной является версия 10.0.
Рисунок 1. История версий Android. Автор24 — интернет-биржа студенческих работ
Особенности разработки приложений для Android
Для разработки приложений для ОС Android чаще всего используется IDE Android Studio, которую можно свободно загрузить на персональный компьютер с официального сайта.
В качестве языка для написания приложений для Android изначально был выбран Java с сильно измененным по сравнению со стандартной комплектацией набором библиотек, что вызывало в свое время множество судебных разбирательств с компаниями Sun Microsystems и Oracle. В последнее время популярным языком для программирования Android-приложений стал Kotlin (разработка программистов компании JetBrains из Санкт-Петербурга).
В отличие от обычных настольных приложений, программы для Android имеют не одну, а несколько т.н. точек входа. Это связано с там, что приложение может быть запущено не только щелчком по иконке, но и вызвано из другого приложения или операционной системой при наступлении определенного события. Компоненты, каждый из которых имеет свою точку входа, называются активностями. Они связаны друг с другом каналами для передачи сообщений (intents).
Еще одной особенностью Android-приложений является то, что они, будучи запущенными на различных устройствах, могут вести себя несколько по-разному, в зависимости от размера экрана, наличия тех или иных устройств (дополнительных видеокамер, например) и т.п.
Несколько нетипична и установка приложений на устройства. Приложение редко устанавливается из файла (файлы имеют расширение apk и представляют собой особым образом упакованный байткод Java). Основным способом установки является интернет-магазин Google Play, который присутствует в качестве отдельного приложения на любом Android-устройстве.
Процесс разработки простого Android-приложения
Рисунок 2. IDE Android Studio. Автор24 — интернет-биржа студенческих работ
Для создания Android-приложения следует, установив Android Studio, создать новый проект из соответствующего пункта меню. В появившемся диалоге следует заполнить:
- название приложения;
- имя Java-пакета, в котором будут храниться байткод и ресурсы (картинки, звуки и т.п.);
- язык разработки (выбирается из списка);
- при необходимости - некоторые другие опции, такие, как нестандартный путь к каталогу разработки.
После создания проекта можно редактировать файл MainActivity, в котором уже будут подготовлены необходимые поля, методы, комментарии и т.п.
Редактирование файла. Автор24 — интернет-биржа студенческих работ" />
Рисунок 3. Редактирование файла. Автор24 — интернет-биржа студенческих работ
Пользовательский интерфейс при Android-разработке описывается не в виде Java-кода, а на особом языке разметки из cемейства xml (activity_main.xml). В еще одном принадлежащем проекту файле - AndroidManifest.xml описываются характеристики приложения и его компонентов. В состав проекта входят и некоторые другие файлы.
С помощью меню проект можно откомпилировать и запустить в эмуляторе, который покажет, как приложение будет выглядеть на том или ином мобильном устройстве.
Языки разработки для Android
Java
Java - традиционный язык для разработки Android-приложений. Его преимущества:
- кроссплатформенность; можно использовать разрабатываемые компоненты не только для мобильных устройств, но и в других средах, поскольку программы на Java обладают высокой независимостью от ОС и процессорных архитектур ("написано однажды - работает везде");
- мощное комьюнити; за долгие годы развития Java сформировалось большое количество онлайн-сообществ (на GitHub, Stack Overflow и т.п.), появилось много документации, курсов, самоучителей; всё это помогает программисту найти ответы на возникающие в процессе разработки вопросы;
- ресурсы: Java предоставляет готовые решения (библиотеки, SDK) для решения многих стандартных задач (связь с базами данных, обработка файлов различных форматов, реализация сетевых протоколов и т.п.).
Kotlin
Kotlin - сравнительно новый язык, но он уже официально поддерживается Google и другими крупными компаниями. Kotlin базируется на инфраструктуре Java, поэтому хорошо совместим со средой разработки Android-приложений. Его преимущества:
- улучшенная производительность;
- легкость установки; Kotlin уже не является экзотикой и встраивается в популярные SDK;
- обратная совместимость версий;
- простота изучения.
Недостатки:
- невысокая скорость компиляции;
- меньшее количество ресурсов поддержки;
- относительная редкость специалистов.