Вы уже неплохо знаете язык, дружите с документацией и не боитесь своего и чужого кода. Быть JavaScript Middle – здорово, но пора идти дальше!
Джуниор лишь познавал основы, у сеньора будет много других забот помимо кодинга, а вот миддл может по-настоящему оценить огромный мир JavaScript. У вас в руках не начерченный от руки план маленького района, а полноценная цветная карта, и вы можете идти в любую сторону.
Вектор развития разработчика во многом зависит от требований работодателей. Узнаем, чего ждут от миддла из этого короткого видео:
Можно выделить три основных направления для прогресса JavaScript Middle:
- улучшение качества кода;
- выход на архитектурный уровень программирования;
- углубление и расширение знаний о языке и его возможностях.
Какие конкретно технологии и идеи изучать, во многом зависит от вашей сферы деятельности. Но некоторые навыки пригодятся всегда.
Лучшие книги для JavaScript Middle
Даже если вы очень заняты, не забрасывайте книги, найдите время на лучшие руководства по языку:
Конечно, эти книги не расскажут вам о новейших стандартах языка, но помогут разобраться, почему JavaScript стал таким, каким стал. В них множество отличных идей, которые вы обязательно захотите испробовать.
Архитектура
Пора переходить от простейших практических реализаций к планированию приложения целиком. Берите курс на лучшие практики и шаблоны проектирования. Поможет в этом Сергей Немчинский и его шикарные лекции: подробные, понятные и с юмором.
И обязательно посмотрите мастер-класс по шаблону MVC с конференции GeekHub JS 2017. А вот здесь Анна Карпелевич из Яндекс очень интересно рассказывает о верхнеуровневой архитектуре фронтенда.
Для любителей полистать книжку рекомендуем Pro JavaScript Design Patterns – роскошный труд о разумной организации кода, гибкости и уменьшении зависимостей.
А вот еще отличная книга и несколько статей по архитектуре приложений:
- , от Эдди Османи
Улучшение кода
Главный признак мастера – аккуратный, оптимизированный и надежный код. Умение писать его свидетельствует о глубоком понимании своей работы и способности выбрать лучший вариант из возможных. Чтобы стать мастером, JavaScript Middle должен прямо сейчас начать вырабатывать этот навык.
Прежде всего извлеките максимальную пользу из своих рабочих инструментов:
- узнайте, как эффективно отлаживать JavaScript в Google Chrome и Visual Studio Code;
- познакомьтесь с 3 инструментами Git для поиска ошибок;
- и максимально подробно изучите консоль разработчика.
Если вы еще не пишете тесты для своих проектов, то самое время начать. Тем более что есть множество годных руководств. Например, познакомьтесь с методологией TDD на живом примере создания игры крестики-нолики.
Потом переходите к оптимизации и рефакторингу. Разберитесь, какова цена JavaScript в 2018 году, и как можно ее уменьшить. А если вы всерьез намерены писать самый эффективный в мире код, то обратите внимание на лекции все того же Сергея Немчинского по рефакторингу.
Серверный JavaScript
Node.js – самая популярная JavaScript-платформа с богатой инфраструктурой. Она полезна и в разработке, и в продакшене. Скорее всего, на уровне JavaScript Middle вы уже имеете некоторый опыт работы с ней. Но если вдруг вы еще не знаете о том, что JS хорош не только на клиенте, пришла пора узнать – и гордиться своим языком программирования.
Этот небольшой путеводитель поможет разобраться в основах, а вот этот мастер-класс научит применять знания на практике.
Как только поймете, что к чему, напишите собственный Webpack вместе с Ronen Amiel.
Несколько полезных статей для углубления знаний:
А вот отличная книга Node Hero в переводе на русский язык.
Клиент-сервер
В подавляющем большинстве проектов необходимо наладить сообщение между машиной клиента и сервером. JavaScript Middle уже способен уверенно выстраивать это взаимодействие, но сначала нужно подтянуть теоретическую базу.
Отличной практикой будет построение собственного полноценного RESTful API на Node.js. В качестве руководства прекрасно подойдет этот актуальный плейлист:
Или вы можете создать чат для своего сайта с помощью вебсокетов.
Работа с базами данных
JavaScript неплохо сдружился с NoSQL-базами, поэтому обратите свое внимание на MongoDB. В этом плейлисте хорошо описаны основы работы.
Удобное взаимодействие с базой на Node.js обеспечивает ORM Mongoose. Вы можете посмотреть десятиминутное введение на русском языке или небольшой курс на английском.
Книга Стек MEAN: Mongo, Express, Angular, Node Саймона Холмса поможет составить полное представление о том, как протекает реальная работа приложения с базой и заодно даст вам дополнительную практику с Node.js.
И еще пара статей для начала работы:
Docker
Чтобы работать еще эффективнее, разберитесь с Docker – удобной системой для развертывания проектов.
Веб-разработка
Веб-разработка – самая популярная и активно развивающаяся отрасль IT, ориентированная прежде всего на клиента. Если вы работаете на позиции JavaScript Middle в этой сфере, то держите несколько полезных ресурсов.
Книги и статьи по веб-разработке
JavaScript для профессиональных веб-разработчиков Николаса Закаса. Автор начинает с основ языка, поэтому первые главы можно пропустить.
Отличные подборки ресурсов и идей:
Интерфейсы
Вся веб-разработка ориентирована на пользовательский опыт и стремится сделать продукт максимально приятным. Даже если вы не связаны с дизайном и созданием интерфейсов, будет очень полезно понимать, как это все работает.
Шикарная презентация с красивым названием от Вадима Макеева – первый шаг к пониманию важности пользовательского опыта:
А в этом видео собраны и описаны базовые принципы создания хороших пользовательских интерфейсов.
И, конечно, парочка полезных статей:
HTML5 API
Современные браузеры предоставляют широкие возможности для экспериментов, которыми JavaScript Middle обязательно должен воспользоваться. Даже если ваши проекты не требуют использования Canvas или аудио, все же поиграйте с ними в свободное время – это даст вам новый опыт и, возможно, новые идеи.
SPA – это очень крутые (если не верите, загляните сюда) и интересные для разработчика приложения, поэтому JavaScript Middle точно захочет сделать такое. Все в ваших руках: хотите – используйте Vue.js, или React, или вообще сделайте свое SPA без фреймворков, как тут или тут.
Оптимизация в вебе
Чтобы обеспечить отличный пользовательский опыт, важно оптимизировать веб-страницы:
- следить за скоростью загрузки документа; ; .
Фреймворки для JavaScript Middle
Конечно, вы уже попробовали несколько популярных JS-фреймворков, в некоторых весьма преуспели и даже выбрали своего любимчика. Нет нужды советовать новые инструменты, ведь вы найдете их самостоятельно. Поэтому мы предлагаем вам создать собственный фреймворк с блэкджеком и привязкой данных .
Хобби для JavaScript Middle
Геймдев
Если вы разрабатываете (или очень хотите разрабатывать) игры на JS, то для вас мы тоже составили небольшую подборку полезностей.
Сначала разбираемся, кто есть кто в геймдеве, изучаем специализации и основные скилы. Проходим бесплатный курс HTML5 Game Development на Udacity.
Затем выбираем игровой движок:
И наконец, смотрим, открыв рот, на реализацию Героев Меча и Магии в браузере
Программирование роботов
Возможности JavaScript гораздо шире, чем можно было подумать. Он даже может управлять роботами! Например, маленьким квадрокоптером Parrot AR.Drone.
Вот несколько библиотек для этого:
Надеемся, вы нашли для себя что-нибудь интересное в нашей подборке.
Не останавливайтесь на достигнутом, продолжайте развиваться, и очень скоро из подающего большие надежды JavaScript Middle вы превратитесь в уверенного Senior Developer.