Kotlin в Android разработке, как альтернатива Java

Личный опыт

Опыт работы с Kotlin на момент написания текста не более года. Познакомился я с ним после официального анонса. Так как я работаю в компании с достаточно масштабным проектом, то просто интегрировать новый язык в разработку не вышло. К тому же, в самом начале не было понятно а стоит ли переходить на новый язык. В связи с этим я начал использовать Kotlin в небольших задачах. Примером применения было выполнения лабораторных, написание отдельных модулей в проекте. Еще я использовал этот язык в написании своих мобильных приложений для персонального пользования.

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

Причины выбора Kotlin для дальнейшего изучения

Для мобильного разработчика неотъемлемой частью жизни является его IDE. Такой средой для мобильного разработчика является Android Studio, разрабатываемая небезызвестной компанией JetBrains. Многие годы андроид–разрабочики осваивали тонкости работы и секреты разработки на языке JAVA, который и на сегодняшний день, по моему мнению, занимает топовую позицию среди языков программирования.

Однако, велико было мое удивление, когда студия JetBrains анонсировала разрабатываем ею язык под название Kotlin. Но не просто выпустила его в массы, а предала статус официального языка для android разработки. И тут встала дилемма:неужели прийдется переписывать приложения на новый лад, изучать заново язык и его тонкости и т.д.

pic1

Рисунок 1 – Возможности мобильных платформ на базе Android
(анимация: 20 кадров, циклов повторения – замкнутый , размер 282 Кб)

Как оказалось на самом деле, не все так страшно. Начнем с того, что данный язык полностью совместим с JAVA. Небольшое отступление для тех, кто не понимает как это работает. Оба эти языка являются компилируемыми и конце мы получаем байт код, который и передается на устройство. А поскольку генерируемый код из java и Kotlin файла идентичен, то мы получаем возможность частично реализовать функционал на разных языках. Но основной фишкой, которая послужила так называемым входным билетом это возможность конвертировать код с одного языка на другой внутренними средствами самой IDE. Также стоит отметить схожесть Kotlin со Swift (официальный язык разработки по ios), такая приятность позволит начинающим мобильным разработчикам быстро освоится в разработке под обе операционные системы


Основные фишки в разработке:

1. В отличие от Java переменная в Kotlin является Null Safety, это означает, что она не может содержать null, если компилятор об этом не знает. Нужно явным образом указать может она быть nullable или нет. Такое простое решение – на уровне системы типов заставить разработчика подумать о том, как должна вести себя переменная, какие значения она может принимать, а какие нет. 

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

3. В kotlin логические структуры можно использовать как выражения. Если надо выполнить больше кода в блоках условия – нет проблем, но последняя строка должна возвращать результат работы в переменную. 

4. Добавление использования лямбд выражений упрощает структурирования кода, он становится чище и понятней.

5. Новые механизмы выполнения процессов в потоке, которые обслуживает один thread.


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


Будущее Kotlin

Kotlin – это следующий этап развития Java, с которой он полностью совместим. Это делает его отличным инструментом для мобильных и энтерпрайз-приложений. А поскольку Kotlin теперь является официальным языком Android, можно не бояться того, что, изучив его, вы останетесь без работы. Также полезными навыками будет умение пользоваться следующими библиотеками:

  1. RxJava;
  2. Glide;
  3. Retrofit 2.0;
  4. RecyclerView;
  5. Dagger 2.

Полезные ссылки

kotlinlang.org – Документация Kotlin

tutorialspoint.com – Обучение Kotlin