Оценка - 4.0 из 5 на основе 1 голоса
Рейтинг ++++-/ 5
ПлохоХорошо 

Разработчики Мика и Гоша о том, из чего состоит веб-разработка.

веб-разработка

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

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

— А что значит «дорого будет стоить?»

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

 — Что должен уметь веб-дизайнер?

 Мика: По сути, он должен знать HTML и немножко CSS. Ну и у него, как и у любого дизайнера, должен быть инженерный склад ума.

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

 — А кто, в таком случае, веб-разработчик?

 Гоша: Это программист, который делает сайт.

 — А в чем тогда разница между ним и веб-мастером?

 Гоша: Веб-мастер – это человек, который хочет сделать сайт. То есть это менеджер, который сталкивается с комплексом работ, необходимых для того, чтобы иметь сайт в интернете. Дело в том, что там куча всего. Помимо того, что сайт нужно нарисовать, его нужно разработать, дальше его нужно опубликовать, поддерживать, заниматься SEO-оптимизацией, публикацией в поисковых системах. Все это – работа веб-мастера. И ему не обязательно для этого быть программистом.

 — Если дизайнер предусматривает вёрстку, то какие задачи стоят непосредственно перед верстальщиком? Он просто продумывает, где и как должен располагаться текст?

 Мика: Верстальщик просто верстает на HTML и CSS. Он не лезет в какую-то глубокую логику сайта, а просто верстает то, что нарисовал веб-дизайнер. А веб-разработчик потом уже будет за веб-верстальщиком дописывать какой-то более сложный код.

 Гоша: Смотри, дизайн может быть сделан в любых дизайнерских программах – Photoshop, Illustrator, даже может быть просто нарисован на бумаге. Дальше дизайн нужно перевести на язык, понятный компьютеру. Это все равно будет статичная картинка, которая не шевелится, не живет, не отвечает на какие-то пользовательские активности… Ну, в общем, это просто понятная компьютеру картинка, «переводом» которой как раз занимается веб-верстальщик. Веб-программист может заставить ее двигаться, взаимодействовать с пользователем, какую-то логику туда добавить.

 — Прости, а что значит «понятная компьютеру картинка»?

 Гоша: Некоторые сайты могут содержать очень богатую визуальную составляющую и совсем простые интерактивные элементы (создаются они исключительно с помощью CSS). И, если в вашей команде есть отдельно верстальщик, то эффективнее поручить эту работу ему.

 — Веб-вёрстка и frontend-разработка – это одно и то же? Какая между ними разница? Занимается ли верстальщик ещё и JavaScript?

 Мика: Вёрстка – это неотъемлемая часть frontend-разработки. Как правило, «фронтенд» разбирается в HTML и CSS. Веб-верстальщик не всегда хорошо знает JavaScript, поэтому им может быть начинающий frontend-программист или технически продвинутый дизайнер.

 — Есть ли ещё сегодня профессия веб-верстальщика в «чистом» виде?

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

 — Может ли один человек выполнять весь комплекс работ, который включает в себя непосредственно разработка сайта?

 Гоша: Веб-разработчики делятся на front-end и back-end. Front-end – это все, что связано с внешней частью, то есть то, что видит конечный пользователь – дизайн, юзабилити, и так далее. А back-end – это та часть, которую пользователи не видят: база данных, библиотеки взаимодействия и все, что связано с сервером. На примере дерева очень хорошо понятно: ствол и ветви – это front-end, а его корни - back-end. Веб-вёрстка – это самая низшая ступень, она относится к front-end. На самом деле back и front очень сильно разнятся, это по сути два разных способа программирования. Когда человек говорит, что он хороший веб-разработчик и full stack,— как правило, это не правда. Не бывает классных программистов, которые могут и то, и другое отлично делать. Они могут обладать знаниями и там, и там, но что-то все равно у них будет лучше получаться. Front-end больше связан с дизайном, с эстетикой, а back-end — он больше связан с данными.

 Мика: Вот, например, у нас «фронт-энды» все верстают. Это удобно…

 Гоша: И дешево.

 Мика: Вся эта модная тема, которая сейчас продвигается в программировании, она связана с front-end, потому что это всем интересно, всем нравится дизайн, все хотят делать красивые сайты. А о back-end, на самом деле, мало кто думает.

 То есть, получается, что люди хотят ухватить часть от целого, предполагая, что это целое?

 Гоша: Да, очень часто люди совсем не понимают, что к чему, как это устроено.

 — Можно ли выучиться самому или лучше найти ментора?

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

 Мика: Но все-таки мне кажется, что если без ментора не получается, то это просто не тот путь, который нужен. Значит, не хватает какой-то внутренней мотивации. В программировании процесс самообучения – очень важная часть.

 Гоша: Можно еще привести аналогию с лего: если ты можешь играть в лего больше недели, то программирование точно будет тебе интересно.

 — Какой язык начинать учить? Если человек, предположим, еще не выбрал между «корнями» и «стволом», и хочет понять, что у него лучше получается.

 Мика: Да проблем с выбором языков нет. HTML, CSS и JavaScript. Но там другая беда: куча фреймворков, которые лучше знать и которыми лучше уметь пользоваться, потому что это инструменты, которые существенно облегчают и оптимизируют твою работу. На самом деле, круто разбираться в основных языках: тогда с фрейворками возникает мало проблем. Все равно, в любом случае ты всегда сталкиваешься с такой ситуацией, когда нужно что-то искать в интернете. Нельзя выучить эту штуку на 100%.

 Гоша: JavaScript может быть использован в качестве «бекенда» (google v8, nodejs), но это скорее дань моде, и не всегда оправдано. Тем более, на сервере, как правило, решаются другие задачи и задействуются другие сопутствующие технологии. То обстоятельство, что это один и тот же язык, не сокращает дорогу между «фронтендом» и «бекендом».

 Мика: Новичку можно посоветовать в первую очередь основательно разобраться в разнице между front-end и back-end. Первый работает в браузере пользователя и ограничен его возможностями и нацелен на создание красивого и удобного интерфейса для пользователя. Второй ограничен возможностями сервера и нужен чтобы безопасно хранить, вычислять и передавать данные пользователю. Организовывать обмен данными между пользователями и/или другими серверами. Основной упор здесь делается на безопасность, производительность и масштабирование ресурсов. Трудно советовать какой то определенный язык или технологию для бекенда т.к. их достаточно много и все они оправданы в каких то задачах. Один из хороших веб стеков под высокую нагрузку это Scientific Linux (fork коммерческого Red Hat Enterprise Linux), nginx, php-fpm, postgresql и redis.

 — А что делать интереснее?

 Гоша: Верстать на первом этапе, наверное, довольно интересно. Но в нашем случае это уже становится совсем не интересным, намного увлекательнее — программировать. А следующая ступень— это уже менеджерить другими программистами.

 Мика: Потом продавать, потом инвестировать… Это все бесконечный ком, который...

 Гоша: Да, который сведет тебя в могилу! (Смеются).

 — Значит, у вас такие планы на будущее? В смысле, я про продвижение, а не про могилу.

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

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

Distance Teacher

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

О нас пишут лучшие СМИ Рунета