Учи JavaScript правильно. Путеводитель для растерявшихся


Оглавление (нажмите, чтобы открыть):

Современный учебник JavaScript

Перед вами учебник по JavaScript, начиная с основ, включающий в себя много тонкостей и фишек JavaScript/DOM.

Содержание

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

Язык программирования JavaScript

Здесь вы можете изучить JavaScript, начиная с нуля и заканчивая продвинутыми концепциями вроде ООП.

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

Самоучитель JavaScript

Что такое JavaScript

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

При помощи JavaScript делают:

  • Динамические слайд-шоу на страницах.
  • Можно сделать любые динамические эффекты с картинками, текстом, блоком.
  • Проверку форм перед отправкой их на сервер.
  • Многое другое.

Начинаем учить JavaScript

Далее читаем как вставить комментарии в JavaScript. Это нужно знать перед продолжением обучения, так как комментарии часто будут встречаться в коде. Вообще, в начале обучения придётся много читать, перед тем как всё сложится в общую картину и вы начнёте применять знания на практике.

Далее читаем синтаксис JavaScript — это, можно сказать, основа основ, точнее — одна из основ.

Далее читаем переменные JavaScript — это один из типов кирпичиков языка.

Над переменными можно совершать действия при помощи операторов, читаем операторы JavaScript.

Подробнее про некоторые операторы:

Далее изучаем возможность управлять ходом сценария: читаем условные коситрукции JavaScript: if и else и JavaScript: switch.

Далее, в сценарии часто нужно выполнить какую-то операцию многократно. Для этого используют циклы. Читаем: цикл for в JavaScript.

Сложные темы JavaScript

Получаем доступ к тегам и менаяем их свойства при помощи метода getElementsByTagName.

А как вы учили JavaScript?

17.03.2013, 01:09

Как Вы учили С++
Всем привет =). Хочу немного узнать о Вас, а именно, могли бы Вы мне рассказать историю, как Вы.

Как вы учили деревья
Здравствуйте. Помогите освоить деревя на с++. Ну например как кто учил может есть какая нить.

Как раньше учили новые языки?
В общем при поиске материалов по R с минимальным опытом программирования поймал себя на этой мысли.

Уважаемые программисты, какую книгу вы учили
У меня такой вопрос к тем кто в области C# уже не первый год, и знает его на 5 Какие книги вы.

Подскажите пожалуйста какую-нибудь книгу по изучению CSS. Что-то по чему вы сами учили например.
Здравствуйте. Подскажите пожалуйста какую-нибудь книгу по изучению CSS. Что-то по чему вы сами.

Уроки Javascript

Уроки JavaScript | #1 — Что такое JS? Введение

Видеоурок

JavaScript является преимущественно клиентским языком, обычно использующимся для работы на стороне клиента. С его помощью можно разрабатывать приложения с самым разнообразным функционалом. Это может быть: аналог механических часов, различная анимация, графические эффекты и другое. Ничего не мешает создать практически всё веб-приложение на JS.

Сегодня сложно переоценить роль JavaScript в вебе. Согласно статистике w3techs , сегодня свыше 95% сайтов применяют JS. Оставшиеся 5% — это преимущественно сайты визитки и одностраничники. Невероятная популярность языка делает его одним из самых желанных для изучения и выгодных в плане дальнейшего трудоустройства.

Основан в 1995 году компанией Netscape. Изначально предназначался в роли языка сценариев для их браузера Navigator 2. В начале пути носил название LiveScript. Разработчики воспользовались волной популярность Java и сменили название на JavaScript. Тем не менее по сей день их часто путают начинающие разработчики. Многие заявляют, что это одинаковые языки или имеют малозначимые отличия. Это совсем не так, JS и Java – совсем разные языки. Единственная схожесть в них – названия.

Изначально JS не имел большинства из сегодня доступных функций, его возможности были крайне скудными. Главной целью являлось лишь добавление небольшого интерактива странице. Разработчики хотели, чтобы результаты после нажатий на кнопки обрабатывались в пределах одной страницы.

По мере развития веба, вместе с релизом Node.js , JavaScript получил карт-бланш на активное развитие множества функций. Сегодня JS предоставляет намного больше возможностей для разработчика, чем когда-либо.

Сейчас JavaScript может использоваться и в качестве серверного языка. Прежде JS всегда рассматривался исключительно в качестве клиентского языка, работающего исключительно в браузере пользователя. Для работы с сервером приходилось пользоваться чем-то вроде Java , PHP , ASP.NET , Ruby . За счёт Node.js появилась возможность оперировать запросами на сервере посредством JS.

Несмотря на наличие возможности реализовать серверную часть на Node JS, большая часть веба использует для этого PHP. Это не только результат привычки, но и отсутствия необходимости в другом языке.

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

За счёт выхода новых версий Windows от 8 и новее, JavaScript стал использоваться для разработки десктопных приложений под перечисленные операционные системы. Иными словами, JS давно вышел за рамки веб-языка, который используется исключительно браузером.

