14 октября 2014

Направления развития фронтенд разработчика

Упрощенно можно выделить следующие направления развития фронтенд разработчика:

1. Верстальщик. Ему не нужно использовать javascript и заботиться о том,
как приложение будет взаимодействовать с сервером. Главное - создать красивую
html-страницу.

Содержание работы:
  • Создание кросс-браузерных статичных макетов с использованием html/css.
  • При верстке использовать блоки, которые можно будет без особых настроек использовать в других проектах (БЭМ-верстка).
  • Использовать технологию progressive enhancement, чтобы задействовать при создании страницы новые возможности, появившиеся в современных браузерах.
  • Использовать технологию graceful degradation, чтобы дать пользователям возможность работать со страницей, если вдруг не сработает javascript или не загрузятся css-стили.
  • Умение использовать css-фреймворки: bootstrap, foundation.
  • Уметь применять при верстке какую-либо из технологии: LESS, SASS, Stylus.
2. Javascript-программист. Не нужно больше заботиться о том,
почему "поехала" верстка в одном из блоков в Interner Explorer, поскольку
это задача верстальщика.

Содержание работы:
  • Написание javascript-приложения, способного хранить, обрабатывать, передавать данные на сервер, а также принимать их от него.
  • Уметь работать с деревом DOM и знать особенности работы Javascript в различных браузерах.
  • Иметь представление о нововведениях в стандарт Ecmascript
  • Уметь использовать новые возможности браузеров, применяя feature detection.
  • Создавать структурированные javascript-приложения, в рамках проекта.
  • При создании рекомендуется соблюдать DRY-принцип, а также принцип повторного использования кода, чтобы созданные блоки кода (модули) можно было задействовать и в других проектах.
  • Уметь создавать собственные jquery-модули.
  • Уметь использовать jquery ui модули.
  • Уметь использовать фреймворки jquery, rightjs, 3d.js, backbone, underscore, knockoutjs, bootstrap и др.
  • Уметь выбрать наиболее подходящий фреймворк для решения поставленной задачи.
Разумеется, такое деление условно. Зачастую компании нужен человек, который будет прокачан в обоих направлениях. Однако очевидно, что для достижения максимума нужна практика (т. е. время). Достичь ощутимого результата в одном направлении можно быстрее, нежели в двух. Также важен вопрос предпочтения - кому-то просто нравится визуальное оформление, и он не хочет иметь дела с javascript. В таком случае он выберет путь верстальщика.