Почему стоит использовать Kotlin в Android-разработке. Версии Kotlin 1.2.70 и 1.2.71

В исследовании Stack Overflow Developer Survey 2018 Kotlin занял второе место в категории “любимый язык программирования” и четвертое — как самый желанный. Недавно TechBeacon включил Kotlin в список новых языков с блестящим будущим.

Почему Kotlin так быстро набирает популярность? Чем он полюбился разработчикам? Подходит ли он для разработки сложных Android-приложений? Почему стоит использовать именно его в вашем проекте? В этой статье мы ответим на все вопросы!
 

Язык программирования Kotlin

Kotlin представляет собой статически типизированный язык программирования, созданный компанией JetBrains, находящейся в Санкт-Петербурге. Kotlin полностью совместим с Java, работает поверх JVM (Java Virtual Machine), имеет читаемый синтаксис и компилируется с исходным кодом JavaScript.
 

Известные проекты, использующие Kotlin

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

Pinterest, популярный сервис для публикации изображений, решил отойти от Java практически сразу после появления первой версии Kotlin, еще до того как Google объявил его официальную поддержку. В 2016 они представили преимущества и недостатки применения Kotlin.

Компания Coursera, предлагающая онлайн-курсы от известных международных университетов, тоже выбрала Kotlin для своего Android-приложения. Uber, Trello, Basecamp 3, Shadowsocks, Evernote и Twidere for Twitter также используют Kotlin в Android-разработке.
 

Изобретение Kotlin

Kotlin был создан для решения задач разработчиков компании JetBrains. Им понадобился более простой в сравнении с Java инструмент для работы с главным продуктом IntelliJ IDEA. После исследования возможных альтернатив они решили изобрести собственный язык программирования.

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

Разработка языка программирования Kotlin стартовала в 2010. Спустя 6 лет 17 февраля была выпущена первая его версия 1.0. В 2017, на ежегодной конференции Google I/O, была объявлена официальная поддержка Kotlin для разработки Android-приложений.

Примечательно, что технология находилась несколько лет в alpha-тестировании и затем в beta и только затем была отправлена в продакшн. Поэтому все работает так, как должно.) И еще до выхода beta-версии Kotlin уже использовался в некоторых Android-проектах.
 

Преимущества Kotlin & почему мы его любим

 
1. Простота и выразительность

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

2. Совместимость с Java

Другое преимущество Kotlin — его полная совместимость с Java. Kotlin разработчики могут использовать Java фреймворки и библиотеки и при этом писать более понятный и простой код. Таким образом, вы можете писать мобильное решение на обоих языках или мигрировать свои приложения с Java на Kotlin.

Даже если у вас большой Java проект с миллионами строк кода, вы можете конвертировать его на Kotlin — один файл за раз — и при этом все будет продолжать компилироваться. В нашей компании мы занимаемся разработкой на Kotlin и используем Java только для поддержания старых проектов.
 

3. Kotlin подходит для мультиплатформенной разработки

Разработка Android-приложений не единственное направление Kotlin. Он предоставляет поддержку JavaScript, позволяя программистам перенести фронтенд на Kotlin или писать на нем веб-часть с самого начала проекта.

Также основатели добавили поддержку Gradle, чтобы разработчики могли писать на нем Gradle-файлы. Активно идет развитие Kotlin Native, с помощью которого можно создавать iOS-приложения.
 

4. Более высокий уровень безопасности & более быстрая разработка Android-приложений

Разработчики Kotlin интегрировали в синтаксис языка принципы, предотвращающие общие ошибки, возникающие в ходе выполнения программы. Другая причина более высокой безопасности в сравнении с Java вытекает из основных преимуществ самого языка.

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

5. Перейти на Kotlin просто

Язык программирования Kotlin имеет легко читаемый синтаксис, он легко интегрируется с Android Studio, прост в освоении и обеспечивает поддержку функционального программирования. Другие полезные фичи включают функции-расширения (extension functions), null safety, operator overloading, coroutines и другие.

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

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