Многое из того, что раньше называли фантастикой, сегодня успешно реализуется в JavaScript. Это особенно наглядно видно в популярном направлении программирования под IoT. Таким образом JS можно успешно применять для разработки программ вод все существующие умные устройства, поддерживающие работу с интернетом. Сегодня JS встречается практически везде, куда только добралась IT. Это в действительности популярный и невероятно функциональный язык, который планирует развиваться и дальше.

Ещё во время появления языка, браузеры Netscape и IE создали несколько отличающихся реализаций языка. Для унификации всех реализаций и восстановления общего знаменателя, разработали стандарт ECMAScript (управление стандартизацией взяла на себя ECMA). Если где-то увидите термин ECMAScript – это взаимозаменяемый синоним с JavaScript.

Уже сегодня ECMA разработала пару стандартов для JS, они удачно отражают прогресс в разработке самого языка. На сегодня актуальным считается ECMAScript 6 версии от 2015 года. Тем не менее многие браузеры ещё далеки от полной реализации данного стандарта. На завершение его внедрения может уйти ещё несколько лет. В силу этой причины довольно часто рассматривается стандарт ES5, как тот, который полностью поддерживается современными браузерами.

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

Инструменты разработки

Для создания кода на JS нужно всего лишь текстовый редактор и браузер, в котором можно тестировать результат. Один из простых и функциональных редакторов текста, который бы я советовал к использованию — Notepad++ . Вообще можно использовать любой удобный.

JavaScript поддерживает и ряд сред разработки, вроде Visual Studio, WebStorm, Netbeans. Они помогают создавать код значительно быстрее и проще.

Дополнительные курсы

На нашем сайте вы можете найти дополнительные курсы по языку JavaScript. Все курсы представлены на этой странице .

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

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

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

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

Справка: в разговорной речи специалисты употребляют названия «яваскрипт», «джейэс» и даже «жабаскрипт». Кстати, у нас есть мини-словарь профессионального сленга программистов.

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

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

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

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

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

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

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

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

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

В данной статье рассматривается перспектива изучения JavaScript для использования в разработке фронтенда.

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

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

JavaScript занимает первое место по популярности в сообществе разработчиков на GitHub. Этот показатель рассчитывается по количеству репозиториев.

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

О перспективах JavaScript подробно рассказывают эксперты в комментариях ниже. Стоит обратить внимание на два момента.

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

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

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

Сколько платят фронтендерам, или О зарплатах JavaScript-программистов

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

По данным trud.com на май 2020 года, средняя зарплата JavaScript-разработчика в России составляет 100 000 рублей. Больше всего вакансий на этом ресурсе с предложением зарплаты в диапазоне от 62 000 до 121 000 рублей (см. иллюстрацию). Чаще всего фронтенд-разработчики требуются в Москве, Санкт-Петербурге и Новосибирске.

По данным NewHR, вилка зарплат фронтенд-разработчиков уровня middle в июне 2020 года составляла от 160 000 до 190 000 рублей. По информации «Мой круг», медианная зарплата JavaScript-программиста в России во втором полугодии 2020 года составляла 85 000 рублей.


На сайте hh.ru по состоянию на конец июля 2020 года есть 81 вакансия для JavaScript-разработчиков в Казани (город взят для примера). Уровень зарплаты варьируется от 20 000 до 165 000 рублей.

Информацию по своему региону можно получить самостоятельно с помощью сайтов поиска работы.

Мастер Йода рекомендует:  Условные комментарии для IE

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

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

Сергей Рубанов: спрос на рынке труда JavaScript-разработчиков сильно превышает предложение

По вашему опыту, почему стоит изучать JS?

Несмотря на то, что JS имеет свои странности, он невероятно прост для изучения и терпим к ошибкам. Экосистема языка хорошо развита, так что если вы чувствуете в себе силы, то сможете легко настроить более строгие правила для написания кода, используя различные инструменты, позволяющие избегать популярных ошибок или даже добавить статическую типизацию. В данный момент JavaScript — единственный высокоуровневый динамический язык, доступный практически везде, в том числе (и в первую очередь) на веб-страницах. Это позволяет выучить один язык, частично переиспользовать готовые наработки для клиента, сервера, в роботостроении, для интернета вещей, даже для машинного обучения. А ещё у JavaScript огромное, невероятно классное и самое открытое комьюнити.

Какие перспективы у этого языка программирования по сравнению с другими языками?

JavaScript — один из самых распространенных языков в мире. В индексе TIOBE в данный момент он занимает 7 место (и индекс растет), а по количеству репозиториев на GitHub и популярности по результатам опроса Stack Overflow он находится на первом месте и является вторым желаемым языком после Python. Пакетный менеджер npm является самым крупным пакетным менеджером из всех существующих. Все это говорит о том, что перспективы у языка великолепные.

Будет ли он востребован в будущем?

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

Каковы перспективы JS-разработчика на рынке труда?

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

Почему новичку стоит обратить внимание на этот язык?

количество информации, которую можно найти в интернете;

развитая экосистема в виде огромнейшего количества библиотек и инструментов для разработки;

очень хорошее комьюнити;

одного языка достаточно, чтобы писать веб приложения, мобильные приложения, серверы и многое другое;

высокий спрос на рынке труда;

