Javascript фреймворки — дань моде или быстрота и удобство?

Мир front-enda как-то внезапно охватила волна js фреймворков (React, Angular, Vue, ...).

Как пишут на хабре:

JavaScript фреймворки могут стать палочкой выручалочкой для быстрой разработки веб-приложений


Правильно ли я понимаю, что веб-приложение - это многостраничный сайт типа airbnb, amazon, uber, и прочие сервисы с online заказами, расчетами, ... ?

Что же такое веб-приложение?

Хорошо, если так, то можно предположить, что для таких сервисов js фреймворки действительно удобны. Над ними работает большая команда разработчиков, но ведь сейчас многие заказы на биржах с просьбой применять js фреймворки для верстки интернет магазинов и чуть ли не для лендингов.
Просто потому что это модно?

Не проще ли создавать страницы с использованием лишь html,css, js и не быстрее ли так будет, нежели настраивать сборщик, создавать template по разным папкам?

Пока что аж страшно начинать учить js фреймворки из-за громоздкости одной лишь настройки проекта.

А вот код одного из такого приложения:

<template is="light-core-template" shadow-dom="" parent-tag="my-application" ready="">
<light-core-ajax src="{{configUrl}}" on-success="_configLoaded"></light-core-ajax>
<template is="light-core-template" if="{{content !== null}}">
	<light-core-state-machine>
	    <light-core-state state="page" on-state-change="_onPageChange" route="(/:page)">
	    <light-core-state state="product" on-state-change="_onProductChange">
	    <light-core-state state="about" on-state-change="_onAboutChange">
	</light-core-state></light-core-state></light-core-state></light-core-state-machine>
</template>


<template is="light-core-template" if="{{showScene}}">
	<main id="main" role="main" class="u-fixed u-pos-tl c-stack-wrapper c-draggable  {{isMenuActive ? 'is-zoomed-out' : ''}}">
		<app-slideshow current-index="{{currentSceneIndex}}">
			<app-slide id="about-region" disable="false" class="u-viewport-fit-w u-pos-b u-absolute u-pos-tl u-overflow c-stack is-prev">
			   ...


Валидно ли это, зачем тогда вообще html, если благодаря js фреймворкам все верстается кастомными тегами (template) ?

Такое ощущение, что программисты не упрощают себе возможность разработки, а наоборот усложняют с каждым годом.
  • Вопрос задан
  • 3464 просмотра
Пригласить эксперта
Ответы на вопрос 10
@maxbublik
JS фреймворки уже несколько лет - это будни фронтэнда, и это не мода, и это никуда не уйдет. Также как никуда не уйдет традиционная верстка. Они будут жить вместе. Четкую границу между веб-сайтами и веб-приложениями провести нельзя, но суть вопроса автора вопроса понятна.

Конечно же, делать простой лендинг на чем-то типа Angular/React - это клиника. Хотя если нужны интерактивные блоки, очевидно лучше использовать Vue, чем городить что-то на jQuery. Vue как раз хорош тем, что его можно задействовать только для отдельных виджетов, а весь остальной сайт продолжай писать как тебе угодно.

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

Короче, если вы верстаете но на JavaScript ничего сложней jQuery вы не умеете, то вы в заднице. И каждый год вы все глубже.
Ответ написан
@devunion
И я вставлю 5 копеек о пользе Vue. Несколько лет назад начинал изучать Angular. Пришел к выводу, что есть идеи интересные, но как-то все сделано через одно место. Плюнул. Продолжал использовать jQuery (надеюсь, что необходимость использования jQuery или подобных библиотек вопросов не вызывает. Оптимизировать производительность можно долго и эффективно уже потом, когда это реально понадобится. В большинстве случаев до оптимизации дело вообще не доходит). Потом посмотрел Vue. Понравилось. Стал использовать в различных проектах. Раньше начинал делать простые проекты на jQuery т.к. необходимости тащить фреймворк вроде бы как и нет. В дальнейшем оказывалось, что при развитии проекта jQuery уже не удовлетворял всем потребностям. Переписывал на Vue. Наверное, в будущем буду сразу все писать на Vue и не заморачиваться.

Вывод: попробуйте, не пожалеете!
Ответ написан
dpr
@dpr
frontend developer
Мир front-enda как-то внезапно охватила волна js фреймворков (React, Angular, Vue, ...).

Да ну. У вас наверное просто небольшой опыт в разработке. Просто эти продукты стали популярными в последние годы. Ранее мейнстримом были Backbone, Knockout и др.
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
но ведь сейчас многие заказы на биржах с просьбой применять js фреймворки для верстки интернет магазинов и чуть ли не для лендингов.
Просто потому что это модно?
ДА. И ничего более...

Такое ощущение, что программисты не упрощают себе возможность разработки, а наоборот усложняют с каждым годом.
ДА. Верно говорите! Текущий тренд: задача - не сделать (быстро и хорошо), задача - заработать (всем и по-больше).

1. Всё можно сделать на нативе (vanilla.js, pure js). В крайнем случае - на том же Jquery.
Главное - корректно строить архитектуру.

