Сейчас сложилась такая картина, что независимо от того, куда вы хотите двигаться (веб, мобильные, сервисы) — вам нужно знать примерно одни и те же языки и фреймворки.
Если раньше нужно было изучать отдельно язык, чтобы, например, создавать мобильные приложения на iOS, то сейчас происходит полная универсализация.
Достаточно знать 2 языка и вы становитесь универсалом.
Это удобно, особенно для новичков, которые пока не могут позволить себе изучать тонкости и нюансы отдельных языков..
—
Какие языки программирования советую выучить

Не открою Америку, если скажу, что сейчас самые хайповые языки — это Kotlin и TypeScript. Java тоже можно сюда включить, т.к. с него многие плавно переходят на Kotlin.
С помощью них вы сможете создавать абсолютно любые приложения:
-
клиент для веб (React, Angular) — TypeScript
-
backend для веб (Spring) — Java или Kotlin
-
веб сервисы, микросервисы — Java или Kotlin
-
Библиотека ReactNative — мобильные Android/iOS — TypeScript
-
Фреймворк Flutter — мобильные Android/iOS — Kotlin (для бизнес-логики) и Dart (для UI), похожий на JS/TypeScript, легко выучить (Flutter от Google становится сейчас сильно популярным из-за универсальности кода под обе системы)
-
и даже Desktop — фреймворк Electron, используется TypeScript
По сути вам нужно выучить только 2 языка: Kotlin и TypeScript, а затем доучить уже нужные фреймворки.
Но если вы начинаете изучать Kotlin с нуля, то желательно начать с Java — он более понятный. А затем плавно перейти на Kotlin (как показывают ученики — это более удобней).
На основе Java вы сможете потренировать ООП и все элементарные конструкции.
Kotlin хорош тем, что один и тот же код вы можете компилировать практически под что угодно.
—
Какие фреймворки советую изучать

Angular — для новичков более понятно, легко можно создавать веб приложения. Мобильные тоже можно, но технология проигрывает аналогичной из React Native, поэтому я Angular использую только для веб приложений.
React (Web, Native) — сможете создавать любые типы приложений, как веб, так и мобильные — один из самых популярных инструментов в данный момент.
Spring — по прежнему номер 1 для разработки backend, сервисов
Docker, Kubernetes, Jenkins — дистрибуция и сборки проектов для продажи или установки. Это сейчас используется везде, поэтому даже новичок должен знать технологии.
Git/GitHub/GitLab — как правильно использовать систему контроля версий в своих проектах (коммиты, ветки, бранчи и пр.) — это самый фундамент для любого новичка. Также, без этих знаний не сможете работать в команде, в крупной компании.
Если вы только начинаете изучать программирование, то начинайте с основ Java (синтаксис, ООП, коллекции), создайте 4-5 проектов и затем плавно переходите к Kotlin.
Если вы уже знаете Java или любой другой язык ООП, то переходите к Kotlin.
С помощью одного лишь Kotlin вы сможете создавать любые типы приложений.
Но чтобы быть совсем уж востребованным — советую выучить также и TypeScript. На нем кстати также можно создавать любые типы приложений, плюс у него хорошие возможности для асинхронных запросов + RxJS (реактивный код).
Супер связка Java/Kotlin + TypeScript — даст вам мощное преимущество перед остальными, если вы ищете работу программистом.
Сколько времени займет?
На основы Java, ООП, БД уйдет где-то в среднем полгода (если тратите в день 3-4 часа).
Затем нужно посоздавать 5-6 проектов (1-2 мес) — затем можно выучить основы Kotlin за 1 месяц.
Зная фундамент по языку (Java/Kotlin) — потом уже можно переходить к фреймворкам (ReactNative, Angular, Flutter и пр.)
Кстати, это все можно пройти в индивидуальной программе.
Тимур, спасибо!!!
Всё никак не мог заставить себя заняться JS из-за его уродства. =))) По Вашей рекомендации начал ковырять TS, и это — спасение! =)
По поводу Котлина… Не знаю как он пойдёт с нуля, но иметь опыт в Яве, а ещё очень желательно в Streams API, то Котлин пойдёт как по маслу.
… в Streams API и лямбдах, нужно добавить…
все верно, TypeScript — наше спасение.
Kotlin можно изучить основы и без знаний StreamsAPI
Спасибо за статью! Тимур а когда выйдет курс по Kotlin???
скоро, в середине января 2021
Спасибо Тимур!
Спасибо, актуальная тема.
Щас прохожу стажировку в яндекс, но там не говорят про котлин, пока только Java.
У вас есть, кто поступил в яндекс? Стоит ли тратить силы?
Если бесплатно -то конечно. Лишним не будет.
Много, кто из учеников туда поступил.
Спасибо Тимур!
Вы хорошо все объясняете, успехов вам в дальнейшем и с Новым Годом!
Спасибо, вас тоже с Новым Годом!
спасибо
по этому пути как раз иду
Здравствуйте.
Я правильно понимаю, чтобы создавать мобильные приложения на React, достаточно знать TypeScript?
да
только надо будет научиться правильно работать с UI компонентами, там есть свои особенности, которые отличаются от нативного подхода
добрый день.
TypeScript сильно отличается от Java или Kotlin?
здравствуйте
в плане ООП — похож, доступны многие возможности (конструктор, наследование, полиморфизм и пр.)
В плане синтаксиса — тоже немного похож: создаете объекты, описываете поля, методы
Отличие — в веб возможностях и RxJS — реактивный код
Т.к. TypeScript изначально основан для веба, JavaScript
Здравствуйте.
Спасибо за статью.
У меня вопрос: я программист 1С Бухгалтерии — с чего мне начать? с Java? Или можно сразу Kotlin
Спасибо
лучше с Java — там более все понятней.
Потом переходить на Kotlin
я вообще начинал с С#, но не смог осилить. Потом перешел на Java, изучал где-то полгода, потом перешел на Kotlin. В общем с Java на Kotlin и в самом деле легче переходить
Здравствуйте по вашему не мобайл френдли сайту можно судить чему и как вы учите это на заметку.
движок на вордпрессе, постепенно доводим до ума верстку для моб.