Сергей Рубанов, опытный разработчик и лидер сообществ. Приглашённый эксперт TC39 (комитет, который занимается разработкой языка JavaScript), участник WebAssembly Community Group, член команды Babel, соорганизатор BeerJS Moscow, WebAssembly Moscow, ведущий канала Juliarderity (совместно с Романом Дворновым).

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

По вашему опыту, почему стоит изучать JS?

JavaScript в последние годы стал набирать безумные обороты.

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

А в браузерах обосновался старичок JavaScript. Причем если лет 5-10 назад было стыдно говорить, что ты программируешь на JavaScript, так как его было сложно считать удобным и производительным языком, то после выхода ES6 удобство резко возросло и продолжает расти благодаря работе комитета TC39 (куда входят куча спецов из больших компаний), который развивает синтаксис языка.

Производительность языка постоянно увеличивается. Но благодаря большому комьюнити, интересу больших интернет гигантов к языку, неуклонно растет количество инструментария, которые сильно облегчает разработку. Например, ESlint (проверка стиля кода), Prettier — автоформатирование кода, Babel — для транспилинга кода и напиcания всяких AST-трансформеров, JIT-компиляторов.

Но что не может не радовать, так это TypeScript, который позволяет писать статически типизированный код (Flowtype проиграл для меня войну). Статическая типизация позволяет писать более стабильный и качественный код, дает плюшки автоподстановки в IDE. В общем, корпоративный сектор все больше задач может доверить миру JavaScript. Современный джаваскрипт с классами, декораторами, интерфейсами, типизацией все больше и больше становится похожим на Java в хорошем смысле этого слова. А если учесть, что JavaScript сейчас работает как на клиенте (в браузере), так и на сервере (NodeJS), то это это для бизнеса открывает возможность писать изоморфные приложения.

Будет ли этот язык востребован в будущем?

За пару лет популярность JS должна будет только расти. Ведь столько еще чудовищных интерфейсов вокруг, столько мертвых страниц, сгенерированных сервером. JS будет теснить PHP и Ruby.

Так или иначе JavaScript еще будет востребован как минимум лет 10, дальше прогнозировать сложно.

Что угрожает JavaScript/TypeScript:

WebAssembly маячит на горизонте, но он пока еще незрелый. Если проблемы с доступным функционалом и инструментарием. Со временем он отберет часть задач на себя (будет чуть меньше работы JS разработчикам), но убить JS он не сможет (т.к. он использует существующие части виртуальной машины JavaScript и ее среду изоляции).

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

В любом случаем надо постоянно учиться и развиваться, чтоб соответствовать текущему времени. Но, к бабке не ходи, лет через 10 надо точно будет чему-то сильно переучиваться.

Каковы перспективы разработчика JS на рынке труда?

Сейчас есть некий перекос в сторону фронтенд-разработчиков, которые производят wow-эффект на клиентов. К примеру, на Украине сейчас активно ищутся React/Vue/Angular разработчики. И нередко зарплата таких фронтенд-специалистов с опытом 1-2 года по зарплате соизмерима со среднестатистическим Java-бэкендером с опытом 6-8 лет. Нужны легкие деньги после универа?! Вперед в JS!

Почему новичку стоит обратить внимание на JS?

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

Павел Черторогов, архитектор информационных систем, GraphQL-гуру.

Роман Дворнов: 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 будут востребованы еще достаточно долго, пока программисты вообще будут востребованы, если вы понимаете о чем я 😉

Роман Дворнов, эксперт в области фронтенд-разработки, ведущий канала Juliarderity (совместно с Сергеем Рубановым). Профиль на GitHub.

Андрей Оконечников: будем ли мы писать JS через несколько лет — неизвестно, но 99% что мы будем продолжать компилировать в JS

По вашему опыту, почему стоит изучать JS? Какие перспективы у этого языка программирования по сравнению с другими языками?

Несмотря на интересные альтернативы, такие как ReasonML, Kotlin и уже существующие языки, которые компилируются в JS, такие как ClojureScript и Elm, это никак особенно не влияет на всё растущую популярность JS. Причина для того, на мой взгляд, в низком пороге входа и огромной экосистеме (npm). На JS написано несколько миллионов опенсорс модулей, которые можно установить за считанные секунды. Плюс возможность открыть консоль разработчика в браузере и начать писать код.

Развитие распределенных сред разработки, которые работают напрямую из браузера, например CodeSandbox, ещё более уменьшают порог входа для новичков. Инструменты разработки становятся лучше и лучше, позволяя использовать JS в больших командах.

Одновременно с этим, растущая производительность JS runtimes, например V8, делает использование этого языка все более приемлемым на платформах вне веб-браузеров.

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

Уже сейчас JavaScript — один из самых популярных языков программирования в мире. И со временем он только будет набирать популярность благодаря выходу на новые платформы, такие как IoT и тд.

Будет ли JS востребован в будущем?

JavaScript никуда не денется в ближайшее время, хотим мы того или нет. На этом языке уже сейчас написано огромное количество кода, и количество это будет только увеличиваться. И даже если появится более современный язык, веб-браузеры все равно будут вынуждены поддерживать JS. Так устроен web — вечная совместимость. Будем ли мы писать JS через несколько лет — неизвестно, но 99% что мы будем продолжать компилировать в JS.

