Фронтенд-разработчик

Фронтенд-разработчик: ловкий ниндзя

Фронтенд-разработчик — это программист, который стоит ближе всех к пользователю. Именно он отвечает за всю магию на сайтах — чтобы работали формы, нажимались кнопочки, выпадали нужные пункты меню, листались фотографии и красиво прокручивались страницы.

Реальные герои

Артем Мезин
Артем Мезин
программист, фронтенд-разработчик
Илья Бурлак
Илья Бурлак
программист, фронтенд-разработчик

О профессии

Любой крупный сайт или интернет-сервис, как правило, состоит из двух частей: программного кода, который выполняется на сервере, и интерфейса, с которым взаимодействует пользователь в браузере. Именно фронтенд-разработчик отвечает за это взаимодействие: создаёт HTML-страницы на основе дизайн-макетов и пишет скрипты, которые эти страницы «оживляют».

Интерфейсы современных сайтов становятся всё более сложными, а устройства, с помощью которых люди выходят в сеть, всё более разнообразными. Поэтому фронтендер должен быть настоящим ниндзя и постоянно совершенствовать своё ремесло: быть в курсе всех новинок, «фишек» и трюков, уметь адаптировать поведение сайта, чтобы пользоваться им было одинаково удобно с ноутбука, планшета или смартфона, с помощью мышки или пальцев.

Эта профессия интересна потому, что можно создавать внешний вид сайта и взаимодействовать с людьми. Фронтенд-разработчики стоят между пользователем и всеми остальными программистами. И если они свою работу делают для пользователя, то все остальные программисты, по сути, делают свою работу для специалистов фронтенд-разработки. При желании, такой разработчик, кстати, может стать отличным менеджером.

Инструменты и навыки

Что должен знать и уметь каждый фронтендер

Профессия фронтендера держится на двух основных вещах: вёрстке страниц сайтов (HTML+CSS) и программировании пользовательского интерфейса (Javascript). Поначалу сайты были простыми, и всем фронтендом занимались верстальщики. Но потом появился JavaScript, появились динамические интерфейсы, и верстальщики превратились во фронтенд-разработчиков. Сегодня интерфейсы становятся всё более сложными, и эта тенденция постепенно разворачивается вспять: фронтенд-разработчик опять всё больше превращается в верстальщика, который работает над внешним видом страниц, а javascript-программисты становятся отдельной «кастой».

 

Одной из базовых задач фронтендера является вёрстка сайтов — написание HTML-кода и CSS-стилей для представления информации в виде, понятном браузерам, и придания сайту нужного внешнего вида.

Как правило, фронтендер получает от продуктового дизайнера дизайн-макет и превращает его в готовую HTML-страницу. Иногда макеты не отражают всех деталей, и фронтендеру нужно быть немного дизайнером, чтобы уметь правильно интерпретировать задумку, учитывать все нюансы и технические детали.

 

Раньше большой проблемой было сверстать сайт так, чтобы он выглядел одинаково во всех браузерах. Каждый браузер по своему понимал HTML-код. Сегодня практически все браузеры исполняют стандарты консорциума W3C, и по сути код должнен соответствовать этим стандартам. В тоже время сегодня появились разнообразные нетбуки, планшеты, мобильные телефоны, и фронтендеру приходится заботиться о том, чтобы сайт хорошо отображался на разных типах устройств.

 

Главный язык программмирования для фронтенд-разработчика — JavaScript. Сегодня он лидирует в мире по числу репозиториев — хранилищ с кодом в самом популярном месте — GitHub. И эти цифры растут. Все ведущие IT-компании мира используют JavaScript. Раньше JavaScript конкурировал с Python, но сейчас конкуренция сошла на нет, Python стал в основном языком учёных.

JavaScript — это отдельный мир, вокруг которого уже выстроилась целая плеяда метаязыков и фреймворков. Сейчас можно легко найти начинающего программиста, который скажет, что не знает JavaScript, но знает jQuery, Backbone JS или Angular, хотя последние — всего лишь библиотеки, написанные на Javascript.

Образование и карьера

Чтобы стать хорошим фронтенд-программистом, желательно получить фундаментальные знания по специальности. В университете студентам нередко приходится выполнять непонятные практические задания из области программирования, которые дают им преподаватели. Но практика — это практика, она априори полезна. Если вместо этого учиться делать авиационные двигатели, это не сделает тебя программистом.

  • МГУ
    факультет Вычислительной математики и кибернетики
  • МГТУ им. Н.Э. Баумана
    факультет «Информатика и системы управления»
  • МФТИ
    факультет радиотехники и кибернетики
  • МИФИ
    факультет кибернетики и информационной безопасности

Mail.Ru Group запустила программу бесплатного дополнительного образования «Технопарк» для студентов МГТУ им. Баумана. В эту программу включен полноценный практико-ориентированный курс по фронтенд-разработке.

Кроме того, фронтенд-разработчику обязательно нужно самообразование. Принцип такой: «Не важно, где ты учишься: учись еще!». Это непреложная истина, поскольку только самообразование позволяет оставаться «на острие» технологическго прогресса. Ни одна система фундаментального образования не дает действительно актуальных сведений о технологиях: она только закладывает основу. А технологии эволюционируют каждый день — и интернет дает возможность быть в курсе всех перемен.

Есть такая профессия — веб-мастер. Это люди, которые следят за сайтами и обновляют их. Веб-мастеру нужен минимум специфичных технических знаний, и такая работа — отличная точка входа. Веб-мастер может стать верстальщиком, затем — Javascript-программистом.

Тренды и перспективы

В ближайшем будущем сотрётся разница между мобильными приложениями и сайтами.

Сейчас прослеживается явный тренд на «мобилизацию» технологий. Уже сейчас Microsoft представляет телефоны, которые работают как компьютеры, и планшеты, которые могут превращаться в ноутбуки. Сегодня нет разницы между версиями сайтов: их создатели даже не могут предсказать, с каких устройств их будут открывать.

Мобильные приложения при этом не вытеснят веб. Во-первых, приложения нужно найти и установить, это делают далеко не все. Во-вторых, разработка мобильных приложений — это дорогостоящий процесс. Плюс, существует проблема с их обновлением и распространением на разные платформы.

Будет происходить стандартизация интерфейсов

Интерфейсы сайтов будут всё больше унифицироваться, становиться более привычными и интуитивно понятными. Вспомните программы Windows: все они работают одинаково, у всех есть определенные кнопки и «крестик» в правом верхнем углу. Точно так же унифицируют свои продукты все большие интернет-компании: Google, Mail.Ru Group, Яндекс. У каждой из них есть своё видение, но все эти представления очень похожи и, видимо, в будущем они станут ещё ближе.

Какой ты герой?

Какой ты герой?

Узнай, какая интернет-специальность подойдёт тебе больше
Пройти тест