Я не могу найти четкого ответа на этот вопрос в Google, и вся документация и образцы, которые я видел для Jetpack, похоже, относятся к Kotlin и используют его.
Но ОБЯЗАТЕЛЬНО ли вы используете Kotlin, чтобы использовать Jetpack? Или Jetpack можно использовать с традиционными программами Java?
Я смотрел на Kotlin, но он добавляет почти 1 МБ к размеру вашего приложения. И поскольку размер всего моего приложения в настоящее время составляет всего около 200 КБ, я не думаю, что Kotlin стоит увеличивать размер моего приложения на 500%!
Java и Kotlin совместимы.
@ ArchieG.Quiñones, вы имеете в виду, что Kotlin - это разновидность Java?
@JasonStack Kotlin - это не разновидность Java. Основная причина, по которой они совместимы, заключается в том, что они оба компилируются до байт-кода.
Jetpack - это набор библиотек, а также руководство о том, как Google рекомендует создавать приложения для Android. Все эти библиотеки имеют API Java, поэтому вам не нужно переходить на Kotlin, чтобы использовать какой-либо из них. Оба языка по-прежнему полностью поддерживаются для разработки под Android.
Что касается размера APK, это правда, что Kotlin определенно его увеличит. Трудно сказать, насколько он будет больше, но Proguard должен удалить большую часть стандартной библиотеки, которую вы в конечном итоге не используете, чтобы она могла быть намного меньше, чем целый МБ. Вот - статья, в которой сравниваются размеры APK-файлов Java и Kotlin практически пустого приложения Hello world. Например, было обнаружено, что увеличение составляет всего 11 КБ. Так что, если вы не находитесь на рынке, где это чрезвычайно важно, вам, вероятно, удастся использовать Kotlin.
Что еще более важно, переход на Kotlin - это больше, чем просто извлечение библиотеки - это новый язык, который нужно изучать, а это значит, что вам нужно приложить определенные усилия, и он может многое изменить в том, как вы пишете свои приложения. Вам следует больше изучить язык и посмотреть, нравится ли вам то, что он предлагает.
Цитата Документация Android
Jetpack is a collection of Android software components to make it easier for you to develop great Android apps. These components help you follow best practices, free you from writing boilerplate code, and simplify complex tasks, so you can focus on the code you care about.
Jetpack comprises the androidx.* package libraries, unbundled from the platform APIs. This means that it offers backward compatibility and is updated more frequently than the Android platform, making sure you always have access to the latest and greatest versions of the Jetpack components.
Нигде в документации вы не найдете что-то, что говорит о том, что использование Kotlin требуется для разработки Jetpack. Кроме того, если вы откроете Android Studio 3.2 (в настоящее время бета 5), в диалоговом окне «Новый проект» вы увидите возможность добавить поддержку Kotlin, как и в предыдущей версии Android Studio, так что вы будете в полном порядке работать с Java без установите этот флажок.

Но затем на домашней странице Jetpack говорится о таких вещах, как «Компоненты могут быть индивидуально адаптированы, но созданы для совместной работы, используя преимущества языковых функций Kotlin, которые делают вас более продуктивными», подразумевая, что это действительно зависит от Kotlin. Приятно знать, что это не так.
Пользователи Kotlin получают некоторые дополнительные API, которые стали возможными благодаря функциям языка Kotlin, но для них нет дополнительных функций - они просто получают немного другой синтаксис для вызова одних и тех же реализаций.
Вы просто получаете больше синтаксического сахара, когда используете kotlin вместо java, но они имеют ту же функциональность, и вы даже можете использовать их hybird.
Также Android Jetpack великолепен, он не должен ограничиваться языком. Хотя андроид-подсолнух - официальное демонстрационное приложение Android Jetpack, написанное на Kotlin, его все же можно реализовать с помощью java. Для поддержки Android Jetpack я перевел все реализации kotlin на Java и добавил модуль [app-java] в качестве Java-версии приложения android-sunflower, пожалуйста, ознакомьтесь с Android-подсолнечник-Java.
нет, вам не нужен котлин - вы можете использовать java с реактивным ранцем