
На конференции I/O 2017 Kotlin стал официально поддерживаемым языком программирования для Android, а в прошлом году Google рекомендовал разработчикам использовать его вместо Java. Приложение Google Home переходит на Kotlin, и конечные пользователи ощущают снижение количества сбоев.
Кейс Google Home был представлен в рамках недели «Языки» серии «11 недель Android». По состоянию на прошлый месяц, 30% кодовой базы приложения для умного дома (которая насчитывает «более миллиона строк кода») написано на Kotlin, и теперь этот язык «рекомендуется для всех новых функций».
Используя Kotlin, команда хотела сделать свое «программирование более продуктивным» и воспользоваться современными функциями. Переход привел к сокращению «объема необходимого кода по сравнению с эквивалентным кодом на Java».
Один из примеров — использование классов данных и плагина Parcelize: класс, который на Java занимал 126 строк ручного кода, теперь может быть представлен всего 23 строками на Kotlin — сокращение на 80%.
Тем временем, переход на Kotlin привел к сокращению наиболее распространенного типа сбоев в приложении Google Home на 33%:
Поскольку Kotlin может включать nullability (возможность нулевых значений) в язык, можно избежать сложных ситуаций, например, когда несогласованное использование аннотаций nullability в Java может привести к пропущенной ошибке. С тех пор как команда начала миграцию на разработку новых функций с использованием Kotlin, они отметили снижение NullPointerExceptions на 33%.
Команда также постепенно добавляет библиотеки Jetpack для замены специально разработанного кода, тем самым уменьшая потребность в обслуживании шаблонного кода.
Их интеграция позволила команде консолидировать и заменить собственные решения, иногда даже одной библиотекой. Поскольку библиотеки Jetpack помогают инженерам следовать лучшим практикам и быть менее многословными (например, используя Room или ConstraintLayout), читаемость также повысилась. Команда считает многие из новых библиотек Jetpack «обязательными», включая ViewModel и LiveData, обе из которых широко используются в кодовой базе Google Home.
Сегодня Google также запустил бесплатный онлайн-курс «Основы Android на Kotlin», предназначенный для «людей без опыта программирования».
В этом пятимодульном курсе вы изучите основы создания Android-приложений с использованием языка программирования Kotlin и разработаете набор простых приложений, чтобы начать свой путь в качестве Android-разработчика.