Веб-разработчик с нуля
Программа
1. Верстка сайта на HTML и CSS
В рамках этого блока изучим семантику HTML-тегов, CSS-свойства для оформления текста на странице. Погрузимся во все тонкости блочной модели и позиционирования. Научимся применять каскад и наследование в CSS. И как итог полученных знаний, вы сверстаете простой макет страницы с нуля.Введение в дисциплину
Git
3. Язык программирования JavaScript
После этого блока в вашем арсенале появится второй язык программирования. Изучим синтаксис и важные особенности JavaScript, которые отличают его от других языков: замыкания, контекст вызова функции, прототипы и прототипное наследование. А так же промисы, которые позволят делать асинхронный код более организованным и простым.4. JavaScript в браузере и Web API
В этом блоке научимся делать страницы максимально интерактивными. Освоим валидацию форм прямо в браузере, получение и передачу данных на сервер без перезагрузки всей страницы. Реализуем управление аудио- и видеопроигрыванием с помощью собственных элементов управления. А так же будем взаимодействовать с API, реализованным серверной часть веб-приложения.2. Backend-разработка на PHP
Научимся создавать динамические сайты, разделять данные и их представление с помощью HTML-разметки. Начнем с PHP-синтаксиса основных конструкций языка. После чего научимся обрабатывать данные веб-форм и генерировать изображения. Рассмотрим, как можно поместить данные в базу MySQL, как их оттуда получить и как представить на странице.Редактор «Нетологии» Светлана Шаповалова разбирается в том, кто такой фронтенд-разработчик, что он должен уметь (или не должен), и за что ему платят прекрасную зарплату (или не очень).
Кто такой фронтенд-разработчик
Согласно ежегодному исследованию StackOverflow, самая популярная профессия среди пользователей сервиса в 2017 году - это Web developer. Именно в эту категорию входят все фронтенд-разработчики.
Данные StackOverflow
Если зайти на первый попавшийся сайт по поиску работы, например, на hh.ru, создастся впечатление, что - это специалист-хамелеон.
Начинается все с путаницы в названиях вакансий: можно встретить и «front-end developer», и «front end разработчик», и «фронтендщик», и «фронтенд девелопер», и «web developer», и «фронтенд-разработчик». Иногда даже можно увидеть какого-нибудь «веб-верстальщика» с требованиями под фулстак-разработчика. Реакция на это одна: WTF?!
Беда в том, что часть работодателей не отличают (или не хотят отличать) верстальщика от фронтенд-разработчика, - это понятно по описанию вакансий. Разберемся, какие умения отделяют фронтенд-разработчика от «верстака» (верстальщики, не обижайтесь, вы тоже хорошие).
Верстальщик - боец узкого фронта. Его задача - сверстать полученный от дизайнера макет, используя HTML+CSS. Он, возможно, немного умеет в JavaScript, но чаще ограничивается умением прикрутить какой-нибудь плагин jQuery.
Фронтенд-разработчик не просто верстает макеты. Он хорошо знает JavaScript, разбирается во фреймворках и библиотеках (и активно юзает часть из них), понимает, что находится «под капотом» на серверной стороне. Его не пугают препроцессоры и сборщики LESS, SASS, GRUNT, GULP, он умеет работать с DOM, API, SVG-объектами, AJAX и CORS, может составлять SQL-запросы и копаться в данных. Получается сборная солянка навыков, к которым добавляется понимание принципов UI/UX-проектирования, адаптивной и отзывчивой верстки, кросс-браузерности и кросс-платформенности, а иногда и навыков мобильной разработки.
Фронтендщик в обязательном порядке умеет работать с контролем версий (Git, GitHub, CVS и т. д.), использовать графические редакторы, «играть» с шаблонами различных CMS.
Еще крайне желательно знать английский язык, чтобы не переводить спецификацию в Гугл-переводчике, уметь работать в команде, иногда мультиязычной, разбираться в веб-шрифтах, ну и понимать тестировщиков и сам процесс тестирования.
Итак, какие технологии должен освоить фронтенд-разработчик:
- HTML и CSS (в том числе сетки и CSS-фреймворки, спецификации W3C и WHATWG, HTML5/CSS3 Polyfills)
- Препроцессоры CSS (Sass, Less, Stylus и т. д.)
- JavaScript
- Популярные фреймворки и библиотеки: jQuery, Angular.JS, React.JS, Backbone.js и т. д.)
- OOCSS / BEM / SMACSS
- HTML5 API
- ECMAScript 6
- Популярные CMS (WordPress, Drupal, Joomla и т.д.)
- Понимать и разбираться в серверных технологиях (Node.js, PHP, Ruby, .NET и т. д.)
- Инструменты дебаггинга (Chrome Dev Tools, Firebug и прочие)
- JavaScript транспайлеры (Babel)
- Инструменты контроля версий (Git, GitHub, CVS и т. д.)
- Базы данных и языки запросов (SQL, MySql, NoSQL, MongoDB и т. д.)
- Графические редакторы (Photoshop, Illustrator и т. д.)
- кросс-браузерная и кросс-платформенная разработка;
- прогрессивное улучшение и изящная деградация;
- мобильная разработка;
- адаптивная и отзывчивая верстка;
- веб-шрифты;
- принципы SEO-оптимизации.
Что говорит статистика
Какие технологии и инструменты чаще всего используют фронтенд-разработчики? Во-первых, трудно представить фронтендщика, не умеющего в JavaScript. Это подтверждают опросы:- по данным StackOverflow, JavaScript в списке инструментов фронтенда лидирует с огромным отрывом (90,5%)
- исследование компании O"Reilly, проведенное среди европейских программистов в конце 2016 года, тоже ставит JavaScript на первое месте.
Данные StackOverflow
Если сгруппировать самые популярные инструменты в стеки, то получим такую ситуацию:
Данные StackOverflow
А набор самых популярных фреймворков и библиотек всех разработчиков выглядит следующим образом (см. иллюстрацию). Приятно видеть среди этого списка инструменты фронтенда:
Данные StackOverflow
Карьерный путь и зарплата фронтенд-разработчика
Карьерный путь фронтендера обычно начинается с верстальщика - это самый логичный и общепринятый вариант. Сначала изучается связка , затем на нее «наслаиваются» знания , библиотек и фреймворков. Будущий специалист также изучает ключевые понятия построения серверной части, добавляет сюда инструменты, необходимые для выбранной специализации. Затем все это шлифуется умением работать с контролем версий, графическими редакторами и пониманием принципов .Бывают и иные варианты. Если начинающий программист изначально знает, в какой сфере планирует развиваться, ничто не мешает ему изучать ключевой стек технологий сразу, а не по частям. Все зависит от целей и времени, которыми располагает будущий фронтендщик. Любой вариант приемлем, лишь бы на выходе получился толковый специалист.
У готового фронтенд-разработчика в целом есть три основных варианта развития:
- горизонтальный (совершенствоваться как специалист, тем самым постоянно повышая свою стоимость на рынке труда);
- вертикальный (расти по карьерной лестнице);
- диверсификационный (освоение смежных специальностей, превращение в фулстака и переквалификация).
Какой из них выбрать - зависит лишь от самого специалиста и его пожеланий/навыков.
Касаемо зарплат фронтенд-разработчиков: здесь, как и во всей IT-индустрии, нет единого стандарта оплаты. Все зависит от навыков и умения подать себя. Ну, и от везения иногда:)
Средняя зарплата фронтенд-специалиста по России, рублей/месяц
Средняя зарплата фронтенд-специалиста по Москве, рублей/месяц
По данным «Моего круга»
Традиционно годовая зарплата фронтенд-разработчиков в США чуть выше, чем по России. Однако, если вы работаете в филиале иностранной компании - вам такой разрыв, скорее всего, не страшен.
По данным PayScale
Как стать фронтенд-разработчиком
Для начала снять розовые очки. Обучение - это труд и самодисциплина. Большинство начинающих айтишников отсеиваются на этапе «хочу стать программистом и получать зарплату в долларах, но не думал, что придется так много учиться». Уникальность программирования и вообще любой айтишной специальности в постоянном самообучении. В этом и сложность, и прелесть IT-сферы. Если вас это не пугает - круто! У вас есть все шансы стать отличным специалистом.Главное правило будущего специалиста - ставить реальные цели в процессе обучения. В этом поможет планирование. Составьте список инструментов, которые планируете изучить, и держите его перед глазами.
Тем, кто стартует с нуля, надо начинать с и освоить их на уровне идеальной верстки PSD-макетов. На этом этапе также надо научиться работать с текстовыми и графическими редакторами и знать основные принципы дизайна (как плюс). Затем взяться за JavaScript: синтаксис, архитектура и возможности языка. Освоить популярные фреймворки и библиотеки, параллельно полюбить системы контроля версий и какой-нибудь из популярных таскраннеров. Добавить препроцессоры и фреймворки CSS, разобраться в серверных технологиях. А дальше можно пить смузи на Бали шлифовать полученные знания до бесконечности.
Примерный путь начинающего фронтенд-разработчика.
У вас он будет свой.
Пройти этот путь можно как в одиночку, так и с наставниками (вузы, курсы). Вот какие самые популярные форматы обучения разработчиков по версии StackOverflow:
Данные StackOverflow
На первом месте находятся онлайн-курсы, за них проголосовали 64,7% опрошенных разработчиков, затем идут: самообучение по книгам, офлайн-курсы, опенсорс-разработка и лагери программирования. Интересно, что высшее образование (Master’s degree) стоит практически на последнем месте.
Вывод
- это универсальный солдат. Он и макет заверстает, и веб-приложение построит, и серверную часть, если надо, освоит. Знать надо немало: HTML, CSS, JavaScript, библиотеки и фреймворки JS, препроцессоры и фреймворки CSS, системы контроля версий и таскраннеры, технологии бэкенда, юнит-тестирование и многое другое.Кроме того, нелишними будут soft skills: взаимодействие с людьми и работа в команде, умение наладить эффективный workflow и решать поставленные задачи наиболее оптимальным способом. Не обойтись без уверенных знаний английского языка.
Оплата труда фронтенд-специалиста вполне себе достойная, и чем больше навыков - тем выше шансы получить «жирный» оклад.
Стать фронтенд-разработчиком может каждый, кто не пасует перед самообучением: как мы выяснили, полагаться на вузовское образование сложно. Идеальный вариант - различные онлайн и офлайн-курсы + литература по теме, практика и великий Гугл.
«Нетология» запускает полноценную программу подготовки фронтенд-специалистов - . Это 6-месячный курс, посвященный базовым технологиям фронтенд-разработки: HTML и CSS, JavaScript, Web API, AJAX, веб-сокеты, библиотека React.
По итогу курса студенты создадут собственное одностраничное веб-приложение. Обучение ведут 10 практикующих фронтенд-специалистов - это позволяет получить всестороннее понимание инструментов и задач фронтенд-разработки. В течение всего обучения студенты получат не менее 100 практических заданий, максимально близких к «боевым», и реализуют 3 проекта среднего объема и 1 полноценный проект в качестве дипломной работы.
Все студенты, успешно окончившие курс, получают удостоверение о повышении квалификации установленного образца и фирменный диплом «Нетологии».
P.S. Как вы считаете, какие знания жизненно необходимы фронтенд-разработчику, а какие можно осваивать по мере надобности?
Прежде чем рассматривать онлайн-курсы для front-end разработчика на русском , давайте ответим на вопрос кто такой Front-end разработчик?
Front-end разработчик (он же — front-end (фронт-енд) программист ) — это разработчик, который занимается клиентской частью сайта, это один и самых востребованных на данный момент ИТ специалистов. Это связано с тем, что данные спецалисты работают на стыке технологий, вот основные из них:
- , адапативная, кроссбраузная и кроссплатформенная верстка;
- препроцессоры и сборщики LESS, SASS, GULP, GRUNT и пр.;
- Javascript;
- Популярные фреймворки и библиотеки: jQuery, Angular.JS, React.JS, Backbone.js и т. д.;
- Популярные CMS: WordPress, Drupal, Joomla и т.д.;
- Инструменты контроля версий: Git, GitHub, CVS и т. д.
Как выбрать онлайн-курсы для Front-end разработчика?
В данном обзоре мы рассматриваем только удаленные, онлайн-курсы для front-end разработчика, с возможностью учиться в любой точке мира. Кроме того, на наш взгляд, данные учебные онлайн-курсы должны включать в себя следующее:
- Отзывы учеников, выпускников: Обязательно проверьте отзывы о данных курсах в разных источниках, не только на сайте курса.
- Преподаватели: Это должны быть профессиональные фронт-енд разработчики с подтвержденным многолетним опытом, который можно проверить.
- Программа курса: четкое описание плана и программы обучения.
- Длительность курсов и расписание по неделям.
- Вебинары: онлайн и в записи.
- Практика на конкретных проектах.
- Индивидуальный наставник (ментор).
- По окончании — защита дипломной работы и выдача сертификата.
- Помощь в трудоустройстве.
Мы составили для вас список лучших онлайн-курсов для front-end разработчика на русском , с помощью которых вы сможете прокачать свои навыки и даже начать обучение с нуля. Обратите внимание, очевидно, что на английском языке для front-end разработчиков в разы больше и о них мы расскажем в следующем нашем обзоре. А в данном материале мы намеренно делаем обзор только русскоязычных онлайн-курсов .
Онлайн-курсы для front-end разработчика на русском
1. GeekBrains
GeekBrains — это мощный образовательный ИТ-портал, в составе Mail.ru Goup для специалистов разных направлений, в том числе и для front-end разработчиков. На данный момент портал насчитывает более 2 млн. пользователей. Каждый день на портале появляются новые бесплатные обучающие материалы в виде статей, вебинаров или видеокурсов.
Уровни обучения:
- GeekUniversity : онлайн-университет совместно с Mail.Ru и МГТУ им. Баумана, обучение с уровня junior до middle с гарантированным трудоустройством. Для поступления необходимо обладать начальными знаниями HTML и CSS. Кроме того, нужно пройти тест, который включает в себя теоретические вопросы. Если тест не пройден, GeekUniversity предлагает пройти курсы по подготовительной программе и добрать недостающие знания. Минимальный проходной балл — 25. Длительность обучения: около 1 года. Цена: 12 500 руб. в месяц.
- Курсы (есть платные и бесплатные) — от HTML/CSS до продвинутых навыков front-end разработки.
- Бесплатные интенсивы.
2. Нетология
Нетология - это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами, дизайна, проектирования интерфейсов и веб-разработки. За пять лет существования данного проекта выпускниками Нетологии стали более 10000 специалистов.
Периодически стартуют курсы, связанные с front-end разработкой, например:
- Профессия Frontend разработчик. С нуля до junior-специалиста за 8 месяцев. Цена: около 50 тыс. рублей.
- Интенсивный 10-недельный онлайн-курс по языку программирования JavaScript. Цена: около 20 тыс. рублей.
- Курс HTML-верстка: с нуля до первого макета. Цена: около 20 тыс. рублей.
- Курс «Адаптивная и мобильная верстка» Цена: около 20 тыс. рублей.
Кроме платных курсов, есть несколько бесплатных, например: Бесплатный курс «HTML и CSS с нуля».
Трудоустройство: каждый выпускник Нетологии при желании проходит персональную HR-консультацию, где оказывается помощь с подготовкой резюме и подборе вакансии или стажировки из базы данных компаний.
3. HTML Academy
Данный ресурс был запущен в 2013 году, на данный момент содержит 35 онлайн‑курса, затрагивающих разные аспекты работы от HTML-верстальщика до Front-end разработчика. Кроме того, есть еще шесть онлайн-интенсивов. Эти уникальные образовательные программы позволяют подготовить специалистов с необходимыми для веб-индустрии навыками. Курсы курируют около 300 наставников.
HTML Academy предлагает курсы и интенсивные курсы (интенсивы).
Курсы (35 онлайн-курсов) доступны по ежемесячной подписке (около 390 рублей в месяц). Первые 19 курсов доступно бесплатно. Курсы не привязаны к конкретным датам и их можно проходить в любое время.
Интенсивы — это более углубленные курсы длительность в пять недель обучения, организованного по принципу работы в крупной компании. Через месяц вы получите практику и освоите необходимые инструменты и технологии, чтобы начать карьеру. В конце все участники защищают личные проекты и получают сертификаты.
Стоимость курсов в среднем от 20 тыс. рублей. На данный момент в программе такие интенсивы:
- Профессиональный HTML и CSS уровень 1 и 2
- Профессиональный JavaScript, уровень 1 и 2
- Профессиональный Node.js, уровень 1
- Профессиональный PHP, уровень 1
Трудоустройство: помощь в трудоустройстве возможна только после окончания интенсивных курсов, есть специальная база сотрудничающих компаний (около 100) для трудоустройства учеников.
4. LoftSchool
LoftSchool — школа онлайн-образования, которая ежегодно выпускает более 1000 студентов по всему миру: от России, Украины, Белоруссии и Казахстана, до Израиля, Германии, США и Канады.
- Веб-разработка для начинающих: Адаптивная вёрстка. SASS. SVG. Flexbox. Основы JavaScript и jQuery. Git и Github. Основы PHP. Ajax и JSON. Terminal, Gulp, npm. 5 недель, 13 занятий. Цена: 19 тыс. рублей.
- Продвинутый курс по веб-разработке: Продвинутый JavaScript. Pug. Продвинутый Gulp. Node.js, mongo.db. Yarn. Webpack 2. Сложные анимации и параллакс-эффекты. Пишем свою собственную админку. 5 недель, 16 занятий. Цена: 21 тыс. рублей.
Трудоустройство: помощь в трудоустройстве после прохождения обучения на всех этапах: от составления резюме до тестовых заданий.
4. Web Academy
Web Academy — образовательный ресурс, который предоставляет обучение по самым разнообразным ИТ-специальностям. Есть оффлайн и онлайн обучение.
На данный момент есть такие онлайн-курсы:
- HTML/CSS + JS с нуля. Срок обучения: 9 недель, 2 раза в неделю. Цена: от 7900 грн.
- Front-end Master. В курсе: TypeScript, Flux, Mobx, React js, Redux. Срок обучения: 5 недель, 2 раза в неделю. Цена: от 8600 грн.
5. Hexlet
Хекслет — практические онлайн-курсы по программированию от одного из авторов Лайфхакера.
Курс «Фронтенд JS-программист» — данный курс хоть и включает в себя HTML/CSS, но является продвинутой программой для изучения JavaScript. Цена: $24 в месяц. Проекты с ментором, помощь в трудоустройстве.
6. CyberBionic Systematics
CyberBionic Systematics — это учебные курсы по программированию и современным IT технологиям, технологиям от Microsoft.
Курс Frontend Developer состоит из двух частей: Frontend Starter (HTML, CSS, JS) и Frontend Pro (JavaScript Шаблоны, JQuery, HTML5 & CSS3, Angular JS). Срок обучения: 4 месяца, 98 часов. Цена: около 16000 грн.
Уважаемые читатели ТопОбзор , если вы знаете качественные онлайн-курсы для front-end разработчиков на русском языке, которых нет в данном обзоре, напишите, пожалуйста, в комментариях об этом.