Привет!
В 2003 году инженер-программист Энди Рубин основал компанию Android Incorporated,
которая разработала мобильную операционную систему Android,
а в 2005 году эта компания была куплена Google.
Первый, телефон, который работал на Android,
поступил в продажу в 2008 году, и назывался он T-Mobile G1.
В первой версии Android не было возможности воспроизведения видео,
не было браузера, не было даже виртуальной клавиатуры.
С тех пор прошло много лет, было выпущено множество версий системы, и в каждой
версии добавлялось все больше и больше функционала, так привычного нам сейчас.
Система становилась производительнее, защищеннее,
да и во многом приветливее для пользователя.
Помимо этого, система стала доступна не только для телефонов,
а также охватила широкий круг устройств: от часов до автомобилей.
Давайте немного поговорим о разработке.
В качестве языка программирования для приложений на Android был
выбран язык Java.
Возможно, это произошло из-за широкой известности языка или из-за
меньшего порога вхождения относительно других C-подобных языков.
Но, несомненно, одним из самых главных плюсов стало то,
что язык работает на виртуальной машине, и, как следствие,
приложение не нужно заново компилировать для каждого нового устройства.
В первых Android использовалась шестая версия Java,
с 2013 года Android стал поддерживать седьмую Java,
а начиная с версии Android 7.0 Google добавили поддержку восьмой версии.
Но, к сожалению, устройства не обновляются так быстро, и даже сейчас,
чтобы охватить хотя бы 80 % устройств, необходимо поддерживать четвертый Android.
Соответственно, пока в коммерческих проектах не удается использовать все
возможности восьмой Java.
Однако есть способ использовать новый функционал языка с помощью различных
библиотек.
Весной 2017 года Google объявил об официальной поддержке Kotlin в
качестве основного языка разработки под Android.
Kotlin — это очень мощный JVM-язык,
в котором много новых интересных возможностей, недоступных на Java.
Поэтому Kotlin стал быстро набирать популярность.
Помимо Java и Kotlin на Android можно писать и на других JVM-языках: Scala,
Groovy и прочих.
Но они менее распространены и не имеют широкой поддержки среди разработчиков.
С развитием сообщества все больше и больше стало появляться новых инструментов,
помогающих в разработке.
Появились библиотеки, упрощающие взаимодействие с сервером,
фреймворки для хранения данных, какие-то архитектурные решения.
Так как нам приходится поддерживать старые версии устройств,
ощутимое количество библиотек было направлено на поддержку нового функционала
в старых версиях Android, на так называемую обратную совместимость.
А с выходом гугловской библиотеки AppCompat поддерживать старые устройства
стало намного проще.
Ответы на практически любые вопросы можно найти в официальной документации.
За последние годы она очень сильно преобразилась: прибавила как в качестве,
так и в количестве.
Также есть широко известный Stack Overflow.
Stack Overflow до момента доведения до ума официальной документации считался чуть ли
не единственным весомым онлайн-источником среди разработчиков.
Сейчас таких источников много.
Давайте с ними познакомимся.