Каковы перспективы разработчика JS на рынке труда? Почему новичку стоит обратить внимание на JS?

Сейчас перспективы как никогда лучше. Особенно связанные с фронтендом. Веб превращается в платформу для по-настоящему сложных приложений, и рынок просто не способен удовлетворить потребность компаний. Но JS не единственный фактор. Умение писать CSS и доступный HTML важны сегодня как никогда. Рынок JS разработчиков наполняется в основном из backend-разработчиков, переквалифицирующихся во frontend. Если вы видите себя во frontend, я бы очень рекомендовал обратить внимание на основы дизайна, user experience, HTML + CSS и, конечно же, JavaScript.

Если вы дизайнер и уже умеете писать разметку и CSS, я бы так же советовал начать изучать JavaScript. В будущем граница между JS и CSS-программистами будет исчезать, так как очень сложно сделать хороший user experience в Web без использования обоих языков.

Андрей Оконечников, фронтенд-разработчик и UI-дизайнер родом из Ярославля, живущий в Вене, Австрия. Более 10 лет он придумывает и разрабатывает пользовательские интерфейсы, используя современные веб-технологии. До этого он работал дизайнером веб-сайтов и пользовательских интерфейсов. Комбинация опыта дизайнера и разработчика помогает ему лучше понимать проблемы пользователей и находить оригинальные решения в пользовательских интерфейсах.

Андрей работал с такими компаниями, как Yandex, JetBrains, Feedly, Netlify и многими другими. Он основатель консалтинг-компании component-driven.io, специализирующейся на дизайн системах и сложных веб-интерфейсах, и создатель macOS приложения цветовой пипетки для разработчиков и дизайнеров ColorSnapper.

Александр Казаченко: на одного подходящего кандидата приходится 10 или более неподходящих, это печалит

По вашему опыту, почему стоит изучать JS?

Когда пользователи включают компьютер, смартфон или планшет, они первым делом запускают браузер. В основном именно в браузере люди развлекаются, работают и учатся.

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

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

И на сервере JS тоже имеет свою нишу в виде Nodejs.

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

Но если посмотреть не с точки зрения прагматизма, а с точки зрения энтузиазма, то в этом смысле JS тоже очень привлекателен.

Сейчас существует множество языков, транспилирующихся в JS (TypeScript, CoffeeScript, Kotlin и так далее), много фреймворков и библиотек разного уровня абстрактности, что позволяет разрабатывать на JS так, как нравится именно вам.

Какие перспективы у самого языка программирования в сравнении с другими? Будет ли он востребован в будущем?

Как я отмечал выше, у JS очень большой рынок, где он востребован и где ему нет аналогов (веб-браузер).

Мастер Йода рекомендует:  Работа с Web-сервером Russian Apache

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

На какое направление при изучении JS обратить больше внимания — frontend или backend?

Изначально JS применялся сугубо для frontend’а, соответственно и развился он больше в эту сторону. Но это не имеет никакого значения, при выборе направления — frontend или backend. Более значимым в этом выборе будет то, чем интересно заниматься именно вам. Так как язык один и тот же, разница только в окружении.

Какие перспективы у JS-разработчика в работе? Почему новичку стоит обратить внимание на этот язык программирования?

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

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

За последние 3 года я прособеседовал не менее 200 человек, и на одного подходящего кандидата приходится 10 или более неподходящих, это печалит.


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

Стоит ли браться за JavaScript: итоги

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

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

Примечание: мнение экспертов может не совпадать с мнением администрации и сотрудников Хекслета.

Как я перестал париться и научился с любовью использовать JavaScript

Дата публикации: 2020-04-24

От автора: еще пару месяцев назад я не мог смотреть на JS без нервов. Я на 100% устал от JS и не мог выйти из этого состояния. Оно продолжалось много лет. Сегодня я люблю использовать JavaScript и его экосистему. Что произошло?

Я использовал JS в той или иной форме с 90-ых. У меня есть книги, которые сейчас смотрятся довольно смешно. В них полно выражений document.write.

За последние пару лет JS сильно изменился. Поначалу я не успевал изучать все эти изменения. Я не мог принять столько много нового за раз. JS менялся, я же сопротивлялся. Я так долго его учил, а он вдруг стал меняться.

Я нашел комментарий в популярной статье «Modern JavaScript Explained For Dinosaurs». Там говорилось, что «изучать современный JS очень сложно, если не делать это с самого начала»:

«Я бы сказал, что учить с самого начала (да, я «такой» старый) еще сложнее — Tim Tate»

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

В 2012 я серьезно погрузился в JS и Node.js. ES6 для меня стал самым большим изменением в языке за все время, я такого раньше не видел. Предыдущее большое изменение было в 2009 с ES5. ES6 буквально все изменил. Это было настолько крупное обновление JS, что каждый день было столько много новых фишек, которые могли попасть в спецификацию, но вы не знали, попадут они или нет. И приходилось наверстывать упущенное, пока все в Twitter обсуждали, что же будет следующим крупным нововведением.

Var ушел в прошлое.

