Web Component: прирожденный убийца всех существующих фронт-энд фреймворков?

Web Component: прирожденный убийца всех существующих фронт-энд фреймворков?

в общем-то это даже и не вопрос, это его цель.

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

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

то есть браузер сам стал фронт-энд фреймворком

к чему это приведет:
(1) фактически неизбежное вымерание JS фронт-энд фреймворков, так как JS фронт-энд фреймворков - это все же костыль, заплатка, глобальный "полифил" для несуществовавшего ранее браузерного функционала. Старый Лайтнинг фреймворк теперь уже легаси Аура велосипедо-изобретательский проектик. RIP.

(2) Унификация фронтэнд девелопских скилсов: СФ пишет, что теперь любой фронт-энд разработчик может легко запилить СПА програмулину под СФ. А я вот думаю об обратном:

(3) Теперь любой, кто разобрался в Web Component может относительно легко пилить на любой платформе. Вот это действительно важно. Это свобода.

А не приведет ли это к третьему сдвигу:

(4) если все работу можно организовать в браузере на нативном уровне, не снизится ли зависимость проектов от дорогих и сложных платформ. Может и значение платформы выродится просто в функционал БД и обеспечение безопасности? Вот где начинается настоящая свобода и шанс для новый прорывных стартапов.

Что думаете?!

Den Brown
3) Теперь любой, кто разобрался в Web Component может относительно легко пилить на любой платформе. Вот это действительно важно. Это свобода.

Одна из реализаций называется Material Design. Прикольная штука

Давно слежу за Web Components. Штука прикольная, но еще крайне сырая и не все поддерживается современными браузерами. Хотя последнее время прогресс пошел.
Что станет киллер фичей для сегодняшних фреймворков это врядли. Это всего лишь низкоуровневый слой для инкапсуляции html/js. Всю сложную логику по взаимодействию, биндингу, сервисы и прочей js фигню придется писать самому. Преимущество лишь в том что если использовать WebComponents чистыми, то не нужны будут никаких многотонные библиотеки и компиляция. Бери и пили прям внутри страницы - как в старые добрые времена с JQuery. Но кто активно практикует фронтенд знают сколько плюшек есть еще до того как код дойдет до браузера. Плюс куча готовых решений из коробки современных фреймворков сильно облегчают жизнь и спасают от изобретения очередного велосипеда.

WebComponents это всего лишь основа и многие фреймворки просто начинают их использовать как фундамент, а переход для разработчиков абсолютно незаметен (вчера компоненты просто компилились в кусок html, завтра будут собираться в нативные web компоненты).

Конечно можно будет использовать их напрямую, но это будет сравни разработке на голом JS (поклонников данного подхода тоже хватает).

wilder
Одна из реализаций называется Material Design. Прикольная штука

Если не ошибаюсь Material Design это всего лишь концепция дизайна
https://ru.wikipedia.org/wiki/Material_Design
и она не имеет никакого отношения к Web Components. Вариантов ее реализации куча.
https://material.angular.io/
https://material-ui.com/
https://materializecss.com/

В том числе и на Web Components
https://material-components.github.io/material-components-web-catalog/#/
Но что-то набор сильно скудненький.

Dmitry Shnyrev
Если не ошибаюсь Material Design это всего лишь концепция дизайна
https://ru.wikipedia.org/wiki/Material_Design

Но если честно так и не проникся экой концепцией. Походу это сильно выше моего понимания. Хотя пробовал использовать на уровне css в своих проектах. ИМХО сложилось впечатление что это все вылезло и заточено скорее под мобильную платформу чем под web.

Вот кстати и интересная статейка подоспела на Хабре.

Когда исчезнут JavaScript-фреймворки?

Конечно ничего выдающегося в ней нет, но как всегда соль в самих комментах. Позволю себе наглость и процитирую популярный коммент
К сожалению, приведённый пример с веб-компонентами не учитывает тот факт, что уже в небольшом приложении сразу же встанет вопрос об управлении состоянием, асинхронных операциях и т.п. Здесь нужны вспомогательные технологии, подобные redux, rxjs, mobx, vuex. В итоге получится некоторый глубоко кастомный фреймворк, для которого не будут существовать готовые рецепты и библиотеки (например, для обработки форм), а порог входа для новичков будет существенно выше, чем при разработке на популярном фреймворке. Придётся тратить дополнительное время на объяснение всех принципов, особенностей, best practices и соглашений. То есть собственно того, что делает фреймворк фреймворком.

И это чертовски правильное утверждение - современные фреймворки являются полноценными инструментами с хорошо документированными стандартами. За годы развития они впитали в себя все основные элементы для создания приложения. Разработка с нуля на тех же веб компонентах сведется к разработке собственного фреймворка-франкенштейна. Ладно еще простительно если сам будешь работать, но если на такой проект придут люди, то как быстро они проникнутся вашей структурой проекта. В то время как с тем же Ангуляром инструктаж новых разработчиков будет сводиться к редиректу на официальную документацию. Кстати, из опыта скажу, еще не разу мне не объясняли новый проект на Ангуляр - весь процесс входа сводился к получению ссылки на git репозиторий. И это очень правильно. Свобода действий это ЗЛО! Чем больше фреймворк ограничивает в возможностях разработки, тем сложнее выстрелить себе в ногу.

Dmitry Shnyrev
Чем больше фреймворк ограничивает в возможностях разработки, тем сложнее выстрелить себе в ногу.

И обратная сторона этого - сложнее сделать что-то нестандартное. Написать слово мел *уем.

Maxim Elets
И обратная сторона этого - сложнее сделать что-то нестандартное.

В небольших масштабах возможно, но я бы к примеру лучше бы жил в городе построенном из железа и бетона по законам архитектуры, чем в городе где каждый строит из говна и палок как умеет.
Помнится мне один проект где один программист нагородил всяких одному ему известных паттернов программирования, натянул кучу сторонних либ и сказал работать с этим всем. А пришли потом более опытные разрабы и ужаснулись. А со временем все эти паттерны ушли в историю и все кодят кто во что горазд.
Я против любого вида самодеятельности!

Интересная информация? Помогите сайту, разместите ссылку в социальных сетях..