Как не надо учить javascript
Перейти к содержимому

Как не надо учить javascript

  • автор:

Стоит ли учить JavaScript: перспективы, ситуация на рынке труда, мнения экспертов

Стоит ли учить JavaScript: перспективы, ситуация на рынке труда, мнения экспе. главное изображение

JavaScript входит в число самых популярных языков программирования, а фронтенд-разработка считается одним из самых простых способов начать карьеру в IT. Рассказываем о целесообразности изучения JavaScript в 2023 году, перспективах языка и ситуации на рынке труда.

Вы читаете обновленную и улучшенную версию нашей старой статьи

Экскурс в теорию: сферы применения JavaScript и особенности языка

JavaScript (JS) — высокоуровневый язык программирования, который поддерживает императивный, функциональный, событийно-ориентированный и другие подходы. Он относится к языкам с динамической типизацией, входит в группу интерпретируемых языков.

В число основных особенностей JS входят:

  • Динамическая типизация — тип данных определяется в момент присваивания значения константе или переменной
  • Интерпретируемый язык — код приложения интерпретируется при обращении, не требуется предварительная компиляция
  • Функции как объекты первого класса — функции в JavaScript можно возвращать из функций, передавать в качестве параметров в другие функции, присваивать переменным
  • Поддержка прототипного и объектно-ориентированного подхода
  • Универсальность — все популярные браузеры поддерживают JavaScript.

ES12, современная спецификация JavaScript, поддерживает синтаксис стрелочных функций, дестракчеринг, операторы spread и rest, модули и классы. Эти и другие инструменты делают JavaScript гибким и выразительным языком программирования.

Хекслет для начинающих: Попробовать обучение на Хекслете вы можете на Подготовительном курсе по основам JavaScript. Теория и практика в браузере, вебинары, лайвкодинг, помощь наставника всего за 990 рублей за две недели

Важная особенность JavaScript — развитая инфраструктура. Вокруг этого языка программирования сформировано огромное сообщество, которое развивает кучу разных инструментов:

  • Библиотеки и фреймворки для создания приложений (React, Vue, Angular)
  • Сборщики (Webpack, Gulp)
  • Вспомогательные библиотеки (Lodash, Underscore)
  • Генераторы статических сайтов (Gatsby.js, Next.js)

Сферы применения JavaScript

В первую очередь JavaScript широко используется во фронтенд-разработке. Этот язык вместе с HTML и CSS входит в базовый набор инструментов фронтендера — на нем создаются приложения, которые исполняются в браузере на стороне клиента, он обеспечивает практически всю интерактивность сайтов. Например, когда пользователь заполняет форму и нажимает кнопку «Подписаться», мгновенная реакция на это действие обычно обеспечивается кодом, написанным на JavaScript.

Сферы применения JavaScript не ограничиваются браузерами и веб-приложениями. На этом языке, например, можно:

  • Разрабатывать нативные приложения. С помощью фреймворка React Native создаются приложения для Android и iOS
  • Серверные приложения. Node.js применяется для бэкенд-разработки. Об этом направлении у нас есть отдельная статья
  • Десктопные приложения. JS применяется в офисных пакетах Microsoft и OpenOffice, в приложениях компании Adobe
  • Программировать оборудование и бытовую технику, например, платёжные терминалы и телевизионные приставки

На Хекслете изучить JavaScript и фронтенд-разработку можно в рамках профессии «Фронтенд-программист». Первые курсы в этой профессии, включая «Основы программирования», «Основы командной строки», «Системы контроля версий» и другие, доступны бесплатно.

Популярность, рейтинг и перспективы JavaScript

Как отмечалось выше, JavaScript входит в число самых популярных языков программирования. В январе 2023 года JS занимает седьмое место в индексе TIOBE, который составляется на основе статистики поисковых запросов. Этот язык популярнее, чем PHP, Swift, Ruby, Go.

Как и PHP, JavaScript можно считать одним из способов быстро войти в разработку. JavaScript-программистов берут на работу веб-студии, которые есть как в крупнейших городах, так и в регионах.

Если говорить о перспективах JavaScript, то стоит отметить два момента. Во-первых, этот язык программирования обеспечивает интерактивность сайтов и используется в популярных современных браузерах. Эти задачи можно решать и с помощью альтернативных технологий, например, WebAssembly, но это не вопрос краткосрочной перспективы. В ближайшем будущем с большой долей вероятности JS останется основным языком программирования фронтенд-приложений.

Во-вторых, сейчас растет популярность прогрессивных веб-приложений (PWA, progressive web apps). Эту технологию активно продвигает Google. Прогрессивные веб-приложения представляют собой гибрид сайта и мобильного приложения. В среднесрочной перспективе у PWA есть хорошие шансы отвоевать значительную долю рынка у нативных приложений.

Для разработки PWA применяется JavaScript. Например, сайты, созданные с помощью генератора Gatsby.js, поддерживают функциональность прогрессивного веб-приложения из коробки. Это ещё один плюс в пользу востребованности JS в ближайшей перспективе.

Сколько платят фронтендерам

Заработок JavaScript-программиста зависит от уровня квалификации, региона проживания и работы, режима трудоустройства.

На сайте hh.ru по состоянию на январь 2023 года есть почти 7 192 вакансии для JavaScript-разработчиков в России. При этом в январе 2022 года этот показатель составлял 13 500 вакансий, то есть за количество вакансий снизилось в два раза. Это связано с рецессией на рынке, однако многие эксперты прогнозируют дальнейший рост IT-сектора. У существующих вакансий уровень зарплаты варьируется от 20 тыс. до 800 тыс. рублей.

При этом в мире средняя зарплата JS-разработчика составляет $104 тыс. до вычета налогов или $50 в час. Как правило, такой уровень зарплат скорее относится к разработчикам, которые устроились в американские или европейские компании.

Перспективы JavaScript: взгляд экспертов

Мы попросили известных в отрасли экспертов поделиться взглядами на перспективу изучения JS, ситуацию на рынке труда и востребованность JavaScript в будущем.

Роман Дворнов: JavaScript вряд ли куда-либо денется в ближайшие годы

Роман Дворнов

JavaScript стоит изучать хотя бы потому, что он исполняется у любого пользователя в браузере, он исполняется на сервере, он продолжает осваивать платформы, и тенденция такова, что завтра он может оказаться в любой кофеварке. При этом JavaScript продолжает сохранять невысокий порог входа, что делает его весьма популярным и востребованным.

JavaScript находится в группе языков, которые постоянно недооценивают. С одной стороны, можно сказать, что у JavaScript есть определенные недостатки, связанные с ошибками в дизайне языка. С другой стороны, эти недостатки могут также являться и плюсами, позволяя решать определенный класс задач. Тем не менее, новые редакции языка и его имплементации, со временем исправляют ключевые недостатки.

Кстати, о новом. JavaScript — один из немногих языков с таким немалым возрастом (был создан в декабре 1995-го), который настолько динамично развивается сегодня. Формально все началось в 2015 году, когда вышла новая редакция ES2015 (или ES6) и было решено выпускать новую редакцию каждый год, хотя на самом деле всё началось задолго до этого. Не каждый год случаются значительные изменения, но изменения происходят и чувствуется темп. Можно следить за работой TC39 (комитет работающий над спецификацией языка), участвовать в обсуждениях предложений, вносить свои предложения и так далее – процесс открыт, и это здорово. К тому же, сегодня имплементаторы внедряют новые фичи накануне принятия новой редакции спецификации языка, а не несколько лет спустя, как это было раньше.

Низкий порог входа всегда был предметом споров: с одной стороны, вовлекается больше людей, с другой — их уровень как специалистов невысок. Это, плюс часто неглубокое изучение, обычно и создает негативное отношение к языку. Чтобы использовать JavaScript эффективно, его нужно изучать полностью, и дополнительно множество смежных областей, а особенно Computer Science, как это делают в случае с другими языками. Все больше задач с применением JavaScript не уступают по сложности задачам решаемым с другими языками.

Если говорить о перспективах, то JavaScript вряд ли куда-либо денется в ближайшие годы. Во-первых, это единственный язык такого класса, поддерживаемый браузерами, и нет предпосылок, что это может поменяться, хотя попытки были. Всё, что создается как альтернатива JavaScript, в конечном итоге конвертируется в него.

Во-вторых, необходимость шарить логику между клиентом и сервером, Server Side Rendering и прочее, укрепляет позиции JavaScript на серверной стороне. В-третьих, тулинг для JavaScript, как и для клиентского веб-стека, по большей части написан на JavaScript.

