Задать вопрос

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 уже практически не нуждается?
  • Вопрос задан
  • 2828 просмотров
Подписаться 5 Простой 2 комментария
Решения вопроса 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 и т.п., можно и по аналогии с прошлым опытом разобрать + статьи, книги, подкасты. Тем более не стоит цели сразу засеньерится или даже до мидла вкурить.
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы
Brief Москва
от 150 000 до 210 000 ₽
СМК-РК Москва
от 200 000 до 250 000 ₽
Idea Platform Москва
от 90 000 до 180 000 ₽