November 7, 2022

Наш стек: на чём работаем и почему выбрали Kotlin, а не Java

No items found.
Наш стек: на чём работаем и почему выбрали Kotlin, а не Java

Внимание-внимание! Эта статья для тех, кто знает базовые принципы разработки мобильных приложений и языков программирования. Для работы мы рассматриваем container-native технологии, т.е. такие, которые заточены на работу в контейнерах, в облаках и т.д.

Один из вариантов такой технологии — это фреймворк Quarkus вместо Spring. Он более легковесный, потребляет меньше памяти и CPU. Именно из-за высокой нагрузки центрального процесса у нас нет лимитов по CPU на старте, из-за чего один сервис может съесть сколько угодно процессора.

Решение довольно радикальное, поэтому мы используем его на сервисах без сложных интеграций с шинами. Посматриваем в сторону чего-то менее радикального — например, Spring Boot Native.

Как появились мысли о переходе на Kotlin вместо Java?

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

А ещё система типов Kotlin направлена на устранение нулевых ссылок, т.е позволяет значительно сократить наиболее распространенную ошибку в Java — NullPointerException (NPE), исключению, которое выбрасывается каждый раз, когда вы обращаетесь к методу или полю объекта по ссылке, которая равна null.

Почему решили пробовать:


1. Не требует большого кол-ва времени у Java-разработчика на переход с одного языка программирования на другой.
2. Kotlin ориентирован на взаимодействие с кодом Java, основной стек остается привычным для разработчика, все основные функции идентичны.

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

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

Эксперт в ЭЙЧ