В-четвертых, колоссальные ресурсы, которые вкладываются в развитие JavaScript движков, дают свои плоды: снижаются требования движков, и они начинают работать на все более слабых платформах и устройствах. Так что специалисты со знанием JavaScript будут востребованы еще достаточно долго, пока программисты вообще будут востребованы, если вы понимаете о чем я 😉

Роман Дворнов, эксперт в области фронтенд-разработки. Профиль на GitHub.

Получите профессию «Фронтенд-разработчик» за 10 месяцев! Погружение в практику с первого дня и обучение без дедлайнов. Вы получите готовое портфолио на GitHub к концу обучения, поддержку наставников на протяжении всего курса и помощь в трудоустройстве.

Мои рассуждения на тему Как учиться программировать на JavaScript

Дисклеймер: я ни в коем случае не хочу сказать, что именно так и надо учиться. Но за плечами 13 лет опыта и не один год активности в сообществах, так что рассуждения будут не на пустом месте. Но если вы уже состоялись как программист, скорее всего вам будет не интересна данная публикация.

Немного о себе

Скажу сразу: я неправильный программист. У меня нет никакого образования кроме школы, а в программирование я подался в возрасте 25 лет. У меня даже нет четкого понимания что я правильно программирую, а что нет. Но несмотря на это, уже более 13 лет я программирую. Я по-прежнему не очень умею в различные математические формулы и т.п., но в целом получается создавать программные продукты (и, к слову, вполне прилично зарабатываю). Вот и учить я буду может не правильно, но обязательно с упором на то, чтобы начинать в скором времени зарабатывать деньги.

Рассуждения о сути программирования

Наверно, надо придумать здесь какой-то другой термин на замену «программированию». Во всяком случае я вряд ли смогу научить именно программированию. Но, как мне кажется, надо просто разобраться в целях. Вспоминаем классическое «вам шашечки или ехать?».

Чаще всего я вижу следующую картину: с одной стороны все говорят о том, что программистом стать — это очень сложная задача, требующая кучи времени и из огромного количества желающих выходят всего лишь чуть ли не единицы программистов, а с другой стороны дикий дефицит и все кричат «нам не хватает программистов!». И здесь же еще один парадокс: мало кто вообще понимает по каким критериям оценивать программистов (что это вообще программист). Я думаю, что проблема тут в том, что до сих пор не выработана система правильной постановки задач. В какой проект не посмотри — нужен какой-то фантастический персонаж, который умеет все, что надо. Но такого не бывает. Сейчас даже в рамках одного только JavaScript столько технологий наплодилось, столько подходов, что в какой проект не окунись, гарантированно найдешь то, с чем не сталкивался. И вот и получается, что какой-нибудь матерый спец с 10-летним стажем может еще себе позволить подключиться к проекту, из расчета, что знает точно многое, а чего не знает — доучит. А что делать тем, кто еще и пары лет опыта не имеет? Скажу точно: для таких — почти безнадега.

В итоге огромная пропасть существует между джунами и сеньорами. Практически никто не хочет брать джунов на работу, как минимум хотят мидлов (а лучше сеньоров, но не за дорого). А откуда набраться мидлам и тем более сеньорам, если джунов никуда не берут?

И как мне видится, тут есть два пути:

Заказчики (работодатели) научатся дробить проекты на правильные подзадачи, сумеют организовать правильную командную работу (возьмут толкового сеньора, который имеет огромный опыт, набил уже кучу шишек, и вот на этом проекте уж точно сможет сделать все правильно), и тогда появятся простые задачи для джунов и можно будет их брать массово на работу.

Самим программистам рассмотреть правильное развитие рынка, вычленить востребованные технологии и сосредоточиться на изучении именно этих технологий, чтобы лучше спозиционироваться на рынке.

Первый вариант я, конечно же, привел чисто риторически. Даже если такое и произойдет, это будет исключением из правил и на всех джунов не хватит.

А вот второй вариант очень даже реален. В свое время, когда я еще программировал на php, я сосредоточился на MODX и довольно долго сидел на этом движке. И хотя это не самый популярный движок, но все же вокруг него был сформирован рынок, а я сумел на этом рынке зарекомендовать себя экспертом, и с заказами проблем у меня не было. И хотя я уже года три с ним не работаю, до сих пор поступают заказы.

