Каковы основные преимущества Facebook React в отношении предстоящих веб-компонентов и наоборот (или, возможно, сравнение яблок с яблоками было бы в Google Polymer)?
В соответствии с этим обсуждением в ЕС и главной страницей React, основными преимуществами Реагента являются:
- Развязка и усиление сцепления с использованием модели компонентов.
- Абстракция, композиция и выразительность
- Виртуальные DOM и Синтетические события (что в основном означает, что они полностью переделали DOM и систему событий)
- Включает современные события событий HTML5 в IE 8
- Отверстие на стороне сервера
- Тестируемость
- Привязки к SVG, VML и
<canvas>
Почти все упомянутое интегрируется в браузеры через веб-компоненты, за исключением этой виртуальной концепции DOM (очевидно). Я могу видеть, как виртуальные DOM и синтетические события могут быть полезны сегодня для поддержки старых браузеров, но не выбрасывают огромный кусок родного кода браузера, вроде того, как стрелять себе в ногу в долгосрочной перспективе? Что касается современных браузеров, разве не так много лишних накладных расходов/переосмысления колеса?
Вот некоторые вещи, которые, как мне кажется, отсутствуют. Исправьте меня, если я ошибаюсь.
- Поддержка собственного браузера (чтение "гарантировано быстрее" )
- Напишите JavaScript в ванильном JavaScript, напишите CSS в CSS, напишите HTML в HTML.
- Инкапсуляция стиля с использованием Shadow DOM
- React вместо этого имеет этот, который требует написания CSS в JavaScript. Не красиво.
- Двусторонняя привязка