2. Финансовая сторона вопроса: приучают к своему фреймворку и PR-ят везде для того, чтобы затем:
  1. проводить по нему платное обучение молодых IT-специалистов,
  2. выпускать и продавать книги,
  3. создавать на нём платные плагины,
  4. делать платные разработки.
  5. создавать центры платной сертификации


PS: имеет смысл что-то разрабатывать из фреймворков, если этого нет "из-коробки" и создавать с максимально простым пониманием и использованием инструмента.
Вот пример моего модуля (на "чистом" js): includeHTML (всего 1 функция...).
Ответ написан
LordGuard
@LordGuard
Мне лично значительно проще написать относительно сложный лэндинг с различными анимациями на nuxt.js (vue.js + SSR), чем на чистом js. Что уж говорить о более навороченных сайтах. И я в целом знаю о чём говорю. Недавно переписывал один проект на vue.js, который до этого я же сам и писал на php + jquery. И для себя отметил, что очень многие моменты, на которых я застревал на несколько дней с jquery - с vue.js решались в пару строк кода. Это действительно удобно.

P.S: проект на vue.js разворачивается за 3 минуты с помощью vue-cli, а с nuxt'ом за то же время ещё и с настроенным серверным рендерингом.

P.S.S: да, и тут есть некоторые подводные камни и на их разбор может потребоваться время, но их в разы меньше и постепенно ты начинаешь думать уже над другими, куда более сложными и важными вопросами.
Ответ написан
@Programmir
Дань моде. Всё можно сделать и на jquery. Пробовал изучать react, vue - муть какая-то. Непонятно, зачем они нужны, только усложняют всё.
Ответ написан
@alexmixaylov
Не проще ли создавать страницы с использованием лишь html,css, js

возможно в чем то и попроще, но используя те же самые CSS препроцессоры типа LESS или SASS
вы значительно упрощаете себе жизнь используя хотя бы переменные и миксины
а если нужно что то Изменить, а такое часто бывает....
то же самое с JS, если использовать тот же VUE (ангулар и реакт намного сложнее) можно избавить себя от написания с нуля рутинных задач
Ответ написан
@dplsoft
имхо, тут несколько аспектов.
надо понимать что джаваскрипт полезен, но "переоценен". его пихают куда только ни попадя, даже туда куда он нафиг не нужен в тех количесвах в которых это впихивают. а потом имеют говнокод, который никто кроме автора не способен понять как оно работает.

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

т.е. тебе нужна автоматизация поведения на странице, но сегодня крайне много спекуляций вокруг этого, и фреймворков, создаваемых не от необходимости или не для решения конкретных задач, а ради сахара, красивых принципов и ради красивой "магии".

почему вы думаете jQuery живее всез живых? это наличии мегатонн всяких супер пупер навороченных фреймворков? потому что он относительно прост и понятен. у него не самая лучшая наверное архитектура, он не самых идеальных принципов в части шаблонов проектирования, но он прост, позволяет тут и сейчас решить твои проблемы, не выворачивая твою серверную часть раком наизнанку ради соблюдения очередной фичи мега красивой архитектры, которая пришла откровением архитектору какого нибудь ангуляра, и без котрой этот мега комбайн нп работает.

декларативные шаблоны, "правильное" mvc (естественно правильное в мозгах автора-теоретика фреймворка), динамический рендерг элементов в больших списках... это все красиво только в формате курсовой после 2х семестров обучения, а когда у тебя в итоге в итоге ctrl-f на странице не работает и тебе клиент мозг ест, а все что ты можешь сказать - это "так устроен фреймворк отображаюй список элементов" - вот это уже совершенно не смешно, это джаваскрипт головного мозга авторов таких страниц, извините )))

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

хотя если ваша задача - "обеспечить себе пожизненную струю дохода", так, что бы выворачивать клиенту руки и шантажировать его "не повысите зп - я свалю в туман" потому что с вашим подеелием больше никто не в состоянии работать, потому что то что ты наворотил в принципе не поддерживаемо и это никто не понимает кроме тебя - тогда конечно вооружайттесь кучей модных фремворков, будьте в тренде и делайте все на правильных фреймфорках, пускайте пыль в глаза... и да поможет вам удача не быть прибитым за углом вашими же клиентами.))
Ответ написан
Не проще ли создавать страницы с использованием лишь html,css, js и не быстрее ли так будет, нежели настраивать сборщик, создавать template по разным папкам?

Сборщик минифицирует, обфусцирует и сливает в один файл множество отдельных css и js. Как вы будете это делать без сборщика?
Ответ написан
ozknemoy
@ozknemoy
яваскриптист
для приложений и сложных сайтов фреймворки, для обычных сайтов jquery. самое интересное где та граница сложно/просто
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Admon Новосибирск
от 50 000 до 70 000 руб.
Энергомера Ставрополь
от 28 000 до 30 000 руб.
TZ Communications Москва
от 140 000 до 200 000 руб.