Вот и с JS у меня мысль: не пытаться изучить все необходимое. Если вы будете пытаться браться за любой проект, всего необходимого вы тогда просто не изучите. А сосредоточиться на каком-то определенном стеке, в рамках которого еще и может получиться вычленить отдельные профили (чтобы еще сильнее сузить для себя профиль обучения).

Здесь наверняка многие адепты программирования меня наругают, мол «Чему ты учишь новичков?! Потом наплодится куча быдлокодеров, которые только и смогут что позорить отрасль!». Но я здесь как мантру повторю: «Вам шашечки или ехать?». Мне совсем не понятно, почему программирование пытаются возвести в какой-то мифический ранг? Почему, если программист, то надо быть богом, а вот простым чернорабочим нельзя быть? Есть полно задач, которые не требуют семи пядей во лбу, но которые требуют определенных знаний. Если человек освоит эти необходимые знания, может он и не станет еще программистом в том смысле, как от него ожидают «отцы». Но этот человек вполне может получить работу и получать свою зарплату. А со временем человек будет получать опыт и расти профессионально дальше.

Повторюсь: не пытайтесь стать суперхацкером. Для начала достаточно научиться тому, чтобы решать какие-то определенные задачи, начать зарабатывать деньги хотя бы для того, чтобы с голоду не умирать. А опыт придет со временем. Когда вы уже получаете зарплату, можно развиваться спокойно, сколько душе угодно. А пока у вас нет еще ни того, ни другого, получается замкнутый круг: нет опыта, чтобы понять в каком направлении лучше развиваться и как скоро это начнет приносить денег, чтобы потом можно было получать необходимый опыт.

В данном случае я считаю, что без менторства просто не обойтись. То есть нужен тот, кто будет направлять, кто скажет: сейчас хорошие перспективы изучать такой-то стек, потому что он покрывает многие задачи и на него уже появляются вакансии на том же hh, так что если быстро освоишь необходимый минимум, имеешь шанс в скором времени устроиться на работу.

Итак, какой же стек я предлагаю выбрать?

Просто на всякий случай отмечу, хоть это уже и само собой разумеющееся. Без него вы просто не сможете в командную работу.

TypeScript

TypeScript — это не полноценный самостоятельный язык, а, по сути, надстройка над JavaScript, которая вводит типизацию в этот нетипизированный язык.

Вообще, я всегда был за то, чтобы учить выбранный язык в чистом виде, и только после этого переходить к каким-то готовым решениям (библиотекам и т.п.). Но в случае с TypeScript у меня мнение поменялось. Дело в том, что если мы говорим об обучении с упором на то, чтобы как можно быстрее влиться в коммерческую разработку, надо понимать, что априори мы рассчитываем на командную работу. Обучаясь в этом направлении, вы очень нескоро еще сможете взять целый проект в свои руки. Вместо этого вы будете работать с другими специалистами, совместно выполняя задачи. Но даже если вы сами будете тянуть какой-то проект, современный JS устроен так, что своего кода пишется минимум, а бОльшая часть проекта — это сторонние компоненты. Так вот, работая с большим количеством сторонних компонентов, у вас будет постоянная головная боль: Какие сущности в этих компонентах есть? С какими параметрами их можно вызвать (сколько параметров, какие типы)? Что в результате их выполнения ожидать? Вот если писать на чистом JS, вам постоянно надо будет держать это все в голове, все это знать, или постоянно сидеть в сторонней документации (которой может еще и не быть).

В случае же работы с TypeScript, вы как будто работаете не один, как будто кто-то сидит в вашей IDE и постоянно помогает вам в написании кода, следя за тем что и как вы пишете. И если вы что-то пишете не то, TS вам подсказывает, типа «Здесь ожидается логическая переменная, а ты строку пытаешься скормить» или «здесь условие никогда не выполнится, потому что ты пытаешься жестко сравнить число со строкой, а они никогда друг другу не равны» и т.п. То есть здесь смысл в том, что вы учитесь не тому «что делать», а тому «как делать». И это на самом деле сильно проще. Вам коллега ставит задачу «Забери по АПИ курсы валют и скорми массив числовых значений мне в компонент», и это уже довольно четкая задача, потому что вам уже определено условие: «дай массив чисел». Вы можете здесь ошибиться логически, к примеру, взяв не те числа не из того АПИ. Но вы не сможете скормить не массив, или массив не чисел. То есть решив, как вам кажется, задачу, получив результат и попытавшись отдать решение коллеге, уже IDE вам частично проверит результат, до того, как вы потревожите коллегу.

С typescript легко можно играться в playground. Вот пример.

Мой вердикт: если вы хотите в JavaScript, то изучайте сразу TypeScript. Вот прям сразу. И тогда вы сэкономите много своего времени, а более качественный код вы начнете давать довольно скоро.

React

Про React очень много написано и наверняка все слышали. Так же наверняка слышали и про другие библиотеки типа Vue, Svelte и т.п. Не хочу разводить холивар, но буду советовать выбирать именно React. Поймите правильно: я советую то, с чем сам работаю и что хорошо знаю. Так повелось, что я пишу на Реакт и знаю, что его хватает на большинство задач. А раз тема топика — на чем сосредоточиться по минимуму, чтобы в скором времени выйти на работу, говорить про все мы тут просто не можем.

Styled-Components

Само собой веб-интерфейсы — это JS+HTML+CSS. На чистом CSS уже давно никто не пишет, чаще используют препроцессоры типа SASS, LESS и т.п. Но я советую все же не изучать эти технологии, а сразу изучать styled-components. По моему опыту эта технология гораздо лучше подходит для использования в TS+React -проектах, так как получается более качественно типизацию проработать и гораздо проще работать с вложениями, оперируя не только классическими селекторами, но используя вместо селектором сами компоненты. Это позволяет более четко контролировать целостность проекта.

GraphQL

GraphQL довольно плотно устоялся на рынке API и лично я сейчас не работаю ни с чем, кроме как с GraphQL. И уверяю вас, что даже банки и прочие крупные организации, обновляя свой стек, все чаще выбирают именно эту технологию. Плюс использования ее в том, что когда вы пишете фронт и API-запросы, вы GraphQL схема помогает вам формировать запросы, подсказывая что и в каком виде можно запросить, и сообщая о синтаксических ошибках, если они были допущены. В добавок в одном запросе можно получать связанные данные на несколько уровней (если на бэке граф правильно приготовлен), что сильно упрощает работу с множеством запросов.

Next.JS

Не все проекты обязательно крупные и пишутся с нуля (хотя сейчас с нуля вообще уже мало что пишется, даже в очень крупных компаниях). Есть спросы и на простые сайта. А простые сайты должны не только просто работать, но и должны хорошо индексироваться поисковиками (то есть обязательно поддерживать качественную работу в режиме SSR (Server-Side-Rendering)), иметь высокие очки производительности (то есть конечные скрипты должны собираться с учетом лучших практик) и т.п. Поверьте, пытаться реализовать все это самостоятельно — очень серьезная задача, требующая огромного опыта и трудозатрат. Вместо этого советую взять Next.JS.

Next.JS — довольно популярный и уже довольно взрослый веб-фреймворк на JS+React плюс все остальное необходимое (включая перечисленные выше технологии). Есть много примеров реализации с применением различных технологий (включая GraphQL, Prisma, Nexus, Styled-Components и т.п.). На нем нельзя просто так сделать вообще все, но он вполне годится под 90%+ современных проектов. К тому же у него отличная документация и активное сообщество (даже в телеге есть очень активное русскоязычное сообщество, которое легко гуглится).

То есть если его взять, можно буквально в считанные дни сделать средненький сайт. А если у вас проект сильно сложнее, то все равно Next.JS наверняка пригодится, потому что он умеет не только в роутинг обычных HTML-страниц, но и можно выстраивать всевозможные API, при чем не только GraphQL. В общем, это такой мощный швейцарский нож с zero-configuration.

Резюме

Да, в сумме, перечисленные выше технологии — это совсем не мало. Но повторюсь — их достаточно для реализации многих проектов. И стратегия здесь следующая: если несколько человек будет изучать один общий стек технологий, то можно объединяться для реализации конечных проектов. И пусть каждый сам по себе не будет знать всего, все же можно разделять на более узкопрофильные задачи и каждый в отдельности может прокачиваться по более ему понравившемуся направлению (кто-то в React, кто-то в Styled-Components, кто-то в GraphQL). И на выходе получать комплексный качественный продукт. Нужен лишь хотя бы один боле менее опытный специалист, который понимает в целом как все это надо делать, который сможет поставить задачи, проверить результат, дать советы и т.п.

