Иногда спрашивают мое мнение насчет изучения Kotlin и Flutter. Я решил написать об этом отдельно и буду потом ссылаться на этот пост.
Kotlin
Стоит ли изучать?
Однозначно и без всяких сомнений - да. В статьях он уже используется для примеров не реже, чем Java. Официальная Android документация также содержит примеры на Kotlin. Google официально признала этот язык еще на IO 17. Kotlin часто указывается в вакансиях (пока что, как "желательно"). Ну и он действительно удобный и гибкий.
Как изучать?
Можно читать официальные мануалы, они вполне себе качественные и без лишней воды. При этом делайте примеры, экспериментируйте, чтобы лучше понять нюансы. Если что-то совсем не понятно, то пропускайте, не зацикливайтесь. Вовсе необязательно изучать сразу все, позже вернетесь.
Когда базовые знания будут усвоены, читайте статьи с
Medium.com по теме Kotlin, чтобы понять более интересные темы.
Какие-то конкретные книги или курсы я порекомендовать не могу, потому что ничего такого не читал и не проходил. Изучал по вышеописанной схеме.
Нужна ли Java?
Да. Kotlin надо изучать не вместо Java, а после нее или вместе с ней. Потому что в учебниках по Kotlin обычно пишут только про Kotlin. Базовых тем по Java там может и не быть. А они нужны даже при использовании Kotlin.
Каков порог вхождения?
Если знаете Java - порог вхождения минимален. Примерно одна-две недели уйдет на перестроение нейронных цепочек, переосмысление некоторых парадигм и преодоление культурного шока типа: "А что, так можно было?!". Потом еще пару недель - на то, чтобы перестать ставить точку с запятой в конце каждой строки ))
Можно ли прийти на Kotlin-проект без Kotlin-опыта?
Да. Я именно так и сделал в начале прошлого года. У меня была только теория и разобранные статьи с примерами, но я без особых проблем влился в проект. Если возникали вопросы, то интернет и коллеги всегда выручали.
Будет ли курс по Kotlin?
По базовым вещам - точно нет. Они и так описаны и расписаны везде, где можно. Там все просто. А вот по более интересным темам типа delegation, DSL, inline, coroutines и прочего я подумываю сделать курс. Там есть очень нетривиальные для понимания вещи.
Flutter
Тут все просто. Я пока не вижу, чтобы этот инструмент был востребован настолько, чтобы внести его хотя бы в первую десятку своих приоритетов.
Если бы у меня было больше свободного времени, я наверно сделал бы пару примеров ради интереса. Но погружаться в тему и изучать подробно все равно не стал бы. Пока что я настроен скептически.