Tproger: Java vs Kotlin для Android-разработки: 6 ответов «за» и «против»

Когда в мае 2019 года компания Google объявила Kotlin предпочтительным языком для Android-разработки, споры по выбору языка разгорелись с новой силой. С одной стороны, всё просто: писать нужно на том языке, на котором удобно лично вам. Но нельзя отрицать и ряд факторов, которые способны склонить чашу весов в пользу Java или Kotlin.

Мы составили свой список плюсов и минусов каждого языка, опираясь на факты и мнения опытных разработчиков.

1. Возраст языка

Java

Большое комьюнити, много библиотек, решений и готовых модулей. Грубо говоря, если разработчик сталкивается с какой-то проблемой, он может быстро получить ответ на свой вопрос.

Kotlin

А вот в случае с Kotlin всё наоборот. Молодость языка и связанных библиотек, таких как Kotlinx.Serialization или Exposed, заставляет потратить немало времени на поиск решений. К тому же, документация языка часто сводится к объяснениям в духе «это сделано как на Java, только тут нужно немного поменять».

2. Количество кода

Java

Да, синтаксис Java предполагает, что код будет более громоздким, чем в Kotlin, а потому написание займёт больше времени.

Хоть эти языки внешне очень похожи, но вместе с тем и сильно отличаются друг от друга. Вот пример того, как без библиотек происходит присвоение текста полю:

Java

final TextView helloTextView = (TextView) findViewById(R.id.text_view_id);

helloTextView.setText("Some text");

Kotlin

helloTextView.text = "Some text"
Артём Борисовский, Android Developer компании IDAP

Kotlin

Kotlin позволяет написать то же самое, что и Java, используя меньшее количество строк (Extensions, Null Safety, Data Classes). Отдельно стоит отметить работу с UI: благодаря Android Extensions больше не нужно заниматься бойлерплейтом с findViewById.

Евгений Павлов, инженер-программист компании «Рексофт»

3. Что выбрать на старте Android-разработки

Java

Сегодня для разработки под Android лучше всего подойдёт именно Kotlin. Но если вы начинающий программист, то на старте лучше выбрать Java: этот язык более старый, и можно легко найти информацию о том, как решить ту или иную проблему. Не стоит также забывать, что Kotlin — это обёртка над Java, и в процессе компиляции он конвертируется в байт-код Java.

Артём Борисовский, Android Developer компании IDAP

 

Сейчас трудно представить Android без Kotlin, но документация Kotlin подразумевает, что вы знаете Java, поэтому, если вы только начали свой путь в Android-разработчики, лучше начать изучение именно с Java, а после переходить на Kotlin.

Евгений Павлов, инженер-программист компании «Рексофт»

Kotlin

Вы можете начать изучение Kotlin без знания Java. Но Kotlin всё ещё использует JVM и не является полноценной альтернативой, хотя и занимает определённую нишу в Android-разработке. Если же вы всё-таки намерены выбрать Kotlin, лучше начать изучение с оглядкой на Java или вообще учить оба языка одновременно.

4. Среда разработки

Java

Разработка приложений для Android давно и тесно связана с Android Studio. Данная среда изначально была заточена под работу с Java, а потому код можно писать буквально по одной букве — IDE самостоятельно подтянет всё необходимое.

Kotlin

Так как Android Studio базируется на Intellij Idea, а Intellij Idea и Kotlin созданы и развиваются компанией JetBrains, то в итоге разработчики получают актуальную среду разработки, тесно связанную с языком программирования, что очень упрощает разработку приложения.

Евгений Павлов, инженер-программист компании «Рексофт»

5. Для каких целей выбирается язык

Java

Большинство существующих Android-приложений написаны на Java, и надеяться, что их перепишут на Kotlin, не стоит. А поскольку UI операционной системы Android разработан на Java, у этого языка есть SDK и много готовых библиотек, так что ряд компаний всё так же отдаёт предпочтение Java.

Kotlin

Если приложение имеет долгий срок жизни (например мобильный банк), и вопрос о кроссплатформенной разработке даже не стоит, то мы считаем оптимальным вариантом Kotlin. Он полностью совместим с Java, то есть в рамках одного проекта можно использовать оба языка. Если сравнить с Java старых версий (7 и старше), Kotlin имеет кучу новых фишек, которые делают написание кода проще. При этом Kotlin не зависит от версии Android так, как Java 8.

Дмитрий Немов, руководитель разработки компании mobile.SimbirSoft

6. Перспективы

Java

Современные компании всё чаще разрабатывают мобильные приложения на Kotlin. Но также можно встретить специфическую библиотеку, которая работает только с Java, и если вы не знаете этот язык — вам придётся нелегко.

Артём Борисовский, Android Developer компании IDAP
Кроме того, Kotlin — молодой язык, и неизвестно, что будет дальше, в то время как Java характеризуется кроссплатформенностью: на ней не только мобильная разработка держится, но и бэкенд с десктопом.

Kotlin

Сейчас Kotlin развивается достаточно предсказуемо и ориентирован именно на Android-разработку. Его всё чаще выбирают молодые компании, которые берут старт в создании мобильных приложений, и сейчас наблюдается нехватка Kotlin-разработчиков, а потому язык весьма востребован. Вряд ли в обозримом будущем он заменит Java, но вполне может сосуществовать, постепенно набирая популярность.

Источник: статья на Tproger

ЕЩЕ НОВОСТИ

Меню