Но одной теории недостаточно. В своих размышлениях я пришел к тому, что в реальности практически невозможно создать какой-то четкий трактат, которому можно следовать и развиваться уверенно. Технологии постоянно меняются. Я рассчитываю на то, что приведенный выше список будет актуален хотя бы год-два. Но далее не известно. И расчет на то, чтобы обучение перспективным технологиям не занимало более трех месяцев, чтобы потом можно было хотя бы год-полтора работать с повышением з.п., а потом, в случае чего, взять месяц-два на перепрофилирование, если потребуется. Но при этом надо будет иметь возможность постоянно держать руку на пульсе в плане изменений течений в рынке и появления новых учебных материалов.

В итоге я решил, что для этого необходим ресурс, на котором были бы уроки, справочник технологий, проекты с задачами с указанием требуемых технологий и их уровней, обсуждение всего этого и т.д. в таком роде. Собственно говоря, я попытался реализовать такой апгрейд на своем сайте и многое уже сделано и в целом протестировано. Уже сейчас несколько человек обучаются и демонстрируют вполне нормальный прогресс. Вот я и решил, что хотя еще не все сделано, но «лучшее — враг хорошего». Уже сейчас проект выполняет многие задачи в плане совместного обучения. Если вы хотите тоже учиться, присоединяйтесь: https://freecode.academy

Сразу уточню, что скорее всего это подойдет только новичкам и только тем, кто действительно намерен чему-то научиться. То есть придется прикладывать усилия и первые ощутимые результаты будут только недели через две-три, а на коммерческий уровень надо потребуется минимум месяца два-три. Но гарантирую, что с моей стороны будет оказана всяческая помощь ученикам, и все это бесплатно.

Прекратите изучать фреймворк, станьте JavaScript-разработчиком!

Максим Кравец

Странный диалог, не так ли? Ведь очевидно, что основной профессиональный «скилл» водителя — умение управлять транспортным средством. Каким конкретно — вопрос, по большому счету, вторичный.

Всем привет, это Макс Кравец из Holyweb, и сегодня мы поговорим о том, почему фронтенд-разработчику важно учить JavaScript, а не фреймворк или библиотеку.

В чём вообще проблема?

Как ни странно — в техническом прогрессе. Современные фреймворки (даже если сами их создатели настаивают на термине «библиотека») имеют чрезвычайно низкий порог первоначального входа.

Для того, чтобы пополнить свое личное «кладбище велосипедов» путём создания очередного ToDo — знаний как таковых не требуется вообще. В сочетании с обилием в интернете обучающих материалов и примеров создания базовых приложений это приводит новичка в веб-разработке к простому и логичному решению: «Ни к чему мне разбираться с JS, лучше я потрачу время на изучение фреймворка».

Что дальше? Репозиторий на GitHub, пара пет-проектов, сделанных на базе просмотренных курсов, рассылка резюме, приглашение на собеседование…

Заканчивается всё возмущенными репликами в профильных чатах: «Я им показываю собственную соцсеть, которую сделал в одиночку за два месяца, а они меня просят рассказать про Event loop. Им разработчики нужны или теоретики. »

Без знания JavaScript джун обречён стать Ждуном

Сосредоточившись только на фреймворке, можно научиться клепать однотипные проекты по заранее заданному шаблону. Этого даже может хватить для небольшого местного веб-продакшна. Но стоит сделать шаг в сторону, и уже требуется понимание того, как всё устроено «под капотом». А внутри любимого фреймворка или библиотеки мы обнаружим тот самый JS.

Остаётся или ждать просветления (смотри заголовок раздела), или становиться не React (Angular, Vue, etc), а JS-разработчиком.

Но не будем копать так глубоко, возьмём простую ситуацию из реальной жизни. Вы написали компонент, используя свой любимый фреймворк, запросили с бэка данные и даже получили их. А теперь — отсортируйте, чтобы вывести в удобном пользователю порядке и добавьте фильтры по вкусу.

Что? Для этого фреймворк не предоставил инструментов? Правильно, это не его работа! Для манипуляций с полученными данными вам понадобятся знания JavaScript и классических алгоритмов. Гугл, конечно, поможет, но… если просто «надёргать» решения из интернета, то чаще всего следующим шагом будет запрос помощи зала в профильных чатах:

