@senselessV7

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) ?

Такое ощущение, что программисты не упрощают себе возможность разработки, а наоборот усложняют с каждым годом.
  • Вопрос задан
  • 3170 просмотров
Пригласить эксперта
Ответы на вопрос 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.ru
    но ведь сейчас многие заказы на биржах с просьбой применять 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
Похожие вопросы