kotlin advantages ru
 

Главные функции Kotlin

Kotlin предлагает много полезных фич, которых нет в Java: Lambda expressions + inline functions, smart casts, extension-функции, companion objects, primary constructors, properties и др. По поводу самых важных  фич языка с технической точки зрения мы обратились к Артему Корольчуку, директора нашего отдела Android-разработки.
 
Артем Корольчук Наиболее значимыми и полезными функциями Kotlin я, как и многие другие разработчики, считаю:
 

  • Null-safety — думаю, все Android-разработчики будут рады отсутствию NullPointerException.)
  • Extension-функции — очень приятная штука, с которой можно добавлять функционал к уже существующим классам. Позволяет сделать код более читаемым и логичным, избавиться от вездесущих статических Utils-классов и писать свои DSL.
  • Coroutines — многопоточное программирование становится все проще и проще. Кажется, совсем недавно к нам пришел Rx, а вместе с ним и возможность достаточно просто переключаться между потоками.
     
    Но в Kotlin с помощью корутин это стало еще проще. Надеюсь, с их помощью разработчики больше не будут пренебрегать выполнением относительно “тяжелых” задач в бэкграунд-потоке, оставляя main-поток для выполнения тех функций, которые изначально были на него возложены, а именно обработка, обновление и взаимодействие с UI.
  • Можно выделить и многие другие полезные фичи, например, функциональное программирование (особенно при работе с коллекциями), делегаты, default и named аргументы функций, inline-функции и т.д.

 

Почему мы перешли на Kotlin

Артем Корольчук: К сожалению, Android не поддерживает возможность использования последних версий Java со всеми ее улучшениями.

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

Причем разработчики Kotlin этого не скрывают и прямо говорят, какие фичи из каких языков были заимствованы.

Писать на нем гораздо более приятно и удобно. Код становится чище и короче, нет этих монструозных конструкций. При желании можно запилить extension и смотреть как все красиво получается, когда условные 10 строк кода на Java переливаются в 2-3 на Kotlin, а читаемость кода становится лучше.

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

Многие опасаются переходить на Kotlin из-за возникновения непредвиденных ситуаций или недостатка опыта. Но благодаря полной совместимости с Java переход на этот замечательный язык может быть практически безболезненным.
 

Версии Kotlin 1.2.70 & 1.2.71

13 сентября 2018 JetBrains объявили о выпуске версии 1.2.70. В этом обновлении разработчики представили:

  • усовершенствования инкрементной компиляции для Kotlin/JS
  • родные двоичные файлы, созданные с помощью Excelsior JET для автономного компилятора Kotlin
  • новые рефакторинг и проверки плагина IntelliJ IDEA
  • исправление многих проблем в компиляторе и плагине IDE; повышение производительности
  • ряд котлин-stdlib-общих аннотаций с @Optional Expectation

 
Данная версия Kotlin 1.2.70 обеспечивает совместимость с Android Studio 3.1, 3.2 RC, 3.3 Canary и всеми версиями IntelliJ IDEA с 2017.3 по 2018.3.

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

Поделиться

Последние статьи

Как мы применяем Непрерывную Интеграцию и Непрерывное Развертывание для автоматизации разработки ПО

8 способов применения Интернета вещей в производстве

OZiTAG признана лидирующей компанией по мобильной и веб-разработке

Штатный дизайнер vs дизайн-студия: Почему мы выбрали второе и что лучше для клиента

Как мы запустили социальную сеть для создания, поиска и посещения мероприятий

Как проходит тестирование программного обеспечения в нашей компании

OZiTAG выступила партнером студенческой IT Олимпиады Bit-Cup 2018!

Как IoT-проект Neurosonic привлек клиентов из США, Европы, Азии, Великобритании на Orgatec

Как мы создали IoT-решение для управления продуктами & релаксации

Решения IoT в здравоохранении. Интернет медицинских вещей