Fusor vs React

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Моя работа состоит в написании кода на React. Несмотря на то, что мне нравится React, при разработке на нем я столкнулся с некоторыми его недостатками. В связи с этим, я решил создать свою библиотеку, Fusor, чтобы исправить эти недостатки и вот что из этого получилось.

Нашел один фатальный недостаток и решил запилить своё с блэкджеком...

Не люблю лишних разговоров поэтому перейду ближе к телу наших подопытных.

Разделяй и властвуй

Он же принцип единой ответственности (single-responsibility principle) из одной "малоизвестной" методологоии - SOLID.

Он же принцип разделения ответственности (separation of concerns).

ROUND 1, FIGHT!

Зона ответственности

Fusor

React

Создание компонента

create()

create_update()

Изменение состояния

state = x

setState(x); create_update()

Обновление компонента

update()

setState(x); create_update()

Это псевдокод

Как видно, у React с разделением не задалось.

"Ну и что с того?" - скажете вы.

А то что...

Проблемки имеются

ROUND 2, FIGHT!

Зона ответственности

Fusor

React

Данные компонента

Создаются один раз

Пересоздаются на каждый чих/обновление

Сайд-эффекты

Меняй данные и обновляй

Сложная и "многословная" логика хуков

Обновление

Где и когда нужно

Не явное и тяжеловесное

Контекст

Не нужен

Нужен

Размер

~2kB

~44kB

Вот что бывает если не следовать базовому принципу программирования. Не зря в SOLID он на первом месте.

"Но ведь благодаря этому 'тежеловесу', облегчается жизнь нам, разработчикам, так?"

.

.

.

Нет.

Меньше слов, больше дела

ROUND 3, FIGHT!

Fusor vs React counting button
Fusor vs React counting button

По моему результат на лицо. React многословнее чем Fusor.

useCallback в этом простом премере потому что, во Fusor, click хэндлер тоже не меняет свой указатель.

Итог

React сложнее и тяжелее чем Fusor.

"Зато React используют газилионы разработчиков и тонны библиотек под него уже написаны."

Да, вот только до React, газилионы разработчиков использовали и писали библиотеки на JQuery, а до него вообще генерировали страницы на PHP. Время течет, мир меняется.

"Что, теперь переучиваться?"

Нет. Если вы знаете React, то вы уже знаете Fusor, и еще кучку лишних концепций из React.

У меня всё.

Ссылочка на репозитарий Fusor: https://github.com/fusorjs/dom

Всем спасибо за внимание!

До свидания!

Источник: https://habr.com/ru/articles/768928/


Интересные статьи

Интересные статьи

Redux и Effector — это две популярные библиотеки, которые используются для  управления состоянием в веб-приложениях. Но если первая широко известна во frontend-разработке, вторая только набирает ...
Хочу рассказать о пяти простых React-хуках, которые пригодятся в любом проекте. Причём, полезность этих хуков не зависит от того, в каком именно приложении их будут использовать. Описывая...
Статья просвещена тем, кто пишет на стеке React/React Native и хочет освоить новую для себя технологию – Flutter. И нет, мы не будем тут писать приложение на этом фреймворке! Если вы ждет...
В React 17 Release Candidate появляется новый способ трансформации JSX. С ним, в бандле, не понадобится сам Реакт, хотя для использования хуков он всё ещё нужен. Это и есть основной б...
Автор материала, перевод которого мы публикуем, недавно выпустил своё первое мобильное приложение, написанное на React Native. Так случилось, что это приложение стало и его первым проектом, котор...