Все еще не убедил? Тогда — контрольный «в голову»!

Фронтендом мир веб-разработки не ограничивается!

Кому легче найти работу: тому, кто умеет делать только левые ботинки, только правые, или тому, кто может сделать пару, которую можно носить? Приложение — это не фронт, не бэк и не данные по-отдельности. Это единое целое.

Express, Next, NestJS помогут запустить сервер, PassportJS даст методы для авторизации, TypeORM поможет организовать взаимодействие с базой данных, RxJS откроет мир реактивного программирования, Nx позволит объединить всё это в рамках единого монорепозитория, Apollo построит запросы GraphQL, а NgRx — сформирует каркас управления состоянием приложения…

Набор библиотек может меняться, как и требуемая архитектура. Не изменится суть — все это доступно разработчику, знающему JavaScript. Хотите быть востребованы как специалист? Если да, то вы уже догадались, к какому выводу я вас подвожу.

Знание JavaScript — это свобода выбора

Мы в нашей компании занимаемся аутстаффингом IT-компетенций — формируем команды специалистов и усиливаем ими внутренние отделы разработки клиентов на срок от полугода под один проект. После чего приходит очередь другого заказчика.

Что это означает на практике для исполнителя? Возможность за недолгое время поучаствовать в разработке нескольких крупных проектов в разных сегментах — это раз. Быстрый рост скилов за счет «вращения в разных кругах» — это два. Что требуется от исполнителя? По большому счёту — смотри название статьи.

Заметьте — мы говорим о JavaScript-команде. И ищем, соответственно, JS-разработчиков. Почему? Да потому, что знание JS позволяет быстро вникнуть в любой фреймворк или библиотеку. Ведь в своей основе все они — лишь обёртки над самим языком

Будем считать, что я вас убедил. И что с этой убежденностью делать? Как изучить JavaScript в достаточном объёме за разумное время?

Те славные дни, когда начинающий разработчик обязан был накодить свой HelloWorld, ToDo и «блог с админкой», уже канули в Лету. Сегодня главный экспонат личного музея велосипедостроения уважающего себя фронтендера — собственный фреймворк на чистом JS без внешних зависимостей.

Даже если не получится составить конкуренцию лидерам (хотя как знать, как знать!), сам процесс поиска своих решений даст вам бесценный опыт и понимание не только того, как устроены современные фреймворки, но и почему они сделаны именно так. А главное — вы будете осознанно и всегда писать на JavaScript, используя требуемый в конкретном проекте фреймворк как всего лишь один из инструментов.

Остались вопросы, дополнения по теме или возражения? Пишите в комментариях.

Если хотите познакомиться с нами ближе, я всегда на связи в Телеграме @maximkravec.

Как не надо учить Javascript! Без aху### способов и рекламы (рассказываю для начинающих).

Смотреть видео Как не надо учить Javascript! Без aху### способов и рекламы (рассказываю для начинающих). на videozubrit бесплатно

1, 854 | 64
Василий Муравьев | 2 год.

Как не надо учить Javascript! Без aху### способов и рекламы (рассказываю для начинающих). - Видео онлайн

В этом видео я пошагово рассказываю как начать учить Javascript начинающим разработчикам. Видео основано на моем личном опыте и состоит из 2-х частей:
Базовая структура для начала изучения Javascript: https://t.me/stackdevru/4

Подпишись на мой канал: https://www.youtube.com/channel/UCBKVLoV7qzE_zkX8dMKvcXw?sub_confirmation=1

1) Подготовка к изучению Javascript
00:00 — Вступление
01:09 — #1 А что рекомендуют другие каналы?
03:39 — #2 Базовая теория + документация
04:37 — #3 Запуск VS Code
05:03 — #4 Создание базовой структуры проекта
06:02 — #5 Подключение файла JS + Установка Плагина LiveServer
07:26 — #6 Добаляем файл Javascript правильно

2) 7 Тем для изучения Javascript с нуля (последовательно)
10:08 — #1 Манипулирование DOM элементами
12:37 — #2 Манипулирование атрибутами DOM элементов
14:36 — #3 События в Javascript
18:45 — #4 Типы данных, сравнения и == / ===
21:49 — #5 Асинхронные запросы
24:06 — #6 ES6 Фичи
27:18 — #7 Основные методы массивов JS

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *