Введение в Kotlin для разработки под Android

Этот пост представляет собой введение в разработку Kotlin для Android. Узнайте, чем этот язык отличается от Java, и многое другое.

В течение многих лет Java был единственным официальным языком разработки под Android. В то время как другие варианты были доступны через альтернативные инструменты, такие как Unity или Xamarin, Java с Android SDK по-прежнему был очевидным выбором для тех, кто хотел изучить разработку Android «правильным» способом. Затем появился Kotlin для Android.

Читайте также: Руководство по разработке приложений для Android для начинающих за 5 простых 

Kotlin уже не новинка. По данным Google, по состоянию на 7 мая 2019 года Kotlin был официальным «предпочтительным» языком для разработки под Android. Он был доступен в качестве встроенной функции Android Studio и официального языка для Android еще дольше. Сегодня в руководствах по Android обычно приводятся примеры как на Java, так и на Kotlin, хотя Java-разработчики все еще немного больше поддерживаются (хотя бы потому, что многие старые инструкции еще не обновлены).

Хотя Kotlin теоретически проще, чем Java, многие начинающие мобильные разработчики, вероятно, найдут наличие нескольких языков более пугающим, чем что-либо еще!

Итак, стоит ли использовать Kotlin для разработки под Android? Чем он отличается от Java? Какова кривая обучения? Давай выясним.


Kotlin для разработки под Android против Java

Kotlin во многом похож на Java и работает на виртуальной машине Java. Он на 100% совместим с Java, поэтому при выборе использования Kotlin для разработки под Android не происходит потери производительности или увеличения размера файла. Тем не менее, сам Android построен на Java, а это означает, что SDK содержит множество стандартных библиотек Java, а приложения Java, как правило, немного легче. Процесс сборки также часто немного быстрее в Android.

Kotlin включает некоторые изменения в способе обработки кода. Как правило, Kotlin немного проще читать и с ним легче разобраться, чем с Java. Kotlin требует меньше «шаблонного кода». Это означает, что требуется меньше повторяющегося кода только для реализации основных функций. Во многих случаях две строки кода Java можно сжать в одну строку кода Kotlin.

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

По этим причинам Kotlin представляет собой более легкую отправную точку для многих новых разработчиков Android. И тот факт, что Google теперь предпочитает этот вариант, означает, что вы можете гарантировать, что в будущем язык будет отлично поддерживаться.


Почему вы все еще можете выбрать Java

Это не значит, что разработка Kotlin для Android идеальна.

Хотя Kotlin может быть предпочтительным официальным языком, факт остается фактом: Java используется в качестве основного варианта гораздо дольше — с тех пор, как большинство людей использовали Eclipse IDE для создания своих приложений!

Это означает, что многие крупные приложения в Play Store будут созданы с использованием Java. У этих разработчиков нет большого стимула переписывать свой код на Kotlin, и поэтому они с большей вероятностью наймут разработчиков, знающих Java.

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

Просто: больше людей знают Java, чем знают Kotlin. А поскольку Java так прочно укоренилась, компаниям может быть проще начинать новые проекты на Java. Для разработчика, безусловно, имеет больше смысла изучать Java, если он надеется работать в отрасли и не хочет сосредотачиваться исключительно на Android. И если вы переходите к разработке Android из другого проекта, вы можете обнаружить, что Java является более привычным вариантом.

Как уже упоминалось, Java-код строится быстрее и легче по сравнению с Kotlin и соответствует самой природе Android.


Введение в программирование на Котлине

При запуске нового проекта Android Studio вам будет предоставлена ​​возможность писать код на Java или Kotlin.

Читайте также: Я хочу разрабатывать приложения для Android — какие языки мне следует изучать?

Выберите Kotlin, и вас встретит некоторый код по умолчанию. Это код, необходимый для отображения «Hello World» на экране и назначения начальной точки для вашей программы вместе с файлом макета. Другими словами, это шаблон, о котором мы говорили ранее! Давайте посмотрим, что здесь есть и что это может рассказать нам о Kotlin.

Во-первых, вы можете заметить, что вы объявляете классы, используя class точно так же, как в Java. Разница в том, что ключевого слова public нет , потому что все классы в Kotlin являются общедоступными и окончательными. Для тех, кто не знаком с тем, что это значит, это означает, что другие действия за пределами этого файла могут получить доступ к функциям, которые вы создаете. Вы можете заметить, что мы не используем расширение для наследования свойств суперкласса. Вместо этого мы используем двоеточие, которое делает то же самое.

А как насчет этой fun команды? Это сокращение от «function»; так что вместо того, чтобы писать public void , вы теперь будете писать fun. Аргументы указываются в скобках после имени функции. Вам также необходимо знать, как определять переменные, что немного отличается в Kotlin для разработки Android. Чтобы создать строку, вы можете написать:

var text: String = “Привет”

Однако Kotlin обычно достаточно умен, чтобы самостоятельно определять тип переменной. так же, как Python, поэтому вы можете просто написать:

var text = “Привет”

Чтобы создать целое число, вы можете просто написать:

var num = 3

Вот как вы могли бы создать изменяемую (изменяемую) переменную, тогда как val используется для создания констант.

Для более подробного ознакомления с синтаксисом и структурой Kotlin, а также с тем, чем он отличается от java, ознакомьтесь с нашим постом Kotlin vs Java для Android.


Как Kotlin экономит ваше время

В большинстве случаев код в Kotlin для Android будет выглядеть немного проще и короче, чем в Java. Рассмотрим следующий пример добавления onClickListener к плавающей кнопке действия (FAB). Вот как вы могли бы сделать это в Java:

FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
 fab.setOnClickListener(new View.OnClickListener() {
     @Override
     public void onClick(View view) {
     ...
     }
 });

И это то же самое в Котлине:

val fab = findViewById(R.id.fab) as FloatingActionButton
 fab.setOnClickListener {
 ...
 }

Как я уже сказал: меньше шаблонов. Фактически, разработчики Kotlin могут избавиться от необходимости снова писать findViewByID ! Чтобы попробовать это, сначала примените плагин.

findViewByID

Добавьте следующее в свой build.gradle на уровне модуля :

apply plugin: ‘kotlin-android-extensions’

Нажмите «sync», и вы сможете импортировать ссылки на свои представления прямо в верхней части кода, например:

import kotlinx.android.synthetic.main.<layout>.<view-id>

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

Комбинируя эти методы, вы избавите себя от лишней работы и найдете много других полезных стратегий для экономии времени в будущем.

Надеюсь, это дало вам общее представление о Kotlin для разработки под Android и представление о том, чем он отличается от Java. Что подходит именно вам, зависит от ваших личных предпочтений и целей. Но больший выбор никогда не помешает!

Прочтите наше полное руководство по Kotlin для Android , если вы ищете более подробное введение в язык.

Читайте далее: Введение в синтаксис Java для разработки под Android

Subscribe
Notify of
guest

0 комментариев
Inline Feedbacks
View all comments
gorban
gorbanhttps://xpcom.ru
Ведущий автор и создатель сайта xpcom.ru, я погрузился в мир высоких технологий и мобильных устройств с 2004 года. Начиная карьеру с должности интернет-маркетолога, я расширил свои горизонты и стал программистом, разработав несколько приложений для Android, программ для Windows и Mac. Мои знания и опыт охватывают широкий спектр современных технологий, и я стремлюсь делиться ими на страницах xpcom.ru. Владею тремя языками, что позволяет мне оставаться в курсе мировых тенденций и находить интересные темы для моих читателей. В свободное время я наслаждаюсь морем и ценю хороший юмор - эти два аспекта добавляют мне энергии для продолжения моей работы и вдохновения для новых идей.

Рекомендуемые статьи

Похожие посты