На дворе 2019 год, а людей,которые подрубают Node Js и используют стандарты EcmaScript называют "верстальщики". Как по мне, это уже оскорбительно, не правда ли? Я считаю,что данных специалистов пора бы называть Front-end разработчики. Да, тут можно развести на эту тему холивар,но все-равно это ни к чему не приведет,а задницы уже будут гореть.
Чтобы понять в какую сторону двигаться, нам нужно вернуться лет так на 10 - 15 назад. В то время понятие "верстальщик" было как никогда актуально. Ведь проделывалась громоздкая работа и танцы с бубном,чтобы решить каку-либо задачую. Технологий,как сейчас, в принципе не было. Тогда считалось,что исполнение языка js было исключительно на клиенте. Если бы мы вернулись в прошлое и рассказали специалисту о нынешних возможностях js,то он просто бы поугарал над нами и затраллил. К счастью, мы видим прогресс этого языка, за что ему низкий поклон.
Мы что-то отошли от темы. Вернемся к сути. Кто же такие верстальщики?
Верстальщики - люди,которые компонуют данные и подготавливают эти данные к релизу,если коротко. Кстати, понятие верстки относится не только к созданию сайтов. Данное понятие я не раз слышал в печатных изданиях, и даже на заводах,где верстают детали (хз почему такое понятие там существует). В наше время данное понятие просто уже приелось,как заказчикам,так и специалистам. Это некий разговорный стиль такой.
Осторожно! Дальше идет субъективное мнение.
Так чем же должны заниматься верстальщики и что они должны знать?
Основная задача верстальщика - верстка макета,т.е. перенос спроектированного дизайна в кодовое представление, для дальнейшего адекватного восприятия этого кода браузером. Не понятно? Попробую попроще. Тебе прислали макет в формате psd (загуглишь,что за формат такой) и тебе нужно на основе его переписать всё в код,который поймут все браузеры.
В этом то и заключается глобальная задача верстальщика. А что нужно знать для этого?
- HTML 5. Это каркас страницы,который представляет из себя некий язык в виде тегов,который понятен браузеру. Тут же напрашивается понятие семантического кода. Семантический код - логически правильно построенный html-код. А как понять правильно ли построен код? Для этого уже есть стандарт и специальные html-теги,которые подчеркивают ту самую семантику. К сведению, семантический код является помошником для поисковых роботов,потому что он правильно передает логику построенных блоков. Если у тебя указан тег <header> , то робот и воспримент его как шапку сайта.
- CSS3. Вот есть у нас каркас страницы,но он отображается,как обычный текст. - Я ничего не вижу! Почему я написал в html файле form, но я не вижу этой формы? Чет ты дичь гонишь мне. Нет, просто есть еще такой язык стилей. Этот самый язык сложен в понимании,но если ты начинающий,то быстро наговнокодишь и будешь доволен результатом. Так же,как и с HTML5 , в CSS есть стандарт,который недопускает говнокода и делает масштабируемым код. Об этом есть даже книжки. С помощью CSS ты можешь превратить ссылку в кнопку или список в слайдер.
- Javascript. Снова этот javascript. Сразу скажу,что данный язык выполняется на клиенте,если при этом не используется Node JS. Javascript - язык,который относится непосредственно к языкам программирования. На данный момент активно набирает популярность Ecma Script. Это новый стандарт языка Javascript. Шутки про отличия js от ecmascript придутся по душе. Обычно на помощь к нативному js приходит библиотека jQuery. Она помогает быстро кодить. Как говорят.
Одни стандарты. Как жить то вообще?
Ответ очевиден - по стандарту. На самом деле все приходит с опытом + мониторинг форумов и сообществ по этой тематике. Больше верстаешь - больше получаешь. В смысле опыта.Вместе с опытом и денег. Гуд? Гуд.
- Погоди, а что там с Front-end разработчиками?
Ах, да. Вот смотри. Проекты становятся похожими друг на друга ,и вот бы сделать шаблон-заготовку,которую можно было бы перетаскивать из проекта в проект. Это бы сократило время на верстку. У меня есть для тебя ответ, мой друг. Подрубай Node JS ,после чего ты станешь уже Front-end разработчиком.
Тут тебе webpack в помощь, или gulp . Описал задачи и пересобирай проект каждый раз. Вот тебе решение!
- ..........ЧТО?!
Ладно, ладно. Сейчас я тебе все расскажу. Кто такие Front-end разработчики?
Front-end - визуал, т.е. то,что ты видишь в браузере.По сути, это то,что ты сверстал, но тут главная мысль в том,что как ты его сверстал. Front-end - очень глубокая тема,которая требует отдельного поста, поэтому я скажу здесь коротко и ясно. Front-end разработчики - раса,которая перешла на следующий этап эволюции и они стали выше чем просто верстальщики.Они стали разработчиками.
Инструментарий,который используют front-end разработчики можно использовать для обычной автоматизации верстки. Например, минификация файлов,т.е. их сжатие. Удобно? Естественно.Особенно,если этот процесс происходит при сохранении файла.
В наше время front-end разработчики в большей степени пишут веб-приложения,которые даже можно инсталлировать на телефон (progressive web applications).
Чтобы познать всю прелесть front-end разработки нужно получить знания следующих технологий:
- NodeJs. Сервер построенный на javascript
- NPM. Менеджер пакетов. Обычно через него устанавливаются библиотеки.
- Webpack/Gulp. Сборщики проектов. Все волшебство выполняют они.
- Git. Нужно поддерживать версию проектов. Плюс еще в том,что проект будет хранится на бесплатном сервере.
- Sass/Less/Stylus. Это препроцессоры,которые генерят css код.Просто прими понятие препроцессор.
- Pug/Haml. HTML шаблонизатор.
- EcmaScript. Новый стандарт языка Javascript
Когда все поймешь,то разрабатывать станет проще. Поначалу будет трудно,но после будет эйфория. После поймешь,что тебе будет интересно и в каком направлении развиваться. Мне стало интересно развиваться в направлении web приложений,где используется ReactJS, а тебе в чем-то другом. Решать только тебе.
Подытожим
Так почему же верстальщика нужно называть Front-end разработчиком? Все просто. Потому что разработка происходит визуальной части сайта. Отсюда и следует Front-end.