Какие языки и фреймворки изучать?

By 21.12.2020 9 января, 2021 Вопросы
Сейчас сложилась такая картина, что независимо от того, куда вы хотите двигаться (веб, мобильные, сервисы) — вам нужно знать примерно одни и те же языки и фреймворки.
Если раньше нужно было изучать отдельно язык, чтобы, например, создавать мобильные приложения на 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 и пр.)

Кстати, это все можно пройти в индивидуальной программе.

Author Тимур Батыршинов

Основатель обучающего центра «JavaBegin». Главный тренер. Обучил более 46000 человек (онлайн и оффлайн), провел более 900 онлайн-вебинаров. Опыт разработки на Java и других языках — более 15 лет. Автор более 50 курсов по разным направлениям Java: основы, веб, Android, Spring, iOS, Angular, React и многие другие. Все курсы автора

More posts by Тимур Батыршинов

Join the discussion 20 комментариев

Leave a Reply