Прийшов час осідлати справжнього Буцефала🏇🏻Приборкай норовливого коня разом з Newxel🏇🏻Умови на сайті
×Закрыть

Как дела у Kotlin на backend?

Вопрос, кто-то встречал разработчиков или проекты, где пишут бэкенд на котлине? Другими словами стоит ли вообще его рассматривать как вариант для разработки новых проектов, да и для личной карьеры?

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

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

А вы что думаете, суровые Java энтерпрайзники, пошли бы писать на котлине или не? ))

LinkedIn
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

А в чем преимущество перед Java. Если писать Hello World то конечно получается красиво и быстро но в больших проектах именно печатать кода приходится не так много. Больше работать над архитектурой и взаимодействием компонентов и это +/- одинаково и там и там. Всякие гетеры сеттеры все равно генерируются идеей и занимает это пару секунд.
Я как бы и не против и для дев окружения делал пару сервисов но серьезных плюсов нет а смущает вот что:
Если выйдет например новая JDK и там что то сильно оптимизируют на сколько быстро Котлин начнет использовать новые возможности оптимизаций?

Мне как то неудобно тимлиду за такое говорить...Котлин -это жаба только без старья...

А что именно имеется ввиду под старьем.
Вот можно посмотреть на Go. Он ещё «проще» чем Java и там нет шаблонов (Generics) и стримов но это не значит что он старый. Сильно зависит от задач.
Синтаксического сахара то конечно больше но нужен ли он для всех задач?

В одном финансовом проекте — 100% кода на котлине в бэкенде.
Год в продакшне. Проблемы не встречались.

А у жабы как вы думаете, дела на бэке?Так же и у Котлина, только возможно с некоторыми нюансами! Ну хлопцы вы даёте!!!

Не. При всём уважении к новым, хорошим языкам.

preloader php7.4 и никаких котлинов не надо

(дальше шуточки про пхпистов, которые пхпистам же выгодны)

Сейчас работаю на заказчика, у которого около сотни микросервисов. Почти все на джаве.
Эксперимента ради отдельные сервисы были сделаны на скале, котлине и груви. Не прижилось — все новые проекты по-прежнему на джаве.
Зато груви прижился в другой ипостаси: примерно половину юнит-тестов пишем на груви+спок. В первую очередь на груви+спок те тесты, которым не нужен спринговый контекст..

А там где нужен спринговый контекст, просто добавляешь Spock’s Spring Module (mvnrepository.com/...​ockframework/spock-spring) и дальше продолжаешь писать тесты на груви

Котлин — очень большой шаг вперёд по сравнению с джавой. С джавовыми библиотеками использовать вполне можно, но и все преимущества и новые фичи котлина не пропадут никуда. По поводу фреймворков — экосистема точно есть, можно у соседей взять akka-http, например.

Мне Котлин напоминает красивую,умную,молодую и незамужнюю девушку.С ней хочется подружиться и даже жить вместе до старости,но она как парус в морской пучине,как видение.Ее можно даже попробовать и на бэке и ее фронт-андроид пощупать.Но она тебя не примет ибо пока живет в заморских странах и отдается молодым и только входящим в безумный мир IT

суровые Java энтерпрайзники, пошли бы писать на котлине или не

Зачем?)

Что-то я сомневаюсь что котлин будет нормально уметь в бекэнд. Он изначально разрабатывался как замена джавы на андроиде и там его место.

Откуда такая информация? Изначально Котлин как раз разрабатывался как отдельный JVM язык общего назначения, а на Андроиде он получил такую популярность, потому что там используется довольно старая версия джавы, и Котлин выглядит намного выиграшней. Бекенд довольно успешно пишется на Котлине, можно погуглить доклады Кекса на эту тему

який Котлін, яка Джава, Флуттер наше всьо!

Изначально разрабатывался для нужд JetBrains, с андроидом просто совпало с «oracle vs google», и не желанием гугла инвестировать дальше в «java на android».
Сейчас JetBrains активно продвигают kotlin на бекенде и KotlinNative.

Ну это неправда.
1. Личный опыт — я пробовал в бэк на котлине. Есть нюансы, если хочешь асинхронности, то нужно знать о потоках и блокирующих операциях чуть больше, чем ничего. Но в целом код получается читабельнее. Да и писать его приятнее, очень много боилерплейта уходит. Хотя это может не совсем релевантное мнение, ибо я на котлине писал уже после Scala, а после нее сложным кажется наверное разве что Haskell ))
2. Огромное количество фреймворков, заявляющих поддержку котлина. Это говорит как минимум о том, что либо а) JetBrains имеет какое то влияние среди фреймворкописателей, либо б) все таки комьюнити бэкенда одобряет котлин. Собственно поэтому котлином и заинтересовался, увидел что бэкендовые фреймворки упоминают котлин.

Добрый день. Извиняюсь, если не по адрессу. Не будете ли вы знать такой вопрос:
Есть multiplatform проект, в котором есть несколько модулей.
В одном из них обьявлен класс с именем exampleClass.
После запуска задачи jsBrowserWebpack файл example.js.
При просмотре, файл выглядит странно: нет обьявленных в пректе классов и функций.
Я никак не пойму, каким образом я должен этот файл.
Например, как создать экземпляр класса exampleClass.
Если делать так:

Before script...

var м = new exampleClass();
document.write(v.property);

...After script

ошибка exampleClass is not defined.
(lemkoleg82@gmail.com моя почта. Можете написать мне туда)

Учить стоит, язык весьма приятный, много косяков java исправили. В google trends уже популярнее скалы.
Языки, вообще, стоит учить для развития. Синьер, знающий одну java смотрится весьма жалко.

Я писал год назад бек на котлине. Не зашло: пару раз ловил баг компилятора, по умолчанию все классы final (что бы подружить котлин с хибом и spring, нужно интродьюсить костыли), корутины не нужны от слова совсем из-за того, что все упирается в блокирующие вызовы jdbc.

Я не думаю что Kotlin переплюнет Джаву из-за того, что последняя начала активно развиваться (switch expressions, var, Loom etc)

Корутины ощутимо выросли за последний год. Например, блокирующие вызовы jdbc можно легко обойти с помощью такой функции:

suspend fun <T> dbQuery(block: () -> T): T = withContext(Dispatchers.IO) {
    transaction { block() }
}

Может и до IO-монады доростут.

Бакенд приятнее писать на котлине чем на джаве. Хорошую зарплату для бакенд разработчика вероятнее всего найти на джаве чем на котлине. Тут и сказке конец...

Подписаться на комментарии