Что нужно знать фронтенд-разработчику в 2021 году!
В настоящее время эта профессия становится одной из самых востребованных, специалистов не хватает и работа рекрутеров начинает сводиться не к поиску сотрудников, а к их переманиванию у конкурентов. Но это не означает, что стоит вам назвать себя “фронтом”, как вас тут же возьмут на работу и будут платить много денег.
Требования к специалистам так же растут и знания классической связки html+css+js уже мало. Кстати, о них я писать не буду — эта база обязательно должна у вас быть, прежде чем приступить к изучению следующих направлений.
Все что я буду ниже озвучивать, это мое личное мнение + требования рынка и статистика. Сейчас это актуально, что будет дальше никто не знает. Но я считаю, что времена, когда глобальные библиотеки и фреймворки появлялись как грибы после дождя, уже минули. Веб немного устаканился, считаю, что основные направления и инструменты еще долго будут актуальны.
Как и по каким материалам это изучать, буду публиковать отдельно в Телеграм канале.
Что я хочу знать и уметь в 2021г
Прежде всего хочу озвучить 1 совет — не учите то, что вам не нужно в данный момент или в ближайшей перспективе. Не тратьте на это время! Многие любят читать всякие статьи или даже книги, которые им и близко не нужны для работы. Тратят кучу драгоценного времени и занимаются прокрастинацией.
1. Фрейморки.
Итак, сформировалась троица, вам достаточно выбрать.
Тут все просто, если вы начинающий специалист, то зачастую выбор будет между React или Vue. Если есть опыт или вы точно знаете, что вскоре придется работать над крупным проектом, то ваш выбор Angular. Конечно, это немного упрощенно, но суть вам должна быть ясна. Лично я выбрал для изучения React, тк по нему было больше всего вакансий, плюс его разрабатывает такая крупная компания как Facebook, что вселяло в меня уверенность, что его не забросят, как это часто бывает в веб. И я быстро нашел с ним работу.
А что я хочу подтянуть в ближайшее время, так это React hooks — сейчас все приложения пишутся на кастомных хуках. Разделения на “умные” и “глупые” компоненты уже нет, все они стали “глупыми”, а логика вынесена в кастомный хук.
2. Static Site Generator, SSG
Генераторы статических сайтов это объединенная мощь серверного рендеринга и SPA.
Тут можно выбрать среди 3х проектов:
Да, есть и другие инструменты, но я называю только основные.
3. State management
Тут тоже выбор не сильно велик, тк основные инструменты уже сформировались
- Redux
- MobX
- RxJs
Многие ругают Redux (и я в том числе), но откройте вакансии и посмотрите требования — 99% в них будет указан Redux! Если бы у меня был выбор, я бы сейчас не стал его использовать в своих React приложениях. Но, имеем что есть. Единственно, что можно порекомендовать при использовании Redux это Redux Toolkit
3.1. Redux-Saga
Решил отдельно выделить — midleware Redux для работы с побочными эффектами. Т.к. сам Redux не позволяет работать с асинхронным кодом, вот приходиться использовать доп инструменты. Так же есть более простая библиотека для работы с асинхронным кодом — Redux-Thunk. Но Saga отлично подходит для кастомных хуков, в которые вынесена сложная логика.
4. TypeScript
Если вы выбрали фронтенд, то вам придется учить TS после javascript. Поверьте, без него сейчас никак. Но есть и хорошие новости — его можно осваивать постепенно, продолжая писать код на javascript и по мере сил его типизируя. Поверьте, 1–2 недели и вы даже не заметите, как освоите его и он вам понравится). Я даже не знаю, начинают ли сейчас новые проекты на javascript или все на TypeScript — думаю, что все на TS.
5. GraphQL
Думал, стоит ли включать в список, но несколько последних проектов утвердили во мнении, что нужно это знать. Причем, знание со стороны фронта крайне просты и вы легко сможете разобраться.
Да, RESTful-API никуда не делся, но GraphQL сейчас очень популярен за счет своих преимуществ. Например, если при RESTful-API вы собираете данные загружая из нескольких конечных точек, то в GraphQL вы сразу запрашиваете на сервер все что вам нужно (и не более) и в ответе получаете JSON объект, в котором собраны все эти данные! Мечта для фронтенда))) Еще одно преимущество GraphQL — это строгая система типов. Описывается схема работы, после чего фронтен и бэкенд разработчики могут работать фактически независимо.
6. IDE
Времена блокнотиков уже прошли, считаю осталось 2-а варианта:
- visual studio code — бесплатный
- web storm — платный (студентам и школьникам можно оформлять бесплатную подписку, инструкцию выкладывал в канале).
Хороший рабочий инструмент сильно облегчает и ускоряет вашу работу. Сейчас я использую WS, но хочу освоить и VSC, хотя меня сейчас все устраивает
7. Progressive Web Application - PWA
Технология не новая, но популярность ее растет и растет. Все больше компаний при разработке мобильных проектов выбирают PWA. Это простота, скорость, надежность, привлекательность для пользователей. А так же возможность работы без интернета, простота добавления с веб-страницы на экран устройства, Push уведомления и тп являются причинами для выбора PWA при разработке мобильных проектов.
8. Тестирование
У меня это слабое место — но в этом году хочу больше времени посвятить тестированию. А так же почаще использовать Storybook
9. Soft skills
Если вы не планируете всю жизнь быть джуном, то вам полюбому нужно прокачивать софт скиллы. И чем раньше начнете, тем лучше. Раньше я часто в канале делился материалами по этой теме, думаю пора возобновить это по следующим направлениям:
- Коммуникация в команде.
- Time managment.
- Мотивация и делегирование.
- Обучение других людей и тп
Это только часть, которая самая актуальная на мой взгляд. Конечно, помимо этого необходимо еще знать git, npm, prettier, ESLint и тд и тп. Мир фронтенда просто огромен, но невозможно хорошо знать все — достаточно просто знать о многих технологиях и инструментах, что бы при надобности изучить их и использовать. Я же обозначил самое необходимое для фронтенд разработчика, исходя из своей практики.
Как я писал выше, буду делиться полезными материалами в своем Телеграм канале. А сейчас я беру 2 недели отпуска и приступаю к учебе!
зы Купил новое 7-е издание легендарной книги Д. Флэнагана — хочу еще разок пробежаться по JavaScript, думаю, не помешает.