Function больше нет.

Прототипное наследование, на изучение которого ушло так много времени, исчезло, скрылось под классами.

И это было только начало.

Построение всего

Один из больших сдвигов – построение.

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

Когда подошло подкрепление Babel, поначалу я сражался еще жестче. Но все же в конце я поднял белый флаг и присоединился к врагу.

Я понял, что Babel это не какая-то прикольная библиотека, которая предлагает будущее, самые новые функции, и когда все это появится в браузерах, мы забудем о Babel. Нет, Babel в обозримом будущем останется.

Когда ES2020 будет полностью поддерживаться в браузерах, Babel разрешит ES2020, ES2020 и т.д. Выхода нет. Прими будущее, Babel – твой друг.

Используйте простейшие альтернативы

Инструменты – одна из сложнейших частей JS сейчас. Да, можно изучить вдоль и поперек Webpack, но если начнете, игнорируйте все и используйте готовые решения типа create-react-app, React Boilerplate, которые прячут мелкие детали от вас и позволяют сосредоточиться на коде.

Не начинайте с настройки окружения, учите с помощью Glitch: в изучении современного JS нет простейших тем.

Больше никаких огромных релизов

ES6 был настолько большим, что комитет ECMAScript решил делать релизы поменьше. Вот почему ES6 также называют ES2015, это был первый релиз с годом – теперь релизы будут выходить каждый год. Так легче изучать что-то. Будет меньше изменений, так как время их введения ограничено, и это предсказуемо (сдавайтесь, грядут изменения).

Игнорируйте шум

Если вы похожи на меня, вы фоловите в Twitter много людей, которые всегда находятся на самой передовой. Может быть, следующим трендом станут некие лидеры, которые будут диктовать свои мысли. Говорят использовать Х, все используют Х.

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

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

Новые фреймворки не выходят каждую неделю

В сети ходит шутка про «фреймворк месяца» или «новую библиотеку недели». Это правда, с JS работает огромное количество людей, и это замечательно. Это приносит инновации и эволюцию, характерный опыт JS за последние пару лет (что для экосистемы языка очень много).

Но что-то большое зачастую мало что меняет.

4 года – очень много в IT. Это стабильные технологии. Учите их, они останутся надолго, слишком надолго (и не уйдут).

«У вас полно времени, чтобы стать экспертом в любом из этих фреймворков. В ближайшее время они никуда не уйдут.»

Примите тот факт, что все приходит и уходит

У всего есть жизненный цикл.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

Пару лет назад везде использовали jQuery. Сейчас на нем редко начинают новые проекты.

В 2013 был популярен Backbone.js. Сейчас он пропал.

CoffeeScript стерли с лица земли.

Ember.js, Angular.js и Meteor выстрелили и держатся в топе несколько лет. Сейчас больше всего говорят за React, Vue и Angular (это не Angular.js).

Цикл таких основных фреймворков длится пару лет. У меня все еще много приложений на Ember.js, и все они хорошо работают. Если они работают, их не нужно обновлять. Я не планирую трогать их.

«Технология развивается и созревает. После о ней уже не говорят, ее используют.»

Вы не так глупы, чтобы использовать jQuery

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

Программирую на PHP уже долгое время, привык к нему. Нормально, что люди критикуют что-то популярное. Даже Go иногда критикуют за простоту, хотя в этом и фишка. Всегда найдутся такие люди.

В качестве примера процитирую твит Pieter Levels, который построил огромный независимый бизнес на одном PHP файле. Почитайте комментарии.

Как новичку, вам могут сказать, что вы выбрали старую технологию, которую больше никто не использует, и что нужно использовать React.

Помните: если для вас это работает, это правильный стек.

«Если для вас это работает, это правильный стек.»

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

Сейчас, скорее всего, вам не нужен jQuery. Но не вместо фреймворка – обычный JS очень хорош.

Другой важный момент – чрезмерное усложнение. Не используйте технологию просто, чтобы казаться умнее. Узнайте ее получше. Узнайте, когда фреймворк или библиотека помогут вам.

Вам не нужно знать все. Найдите баланс

Это может прозвучать как цитата из Twitter, но никто не знает всего. Никто не может выучить все, что сейчас происходит во front end разработке. Это вечная школа. Закончить ее не удастся.

Изучайте технологии с user-friendly документацией

Не случайно у React и Vue такая хорошая документация.

Это ключевая часть успеха.

JavaScript снова изменится

В прошлом году язык ECMAScript представил await/async. Сейчас они очень часто используются. Код на Promise выглядит просто ужасно, вы захотите все переписать.

vНо не делайте этого, лучше используйте новые функции под новый код.

То же самое будет в этом году с ES2020. Все поговорят о нем какое-то время, а потом вернутся к работе и начнут говорить о функциях ES2020.

Примите изменения. Это намного лучше, чем использовать технологию, которая через пару лет будет никому не нужна: JS никуда не денется!

Учите основы и ищите свой путь

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

Иногда вам хватит и 20% потраченного времени на 80% новых функций, не углубляясь в крайние случаи.

Путешествие только началось

По сравнению с другими языками JS все еще молод. Он очень популярен и за последние пару лет ему удалось сильно измениться. Язык каждый день привлекает много талантливых разработчиков. Удивительно представить, как мы будем писать через 10 или 20 лет.

Автор: Flavio Copes

Редакция: Команда webformyself.

Как создать сайт самому?

Какие технологии и знания необходимы сегодня, чтобы создавать сайты самостоятельно? Узнайте на интенсиве!

JavaScript. Быстрый старт

Изучите основы JavaScript на практическом примере по созданию веб-приложения


Лучший способ изучения JavaScript

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

Задание 0: поймите, что такое JavaScript и чем он не является

Перед тем, как приступить к изучению, потратьте минуту, чтобы понять чем является JavaScript и что он делает.

JavaScript это не jQuery, Flash или Java. Это отдельный язык программирования.

JavaScript — это язык браузера (на сегодняшний день, необязательно лишь браузера). Его главное назначение — добавить интерактивности статическим страницам. В браузере, он не заменяет PHP или Ruby. Он даже не заменяет HTML или CSS; вы будете использовать его в сочетании, вместе с этими языками. Также его не так проблематично учить, как вы возможно думаете или слышали где-либо.

Ещё одно небольшое примечание: вероятно, вам приходилось слышать о jQuery, самой популярной JavaScript библиотеке. Или вам довелось слышать о других известных JavaScript фреймворках, таких как Mootools, YUI, Dojo, и так далее. Какое они имеют отношение к JavaScript? Думайте о них, как о коллекциях JavaScript инструментов и функций; используя данные библиотеки, вы всё также пишете на JavaScript, на JavaScript с неким уровнем абстракции. Тем самым вы экономите большое количество усилий и времени.

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

Задание 1: пройдите курсы на Codecademy.com

Codecademy появился относительно недавно, создатели сайта утверждают следующее — “самый простой способ научиться программировать”. Вам нужно будет в этом убедиться! На данный момент на сайте имеется всего два курса: “Начинаем изучать программирование” и “JavaScript быстрый старт.” Это отличный способ окунуться в воды JavaScript. Упражнения очень похожи на Try Ruby, вы пройдёте короткие уроки, при этом программируя в браузере и наблюдая за финальным результатом. Во время учебного процесса, зарабатывая очки и получая новые достижения.

Если вы уже знакомы с другим языком программирования, пожалуй неплохой идеей будет начать с курса “JavaScript быстрый старт”; если же до этого вы не писали код (за исключением HTML и CSS), в таком случае “Начинаем изучать программирование” придётся, как нельзя кстати. Codecademy бесплатный, но вам нужно будет зарегистрироваться.

Задание 2: скринкасты на appendTo

Ребята с appendTo сделали потрясающую серию скринкастов, специально для начинающих. Если вы хотите изучить JavaScript правильным (и лёгким) способом, обязательно обратите внимание на данные уроки. Видео уроки всегда являются большим плюсом во время процесса обучения.

«Поднимите свои навыки владения JavaScript на следующий уровень с нашим новым учебным курсом. Никакой регистрации. Никаких уловок. Мы не шутим!»

Задание 3: прочитайте стоящее введение в JavaScript

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

Ниже представлен набор хороших книг, в которых вы найдёте подробное введение в JavaScript:

  • Повторное введение в JavaScript (JS учебник) — это введение на официальном сайте Mozilla Developers Network, подробно описывает тонкости языка JavaScript. Тут вы найдёте много информации и примеров кода.
  • Выразительный Javascript — бесплатная книга написана Marijn Haverbeke, также вы можете приобрести печатное издание на Amazon. Книга предоставляет больше информации нежели введение на MDN, она покрывает не только сам язык JavaScript, но и описывает такие тонкости и аспекты, как стиль вашего кода и использование JavaScript в браузере. Слово “выразительный” в названии отнюдь не преувеличение.
  • Getting Good with JavaScript — Да, да, это моя собственная книга, но есть и другая причина почему я включил её в этот список. Она сильно отличается от других введения, которые я перечислил до этого; в ней я описал только те вещи, которые понадобятся вам, если вы хотите начать программировать, как можно скорее. Также к ней идёт шесть часов скринкастов, так что если вам нравятся скринкасты, не проходите мимо. (И да, это платная книга)
Мастер Йода рекомендует:  Магические методы PHP

Задание 4: установите и разберитесь с принципами работы Firebug (или инструментами разработчика)

Как только вы начнёте работать с JavaScript в браузере, вам следует установить Firebug и ознакомиться с его функционалом. Firebug — это плагин для Firefox, поможет вам во время работы над созданием веб-страниц и их отладке: думайте о нём, как о хирургическом ноже веб-разработчика. Не пользуетесь Firefox? Предпочитаете Safari или Chrome? Нет проблем: для вас есть встроенные инструменты разработчика, очень похожие на Firebug.

На Mac вы сможете открыть панель инструментов разработчика, нажав Option + Command + I , на Windows или Linux нажмите Control + Shift + I .

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

Задание 5: прочитайте книгу

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

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

(Обратите внимание: в то время как все книги доступны на Amazon, я оставил ссылки на сайт издателя, там вы найдёте пробные главы, для ознакомления.)

  • Профессиональный JavaScript для веб-разработчиков — написана Nicolas C. Zakas, в этой книге есть всё необходимое. Если вам приходилось читать работы Zakas’а прежде, должно быть вы знаете, что он довольно тщательно подходит к освящению вопросов в своих произведениях. Помимо языка JavaScript, книга помогает понять особенностями JS в браузере.
  • JavaScript 24-hour Trainer — эта замечательная книга была написана Jeremy McPeak, работы Jeremy также можно найти на Tuts+. Это не только лишь книга: а также DVD с 4-мя часами видео-туториалов. Здесь вы найдёте 42 видео-урока, автор разберёт все аспекты языка, начиная от синтаксиса, заканчивая гайдлайнами и оптимизацией кода.

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

  • JavaScript Шаблоны — от автора Stoyan Stefanov. Я только что закончил читать эту книгу и теперь сильно сожалею, что не сделал этого раньше. После её прочтения вы узнаете, как организовать JavaScript код, очень важный навык, которым обладают не все JavaScript программисты.
  • JavaScript: Сильные стороны — написана Douglas Crockford. Эта маленькая книга объяснит, что хорошо, а что нет в языке JavaScript.

Задание 6: создайте что-нибудь

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

Что же вы можете создать? Вы можете сделать всё что угодно, но вот вам несколько идей:

  • Фотогаллерея: показывает набор фото-миниатюр, а также основное фото. Когда пользователь нажимает на миниатюру, ему показывается большая версия миниатюра (не сама картинка миниатюры), заменяя текущее основное фото. Приятным бонусом будет, если вы расположите поверх миниатюры заголовок с alt текстом, или создадите бесконечную цикл, на тот случай, если пользователь не нажимал на картинки в течении одной минуты.
  • To-do List: Возможно эта задача кажется вам непростой; но я не прошу сделать полнофункциональное to-do приложение. Просто сделайте поле для текста, рядом разместите кнопку; когда пользователь нажимает кнопку, введённый в поле текст становится пунктом в списке ниже. При нажатии на пункт в списке он должен удаляться. Звучит довольно просто, но есть несколько проблем, которые стоит решить, при реализации данной программы и над которыми вам, как начинающему, будет неплохо подумать.
  • Анимированный блок: работа над анимацией всегда была занятием не из легких, однако в данной задаче вам необязательно создавать сложные эффекты. Добавьте div с текстом внутри и несколькими кнопками выше. Одна кнопка будет менять ширину, другая высоту, следующая кнопка будет менять фон блока. Самое главное, чтобы изменения происходили плавно, допустим, за одну секунду. Всегда помните — Google ваш друг, особенно если до этого вам не доводилось работать с анимациями в JavaScript.

Я уверен у вас есть и другие идеи, которые могут стать интересными проектами и неплохой практикой. Конечно вам придётся выйти из зоны комфорта — это единственный способ научиться чему-то новому.

Также обратите внимание на JavaScript категорию, здесь на Tuts+, где вы найдёте огромный список туториалов, неважно новичок вы или профессиональный разработчик.

Задание 6: начните изучать JavaScript библиотеку

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

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

Самые популярные библиотеки

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

Задание 8: следите за активностью профессиональных разработчиков

В интернете можно найти множество гениальных JavaScript разработчиков, которые каждый день создают что-то новое и интересное, что-то, что вы бы не хотели пропустить. К счастью наш, всегда бодрствующий, редактор Siddharth, создал список ”33 Разработчика на которых вы должны подписаться, будучи JavaScript зависимым.» Отложите все ваши текущие дела и подпишитесь на этих разработчиков. Я требую этого!

Всегда можно найти ещё больше информации, если вам её недостаточно. На данном веб-сайте регулярно появляются новые посты о JavaScript, так что, оставайтесь с нами. Кроме этого, обратите внимание на JavaScript Show — подкаст о новинках в мире JavaScript. А также, я настоятельно советую подписаться на e-mail рассылку JavaScript Weekly.

Заключение

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

Как и где правильно(быстро и продуктивно) учить Javascript?

Есть подробный план по изучению JavaScript с нуля, однако сейчас знать JavaScript в чистом виде мало. Вам может понадобиться изучить один или несколько других технологий, таких как Angular, React, Vue.js, Redux и т.д. Стоит глянуть такие материалы:

Также вам может пригодиться знание Node.js — с помощью такой технологии можно будет сделать бэкенд на JavaScript, есть неплохая подборка для его изучения:

Если есть английский советую начать с

Что это дает? Базовое понимание синтаксиса, перестанешь смотреть как на абракадабру. Уровень заданий — детский. Если учить по книжке — то можно и забить, а тут — всё разделено на четкие этапы.

Обязательно открывай IDE или редактор и попрактикуйся. На этом этапе создай какой-нибудь простенький UI (чаты, поп-апы и тд.).

Ну и переходи к фреймворкам. Можно начать со всяких how-to, но лучше официальной документации ничего быть не может. Ее нужно перечитать вдоль и поперёк. Заведи себе конспект и записывай простые определения.

В догрузку прихвати книгу из первого поста.

Как учить JavaScript

«Javascript is to programming what jazz is to music.»

Эта статья о том как я изучал/продолжаю изучать замечательный язык JavaScript. Думаю объяснять для чего учить JavaScript нет необходимости, достаточно прочитать статью «Актуальные технологии и тренды в веб-разработке».

Начал с курса по JavaScript на codecademy.com, прошел примерно половину, параллельно начал изучать основы на learn.javascript.ru, удобнее купить книгу в epub/pdf learn.javascript.ru/ebook.

После этого начал читать книгу «Выразительный Javascript» автор: Marijn Haverbeke (karmazzin.gitbooks.io) (upd: прочитал 7 разделов из 22).

Потом переключился с codecademy.com на отличный сервис для изучения freecodecamp.com, прошел разделы: «Basic JavaScript», «Object Oriented and Functional Programming», начал проходить «Basic Algorithm Scripting» (upd: прошёл 3 из 7).

Начинал читать «JavaScript. Подробное руководство» автор: Дэвид Флэнаган (ozon.ru), понял, что на данном этапе для меня это скорее справочник, решил искать дальше. Наткнулся на курс по JavaScript на hexlet.io все объясняется очень доходчиво, курс опирается на книгу «JavaScript. Сильные стороны» автор: Дуглас Крокфорд (ozon.ru) и на его лекции, хорошо после просмотра курса прочитать эту книгу (upd: прочитал 43 страницы из 173).

Сейчас есть идея пройти курс «JavaScript/DOM/интерфейсы» у Ильи Кантора (learn.javascript.ru/courses).

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

Множество полезных ресурсов можно почерпнуть из первой записи блога «Как стать классным фронтенд-разработчиком» (kirillzharov.ru/how_to_become_cool_front-end_developer), подборка курсов, книг для изучения, статей, видео по JavaScript по ссылке kirillzharov.ru/frontend.

Статья основана лично на моём опыте изучения JavaScript и не претендует на единственный оптимальный вариант, она будет пополняться в процессе изучения.

Буду рад, если в комментариях поделитесь своим опытом изучения JavaScript и поделитесь полезными ссылками!

Если вы решили изучить JavaScript

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

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

  • Эрик Фримен, Элизабет Робсон. “Изучаем программирование на JavaScript”. С этой книги рекомендуется начинать новичкам в программирование и JS в частности. Язык книги очень простой, текст постоянно разбавляется забавными картинками и советами. Местами книга вовсе похожа на “комикс”, но это идет ей только на пользу. Профи из тебя книга не сделает (как и любая другая), но фундамент заложит хороший.
  • Николас Заказ. “JavaScript для профессиональных веб-разработчиков”. Отличная толстая книга, которая поможет прокачать свои навыки, полученные после прочтения предыдущей книги. Местами книга устарела (JavaScript быстро развивается), но в этом нет ничего страшного.
  • Дэвид Флэнаган. “JavaScript. Полное руководство”. Наверное это самая толстая книга о JavaScript. Постоянно выходят новые издания и каждый JS разработчик раз в жизни просто обязан ее почитать/полистать.
  • Джон Резиг, Беэр Бибо “Секреты JavaScript ниндзя”. Небольшая книга, которая прекрасно систематизирует знания по JS и учит всяким интересным премудростям.
  • Стоян Стефанов. “JavaScript. Шаблоны”. Если вы успешно усвоили JS на базовом уровне, то самое время приступить к знакомству с шаблонами проектирования. Книга Стояна Стефана поможет справится с этой задачей.
  • Кайл Симпсон. «ES6 & не только«. Новая книга по актуальной версии ES6. Все новшества разбираются на примерах.
  • Николас Закас. «ECMAScript 6 для разработчиков«. Еще одна хорошая по новой версии ECMAScript. Автор в представлении не нуждается.

Ресурсы, статьи

  • Learn JavaScript — современный учебник JavaScript. Если вы решили заняться изучением JavaScript здесь и сейчас, то ресурс LearnJavaScript сможет помочь вам в этом нелегком деле. LearnJavaScript — полноценная книга по JavaScript. Информация постоянно обновляется и актуализируется.
  • MDN — MDN (Mozilla Developer Network). Ресурс, который должен быть в закладках у каждого JS-разработчика.
  • Более 800 ресурсов для front-end-разработчиков;
  • Awesome JavaScript. Подборка полезных ресурсов по изучению JS;
  • JavaScript паттерны…для чайников;
  • JavaScript: ООП, прототипы, замыкания, “класс” Timer.js;
  • Понимание ООП в JavaScript;
  • Перевод книги “Выразительный JavaScript”;
  • Краткое описание всех важных тем, связанных с применением JS. Приведены примеры использования, трюки и т.д.

Видео для JavaScript разработчиков

  • Канал “Академия Яндекса”. JavaScript разработчикам будет полезно посмотреть ШРИ (Школа разработки интерфейсов).
  • Канал “Веб-стандарты”. Видео с различных конференций.
  • uWebDesign обзоры и подкасты про Web-технологии.

Подкасты

  • Радио JS. Пожалуй, лучший русскоязычный подкаст о JS.

Список ресурсов будет постепенно пополняться.

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