JavaScript книги, курсы | что читать/смотреть | с чего начать
Приветствую, я сейчас делаю роадмап/план изучения по фронтенду, недавно закончил расписывать вводные уч. материалы по js, думаю это будет многим полезно, сделал в формате отдельного поста.
40 показов
3.3K открытий
Сам роадмап в телеге, все в лайве, примерные сроки 6 месяцев, если хотите изучить фронтенд, welcome ( https://t.me/into_frontend ).
1. Взаимозаменяемость уч.материалов
Это очень важно, понимание этого способно решить кучу проблем, особенно на ранних этапах.
Изучение программирования не похоже на изучение какой-нибудь философии, нет кардинально разных взглядов на предмет(каких то определенных школ), способных изменить всю картину.
На практике это означает, что можно как угодно жонглировать учебными материалами. Если произошел какой-то затык и после изучения определенной темы, она все еще остается непонятной, хорошая идея — посмотреть как об этом рассказано в других книгах/курсах. И чем больше учебных материалов, тем выше вероятность найти подходящее объяснение.
При очень большом желании, можно читать главу про функции у одного автора, типы данных у другого, ооп у третьего, и условные 10 глав ввода в ЯП разложить на 10 разных авторов. В этом не много смысла и скорее всего это не очень удобно в плане восприятия, но даже такой странный метод никак не собьет с пути правильного изучения.
2. Начать выстраивать план изучения лучше с какого-то опорного уч.материала
Он должен быть достаточно полным, и служить ориентиром для всего дальнейшего изучения. Важна именно функция ориентира, не обязательно двигаться конкретно по этому учебному материалу(но можно и двигаться, как хотите), важно именно мочь с ним свериться и понять на каком этапе находитесь, что уже пройдено, какие темы еще не закрыты и т.д. и т.п.
В целом, я бы разделил на два уровня: для начинающих и для продолжающих. Преимущество второй категории — больше и глубже, недостаток — не оч. оптимизировано для тех кто хочет начать с нуля.
В JS для роли такого опорного материала отлично подойдут:
2.1.https://learn.javascript.ru — легендарный сайт, он всем хорош, однако ребята которых я менторил приходили ко мне вот с какой проблемой:
-прочитал главу на learnjavascript, все понял, задачи в конце решил, после открываю codewars, беру задачи по теме, не могу решить без открытой в соседней вкладке той самой прочитанной/понятой/прорешенной главы, как так?
Дальше мы обсудим эту тему, важно — это не проблема уч.материала, с ним все в порядке, это проблема самого языка, ничего тут не поделаешь, js имеет это странное свойство — маскироваться под очень простую понятную штуку, а потом ‘ускользать’, когда дело касается реального применения.
2.2.Флэнаган Дэвид, JavaScript. Полное руководство (книга с носорожком)
Просто лучшая книга по js, должна быть у каждого работающего с языком. Без малейшего понятия, почему ее рекомендуют начинающим, это немного сложноватый заход.
Я ее буквально сейчас держу в руках, и на задней обложке красуется “книга предназначена для программистов, желающих изучить js”, еще раз, ‘для программистов’, а не для новичков.
В любом случае, книга великолепна, ее обязательно надо будет прочитать. И как опорный материал — лучше некуда.
3.Ускользающий js
Тема кажется усвоенной, но когда дело касается применения полученных знаний, то обнаруживается куча пробелов.
Все дело в том, как js устроен и в его истории развития, если совсем просто — у js очень необычный дизайн, как следствие — он не учится также эффективно, как и другие языки.
Например, когда я писал об изучении питона, то настаивал на отходе от абстрактных задач к реальным, при том как можно быстрее. Все просто, реальные задачи питона в разы сложнее ‘созданных для проверки усвоения языка’.
В js все с точностью до наоборот, можно хоть сразу приступать к реальным задачам, и решать, разумеется, криво-косо, компонуя из кусков кода, который даже не до конца понимаешь. И это огромная проблема, сколько угодно случаев, когда начинающий уверен на 100% в знаниях ЯПа(ну он же на нем проектики воял), а потом оказывается, что решить пресловутый fizzbuzz(задача, буквально, про самые основы) не получается.
Я как-то делал видео (там есть привязка ко времени, но если не сработает — 8:35) про питон, где затрагивал весьма искусственно разбиение на уровни(планирования и реализации). Так вот, js — это игровая площадка для уровня планирования.
Поэтому, как бы это печально не было, нужно намерено решать кучу абстрактных задач, для закрепления языка. Прочли о массивах, считайте вы только прикоснулись к прекрасному, по настоящему материал будет усвоен не после применение парочки методов в очередном ту-ду листе, а после прорешивания задач эдак 30-50 на codewars.
4. JavaScript с нуля, Чиннатхамби Кирупа
Эта книга — отличный(возможно лучший) вариант для старта. Материал изложен в ней именно последовательно, это не просто объяснить, но в сравнении с другими вводами в js, сразу станет понятно, почему это огромное преимущество, к тому же, книга совсем не перегружена(в js с этим проблемы).
На гугл книгах(прост вбейте название в гугле, справа будет карточка книги) доступен предпросмотр 80 страниц, тут проще один раз посмотреть, чем читать почему она хороша.
5. Freecodecamp
Freecodecamp[англ.] — является олицетворением вот этого ‘научим всех программировать’. Если вы спросите программиста из Америки/Канады, то вероятность 90% порекомендуют его или аналоги(например, codeacademy). Из аналогов выделяется тем, что это буквально пик подобных проектов.
Freecodecamp ‘nonprofit organization’, т.е. у них все бесплатно, но время от времени будут просить сделать донат, по моему в виде подписки(разумеется, все добровольно, можно и не делать).
Есть курсы начиная с основ html и до React-a, дают сертификаты(честно скажу, никому никакие сертификаты не нужны, но все же), куча задач, вполне себе хорошая теория, и оч крутой форум. Также есть отдельные задания-проекты.
6. Введение в программирование, hexlet
Давайте я сразу скажу, это не реклама, я не говорю ничего про их платные курсы, речь только о бесплатном.
https://ru.hexlet.io/courses/introduction_to_programming очень крутой курс введения в программирование, подача на высшем уровне.
Этот же курс есть на степике https://stepik.org/course/13929 , правда там он несколько урезан
7. Выразительный JavaScript
Один из самых примечательных вводов в ЯП. Отличная книга, много кода, много примеров, все хорошо объяснено, отдельно хочется отметить главы-проекты, чего только стоит проект — создание маленького языка программирования.
Ну и разумеется, документация JS, там есть отличные туториалы, стоит ознакомиться.
9. Есть еще один курс, о котором нельзя не упомянуть. Сразу скажу — сложный, но абсолютно потрясающий. Я бы даже сказал, что он единственный в своем роде. Более полного и глубокого я не видел, что сказать это настоящий академический подход.
Этот курс стоит хотя бы просто посмотреть, поскольку пройти его с нуля получится очень не у многих. Наверно есть смысл подучить язык, а уже потом к нему вернуться.
5 бумажных книг, которые стоит купить начинающему JavaScript-разработчику
В подборках книг для начинающих разработчиков часто встречаются издания, которые сложно осилить даже тем, у кого есть серьезный опыт в программировании. Кажется, что новичкам остается учиться только с помощью Google и специализированных форумов. Но иногда хочется передохнуть от всех электронных ресурсов и полистать бумажную книгу.
Опрос опытных разработчиков JavaScript помог преподавателю GeekBrains Александру Пряхину выбрать пять изданий, которые будут полезны именно новичкам и в доступной форме помогут им разобраться с самым нужным минимумом.
JavaScript для детей. Самоучитель по программированию
Эта книга с возрастной маркировкой 6+, но не спешите пренебрежительно ухмыляться. Автор издания, frontend-разработчик Twitter Ник Морган, сразу предупреждает, что книга написана для детей, но отлично подойдет тем, кто собирается изучить JavaScript с нуля.
Вся теория аккуратно разложена по полочкам, объяснения – на простом и доступном языке, а задачи довольно увлекательны и для взрослого (например, написать игры «Найди клад» или «Змейка»). Чем не идеальный учебник для новичка?
Еще в начале книги автор объясняет, как правильно учить JavaScript, но это универсальные советы для изучения любого языка программирования
- Изучение языков программирования похоже на освоение иностранного языка. Важно выучить грамматику и запомнить много новых слов, постоянно исследовать код и писать на нем, пока не научитесь свободно выражать им мысли.
- Каждый новый пример кода важно тут же тестировать, не откладывая на потом.
- Чтобы понять, как работает код, вносите в него изменения и смотрите на результат.
- Делайте готовые упражнения из книг и придумывайте себе задачи самостоятельно – доводите свой код до совершенства (например, чтобы прокачать навыки в интерактивной форме, регистрируйтесь на таких сайтах, как codewars.com).
- Сверяйтесь с готовыми ответами, но помните, что в любом языке программирования будет много вариантов для решения одной и той же задачи.
В книге 17 глав с самой базовой и необходимой теорией для того, чтобы начать писать. Есть глоссарий, отдельная часть с упражнениями и сайт поддержки, где можно себя проверить.
Кстати, автор приводит отличный аргумент, почему стоит выбрать для изучения JavaScript:
«Изучать его гораздо проще и интереснее, чем многие другие языки. Но, пожалуй, самая веская причина такова: чтобы писать и выполнять JavaScript-программы, достаточно интернет-браузера – такого, как Internet Explorer, Mozilla Firefox или Google Chrome. В каждый из этих браузеров встроен интерпретатор JavaScript, который сможет выполнять JavaScript-программы. И никакого специального программного обеспечения вам не понадобится. Написав программу на JavaScript, отправьте ссылку на нее другим людям, и они тоже смогут ее запустить – у себя на компьютере, в браузере».
Советую не смущаться и приобрести этот приятный учебник начинающим разработчикам. Читать его легко, а после выполнения всех упражнений более серьезную литературу будет изучать гораздо проще.
JavaScript. Карманный справочник
«Книга с носорогом» — так называют ее опытные разработчики. Автор книги — Дэвид Флэнаган, JavaScript-программист в Mozilla.
В этой книге нет лирических отступлений и даже предисловий от автора. Вся информация подается очень структурированно, но достаточно подробно для карманного справочника.
Единственная метафора, которая есть в книге — иллюстрация на обложке. На ней изображен яванский носорог. Как поясняют издатели:
«Известны пять видов носорогов. Все они имеют крупные размеры, один или два рога, трехпалые конечности и толстую кожу, напоминающую броню. Как и суматранские сородичи, яванские носороги обитают в лесах. Они похожи на индийских носорогов, но немного меньше по размеру и обладают рядом других отличительных признаков».
Такое образное сравнение JavaScript c другими языками придумали иллюстраторы книги.
Нужно сказать, что у Дэвида Фленегена много других книг, в том числе, «Javascript. Подробное руководство» — очень длинный и подробный разбор всех тонкостей языка. Но многие разработчики отмечают, что именно этот маленький справочник гораздо удобнее использовать в работе — нет лишней воды, вся нужная теория четко собрана и структурирована. Также знатоки говорят, что перевод этого издания гораздо лучше подробного руководства и советуют покупать именно его.
Книга разбита на теоретические блоки. После каждого есть пример кода. Особенно стоит отметить главу 10 «JavaScript на стороне клиента», где классно описана реальная рабочая среда. В ней автор разбирает код уже в контексте — на стороне клиента.
Но нужно отметить, что это не учебник, а именно справочник, в котором не объясняются базовые вещи типа let или prototype. Справочником удобно пользоваться только тогда, когда вы уже немного погрузились в работу — он дает ответы на конкретные вопросы прикладного уровня.
Уже с первой главы на вас посыплются незнакомые термины. Поэтому книгу стоит использовать не для старта, а в качестве поддержки, когда вы уже начали выполнять задачи, которые получаете на курсах или ставите себе сами.
Изучаем программирование на JavaScript
Это книга из популярной серии Head First, которая сильно отличается от других необычным форматом — много иллюстраций, неожиданных примеров, забавных героев. Читать учебники Head First — почти как листать комиксы, но пусть вас не смущает легкомысленный на первый взгляд формат. Все примеры — актуальные и живые, их подробно и очень понятно объясняют авторы — известные практикующие разработчики с отличным чувством юмора.
Посмотрите, что авторы этого издания написали на первой странице книги:
«Посвящается JavaScript — ты не родился в благополучной семье, но превзошел все языки, которые пытались конкурировать с тобой в браузерах».
У авторов книги, кроме блестящей преподавательской карьеры, есть крутой опыт разработки на JavaScript. Эрик Фримен почти 10 лет работал техническим директором в Disney Online, проводил исследования в Йельском университете и защитил блестящую диссертацию об интерфейсах.
Элизабет Робсон — магистр в области компьютерных технологий, создатель сайта Ada Project, который помогает женщинам найти информацию об образовании и трудоустройстве в ИТ-сфере.
Оба эксперта знают, о чем говорят, и с большим энтузиазмом раскладывают по полочкам все, с чем обычно сталкиваются начинающие разработчики на своих первых проектах. Вот о чем они предупреждают читателей в самом начале:
«У JavaScript есть масса достоинств, но есть и другие, не столь замечательные стороны. Но в целом JavaScript — прекрасный язык для тех, кто умеет разумно пользоваться им. В этой книге мы научим вас эффективно использовать хорошие стороны, а также укажем на возможные ловушки и посоветуем, как их лучше обойти».
В книге есть удобное оглавление, в котором расписано, что и как вы будете изучать. Если какая-то информация уже вам знакома и понятна, можно начинать со второй или третьей главы. В каждой есть практические задания и они усложняются.
Для того, чтобы работать с этой книгой, у вас должны быть базовые знания по HTML и CSS. Тем, кто еще не разобрался с этой темой, авторы предлагают изучить издание «Изучаем HTML, XHTML и CSS».
Главный недостаток издания — цена. Даже в мягкой обложке книга обойдется вам примерно в 1500 рублей. С другой стороны, за эту сумму вы получаете целый курс по JavaScript. Главный плюс изданий Head First — большое количество практики, по сути, это книга-курс. Чтобы получить от них максимум пользы, нужно читать и тут же выполнять все задания, которые усложняются с каждой главой и помогают хорошо прокачивать навык.
You don’t know Java Script
Это серия из 6 небольших книг, написанная Кайлом Симпсоном, евангелистом Open Web, ведущим экспертом по Java Script.
На русский язык пока переведена только одна из книг — «ES6 и не только». Она рассказывает о ECMAScript 6 (ES6) — последней версии стандарта JavaScript. В книге очень подробно описаны все новые элементы синтаксиса. Разработчики жалуются только на то, что переведена всего одна книга из серии, но называют ее самой актуальной.
Как и в любой хорошей книге по программированию, здесь много разборов и примеров кода.
Автор умеет мотивировать, например, вот что он пишет вступлении:
«Даже если что-то работает нужным мне образом, я не готов удовлетвориться самим этим фактом — мне важно понять, почему и как оно работает. Хотелось бы, чтобы вы разделили мой подход. Я ненавязчиво зову вас пройти по тернистой дороге, которой мало кто ходил, и полностью осмыслить, что представляет собой язык JavaScript и какие возможности он дает. И когда вы будете обладать этими знаниями, ни одна техника, ни одна платформа, ни один новый подход не окажутся за пределами вашего понимания».
Единственный минус—– приступать к изучению этой книги автор советует, только когда вы изучили все остальные. Если вы только взялись за JavaScript и хорошо владеете английским, мы советуем первую книгу из этой серии — Up&Go. Кайл Симпсон называет ее картой, которая поможет уверенно двигаться в новой области.
Секреты JavaScript-ниндзя
Джон Резиг, создатель библиотеки JQuery для JavaScript, написал эту книгу в 2008 году, когда в профильной литературе еще не были доступно изложены важные составляющие языка (функции, замыкания, прототипы). Несмотря на различные изменения в языке за последние годы, Резиг призывает разработчиков начинать все с тех же базовых понятий, а основной задачей в развитии JavaScript называет «обеспечение работоспособности прикладного кода в большинстве браузеров и для большей части потенциальных пользователей».
Книга подойдет тем, кто уже приобрел базовый опыт программирования на JS. Большая часть информации посвящена функциям, и автор переходит к этой теме довольно быстро, поэтому совсем неподготовленному читателю будет сложно.
Особенно стоит отметить грамотно структурированную теорию (информация выстроена как курс обучения от ученика до мастера) и отличный стиль изложения. Даже опытные программисты признаются, что к этой книге возвращаются просто для удовольствия — она читается легко и интересно:
«Бeз JavaScript в Интернете можно лишь показывать фотографии кошек. Но он полезен не только для браузеров. Преодолев узкие границы применения в браузерах, этот язык программирования теперь применяется на серверах в таких механизмах, как Rhi110 и V8, а также в интегрированных средах вроде NodeJs. И хотя эта книга посвящена главным образом применению JavaScript в веб·приложениях, основы этого языка программирования, представленные в части П, выходят далеко за пределы применимости при разработке веб-приложений».
В книге всего один минус — ошибка в выборе иллюстрации. На обложке нарисован самурай, а в названии книги — ниндзя. Оказалось, что это творческая задумка издательства, которую они объясняют в предисловии. Не очень убедительно, но объясняют.
