На каком уровне стоит изучить Java для Android разработки?

Я так понимаю хватит знания Java Core? Пару дней смотрел новые вакансии, не разу не увидел новых проектов на Java (что не удивительно конечно), только Kotlin. Стоит ли практиковаться в написании приложений сразу на Kotlin, или лучше начать с Java?


Ответы (1 шт):

Автор решения: Sergei Buvaka
  • Вам нужно знать весь Core Java. Знать java.collections. Понимать хорошо ООП. Это прям основа без которой никуда.

  • Стоит ознакомиться с многопоточностью. Но только ознакомиться, на уровне понимания как она работает в Java, т.к. в Android для асинхронной работы используются свои фреймворки.

    Стоит так же ознакомиться с работой с файлами, но опять же на базовом уровне. Это не очень часто используется, а если понадобиться потом разобраться больших проблем не будет.

  • Вас не интересует Java выше 8ой, т.к. в Android ее нет в принципе.

    • Исключения: java.util.{Map,Collection,Comparator} и java.time. Подробнее тут.

    Вас не интересуют стримы - их никто не использует в Android разработке.

    Вас не интересуют практически никакие Java библиотеки (например Spring).

    Вас не интересуют ничего что связано с UI на Java.

Важно понимать, что Android это очень большой фреймворк в котором от Java только основы. Все остальное там свое.

Поэтому если условно разделить время от старта обучения до получения первой работы у вас на Java должно уйти примерно 20% времени.

Как только вы поняли, что понимаете основы Java вы начинаете учить Android.

UPD Про Kotlin:

Без Kotlin-a сейчас в Android почти никуда. Но тут есть нюансы.

  • Зная Java - начать писать на Kotlin проблем вообще не составит. 2-4 недели.
  • Никто не отменял легаси кода на Java.
  • Большинство фреймворка Android написано на Java и его нужно понимать.
  • Да и большинство компаний которые пишут на чистом Kotlin у вас все равно спросят Java
  • Java намного легче для вхождения т.к. там все более явно описано чем в Kotlin. Это не круто для тех кто шарит, но намного круче для тех кто учится.

Так что вывод такой: Учите Java, как только поймете, что ее понимаете хорошо - учите Kotlin. Но не наоборот.

→ Ссылка