Kotlin под Android — без Java ещё никак?

Вчера у меня окончательно сформировалось твёрдое желание подтянуться в Android-разработке до уровня средненького джуна. Опыт в Java практически 0. Под андройд за последние 6 лет с перерывом в пару лет писал 3 раза, на коленке и вещи далёкие от коммерции, паттернов и т.д. Первым опытом была кривоватая поделка с OpenCV и SQLLite. Последними - UI для бинарника работающего с аппаратной частью смартфона. В тонкости языка не погружался, книжек не читал, но за счёт имеющейся базы по С++, 1000-1500 строчек собственноручного Java-быдлокода накидывал без проблем. В последний год краем глаза слежу за основными тенденциями, в результате чего сформировалось естественно-дилетантское мнение "Java это прошлое мобильной разработки, а Kotlin её светлое будущее". Вчера вбил в гугл "kotlin c чего начать?" и обнаружил, что начинать внезапно все равно надо с Java. Смутило два момента. 1) На тостере поиск вывалил темы с от года и старше, а это в наше время срок досточно большой для изменений. 2) Если отбросить спорный довод, что "Kotlin почти не отличается от Java", в качесте оснований для изучения Java указываются вещи в моём понимании не очень вяжущиеся с позицией Junior Android Developer - знание тонкостей работы JVM, отсутствие у Kotlin собственных библиотек. Про jvm ничего сказать не могу. А вот бибилиотеки как повод для изучения Java смущают. Пробежался по верхам по основным требованиям в вакансиях junior - чаще всего стречаются вещи сугубо прикладные, типа Gson или Retrofit, для использования которых знание тонкостей работы собственно Java не нужно. Конечно здорово знать основы, изучая С++ (который в свою очередь максимально облегчил мне вхождение в Python) ни разу не пожалел, что начинал с С, но времени с каждым годом всё меньше и меньше во всех смыслах. Сейчас весна 2019, не получится ли так, что потратив год на погружение в Java, к лету 2020 я обнаружу, что основной стек Android-программирования на Kotlin на уровне требований к джунам в фундаментальных знаниях Java уже практически не нуждается?
  • Вопрос задан
  • 2810 просмотров
Решения вопроса 1
ookami_kb
@ookami_kb
Тут дело скорее не в Java как таковой, а в том, что это JVM, соответственно, надо хотя бы в общих чертах представлять, как оно работает, что такое GC, где могут использоваться strong/weak references и т.д. Я пока не встречал книг или статей по котлину для начинающих, где объяснялись бы эти вещи (как раз потому, что они работают так же, как и в Java).

Поэтому какой-нибудь Hello World под андроид можно написать совсем без знания Java, но для чего-то чуть более сложного надо знать основы.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
dyma_pre
@dyma_pre
Это сложно ..
Да нет все норм, андроид все больше и больше уходит от java и создает условия для разработки под Kotlin, скажем новый UI Framework на идиоматичном Kotlin'e.
https://9to5google.com/2019/05/01/android-ui-framework/
https://developer.android.com/jetpack/compose
Ответ написан
Комментировать
Neikist
@Neikist
Бывший 1сник, теперь пишу под андроид
Да не особо знание java то и нужно, достаточно уметь читать java код. Особенно если есть опыт разработки хоть на чем то и C подобные языки знакомы. А уж работу ART, что куда компилится и как исполняется, GC и т.п., можно и по аналогии с прошлым опытом разобрать + статьи, книги, подкасты. Тем более не стоит цели сразу засеньерится или даже до мидла вкурить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы