Что входит в обязанности frontenda (вопрос к работающим)?

Вопрос к тем кто используют ангуляр, или реакт.
Смотрю что по сути эти все дела нужны для SPA, и получается что вы пилите уже не только интерфейс но и бизнес логику?
То есть это не фронтенд уже, а фулл стэк?
Или я чего то не понимаю...?
Мне интересно зачем именно фронтендеру такие монстры, смотрю на сайты и там интерфейсы проще простого, в теории понятно - для сложных проектов но на практике - не вижу я сложных интерфейсов...Значит думаю что логика на них пишеться, то есть тот же бекенд получается?
В общем если можно подробнее пожалуйста. У меня в городе фронт - верстка + jq то чем я и занимаюсь.
  • Вопрос задан
  • 1224 просмотра
Пригласить эксперта
Ответы на вопрос 5
rshaibakov
@rshaibakov
Web-разработчик
Современные клиентские фреймворки навязывают своей архитектурой содержание бизнес-логики на стороне браузера. Таков уж тренд. Но это не означает что фронтендер становится fullstack. Для написания бэкенда, навыков фронтендера не хватит.
Типичный фронтендер сегодня - это уже не верстальшик, это уже что то большее, но еще не fullstack.
В моей работе, основные обязанности фронта: верстка, стили, сборка (webpack, gulp, grunt), бизнес-логика, работа с API и различными сторонними сервисами (google, facebook и др).
Ответ написан
AlexXYZ
@AlexXYZ
O Keep Clear O
Почему вы решили, что эти фреймворка пилят бизнес-логику? Бизнес-логика это движение только данных. Перечисленные вами фреймворки только связывают интерфейс с данными, предоставляемые бизнеслогикой. Грань между бизнес-логикой и интерфейсом - смена интерфейса. Если интерфейс можно поменять без изменений на стороне backend-а (например с HTML на WPF), то разделение выполнено правильно.
Ответ написан
зачем [..] такие монстры

Очень нередко - только для того, чтобы поднять ЧСВ "разработчика".
Но иногда фронтовые фреймы полезны, хотя мало (или совсем нет) приложений, где нельзя обойтись простым и компактным Vue против перенавороченных Rеact или, тем более, Angular.
Но
получается что вы пилите уже не только интерфейс но и бизнес логику?

Нет (вернее, нет - если пилят не дауны).
На фронте остаётся только логика интерфейсная. Другое дело, что часто интерфейс достаточно сложный, и требует много валидации. Но валидация на фронте - всегда "опциональна" (не имеет смысла, если её нет на бэке), и, по уму, сложную валидацию всё равно проще передавать сереверу AJAX-ом.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Корректно создать работающий на большинстве устройств пользовательский web-интерфейс с требуемым функционалом на заранее оговоренной с Заказчиком технологии (простой шаблон или SPA/веб-приложение).

PS: fullstack - это, например, PHP+JS
Ответ написан
Комментировать
yurakostin
@yurakostin
Front-end developer
Frontend разработчик сейчас понятие чертовски широкое.

Думаю, что реально крутой frontend developer умеет следующее:

  • Верстать. Доступно, кроссбраузерно, адаптивно, резиново и так далее.
  • На отлично знать VanilaJS.
  • Уметь собирать проекты: стили, js, шрифты, шаблоны - всё. Webpack, пожалуй - наше всё. Ибо, насколько я помню gulp и grant - таск-менеджеры. А с этой задачей прекрасно справляется npm. Соответственно.
  • Уметь настраивать webpack и при этом помнить, что есть готовые решения для сборки.
  • Уметь как работать с npm.
  • Уметь работать с двумя-тремя популярными фреймворками. Например Vue.js,
    Angular.js, React.js + Redux.js. Представлять плюсы и минусы каждого из решений.
  • Уметь писать код. Тоже очень широкое понятие. Но, я, пожалуй, остановлюсь на том, что хороший фронтендер должен писать код, придерживаясь code style-а; выделять общие части в отдельные функции/классы и т д; давать адекватные имена переменным/функциям/классам etc. В общем держать свой код в чистоте и порядке.
  • Уметь читать чужой код. Это очень непростая работа. Нужна высокая сосредоточенность, внимательность.
  • Уметь покрывать свой код тестами.
  • Уметь планировать архитектуру клиентской части приложения. Я бы даже сказал, что очень пригодится умение писать UML схемы. Мы же не jquery карусель собрались писать на такой должности.
  • Понимать на простом уровне как работает HTTP. Как клиент отправляет данные, как их считывает сервер, как отдаёт ответ, и т д.
  • Интересоваться смежными областями. В первую очередь backend. Благо можно не учить php, ведь есть nodejs. Это тот же самый javascript, так что думаю, что шикарный фронтендер должен уметь писать и на nodejs, понимать нюансы его работы.
  • Знать больше чем html, css, js. Уметь, например, программировать на python/erlang/ClosureScript/php/c/haskell/подставь своё. Это расширяет кругозор.
  • Следить за новинками в своей области и интересующих смежных областях.
  • Уметь работать с git.
  • Уметь работать с командной строкой. На мой взгляд уметь только cd, ls, mkdir, chmod, chown и touch - не серьёзно.


Думаю, что если ещё посижу, то напишу ещё что-нибудь, но думаю, что основная мысль понятна - нужно уметь и знать много всего.

Список этот может показаться пугающим. Но фишка в том, что всё сразу изучить нельзя. Двигайтесь по пунктам не спеша, разбираясь в тонкостях, нюансах.
Изучение чего-либо процесс не быстрый, но если вам нравится то, что вы делаете, то усилия окупятся обязательно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы