Pull to refresh

Comments 38

Вот так и хочется воскликнуть, узрев очередной фреймворк

Или так
Троллейбус из буханки хлеба
Троллейбус из буханки хлеба

Так не фреймворк жеж, а 1 функция если через JSX ))

Эти упрощенные фреймворки все больше похожи на веб компоненты из ствндарта html. Почему сразу со стандапта не начать ?

Веб-компонентам кое-чего не хватает для комфортной разработки на них.

Байндинга с шаблоном, директив в шаблоне, реактивных переменных, не строковых пропсов. Добавляем это и получаем Vue

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

Что может быть проще этого ?

const data = component.querySelector('container')
data.addEventListener('click', () => { data.textContent = 'test'})
data.removeEventListener('click', () => { data.textContent = 'test'})

Для приложений уровня разобранных в этой статье это подходит, да
Для чего-то более серьезного - не очень

Ну и я забыл роутинг клиентский

Ну и я забыл роутинг клиентский

Пожалуйста. Роутинг клиентский, при чем он качественнее всего того, что я видел раньше, потому что в примере из документации явно видно как сделать все стадии обработки загрузки страницы.

https://developer.mozilla.org/en-US/docs/Web/API/Navigation/navigate_event

Для чего-то более серьезного - не очень

Это неправда. Ограничений по сложности нет, если правильно архитектуру собрать.

В наше время библиотеки и обертки для роутинга уже не так актуальны. Любой роутинг делается в 2 строчки кода.

Как это?

  • слушать window.addEventListener('popstate', ...)

  • менять history.pushState(...)

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

Ваш пример чутка нерабочий, необходимо расширить до 4 строк кода

Байндинга с шаблоном, директив в шаблоне, реактивных переменных, не строковых пропсов. Добавляем это и получаем Vue

Или Lit. Он, всё же, by design разработан для создания веб-компонентов и приложений на их базе. Vue всё же был создан несколько для другого, что не отменяет возможности скомпилировать Vue-компонент в веб-компонент.

Еще со времен Ангуляра, не понимал в чем фишка директив в шалонах. У нас уже есть один язык программирования ЯваСкрипт, зачем еще один для шаблонов, лишняя ментальная нагрузка.

На мой взгляд причина та же, почему когда-то в PHP, Java и других языках ушли от шаблонов с вставками кода к шаблонизаторам. Язык даёт слишком большую гибкость и это не всегда нужно.

Об этом говорил создатель Vue в одном из своих докладов.

Мне кажется одной из причин такой популярности Реакт это JSX и использование яваскрипт для "шаблонов" и для логики.

Фьюзор хорошо подходит для создания и обновления ДОМ внутри стандартных вэб компонентов. Он кстати использует их частично для определения коннекта/дисконнекта к ДОМ.

Так вроде есть Lit уже, может даже не он один.
Я конечно не против, пусть выживет сильнейший, но в чем фича?

Их очень много сейчас. А как сильнейшего выбрать можно, если каждый день лучший в мире фреймворк выходит ? Есть какая нибудь методика ?

Методика проста: фреймворк должен быть лишён фатального недостатка.

А какие фатальные недостатки есть ?

На первый взгляд могу только сказать что это очистка инициализация данных

Нечеткий/разбросанный по файлам процес преобразований

Взаимодействие любой части кода с любой частью кода.

Но самые лучшие фреймовки в мире как правило ограничиваются написание hello world для описания ( как и эта статья ) уверяя, что больше вам ничего не понадобится, а потом ты годами борешься с тем чего не хватает и ждешь новой версии с нетерпением, а потом с раздражением

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

Это наше - всё ))

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

Ещё один вы внебрачный сын Реакта

Абсолютно! )) Будучи профессиональным разработчиком на Реакт, с него родимого черпаю вдохновение ))

-- Какого моё предназначение мастер?
-- Стать новой реактивной библиотекой
-- Я ведь буду обладать какими-то уникальными фичами и стану лучше чем предшественники?
-- Ммм... Ты мало весишь

Одна функция АПИ если создавать через JSX, простота, гибкость и прозрачность, такого у других нет ))

Да вы что, весь jsx "интегрируется" с помощью двух функций на любой фреймворк. Зачем ещё один и чем он лучше - совершенно неочевидно...

В них много всего происходит за кадром. Классы менее гибки чем функции. Декораторы. Что-то как-то там работает, не не видно как, много скрытой логики.

В Фьюзере все на поверхности. Определили функцию с данными, создали компонент, обновили, всё. Данные это обычные переменные.

Как можно библиотеку называть фреймворком 🤦🏻‍♂️

Стало быть react тоже Фреймворк 🤣

да, реакт - это фреймворк

Изучайте для начала https://react.dev/

Даже первой строчкой написано: "React The library for web and native user interfaces"

а какое преимущество эта либа дает в сравнении со старым добрым stenciljs ? (если дает)

Я не специалист по Стэнсилу. Но из доков по нему видно что в Стенсиле есть механизм для стейта, пропсов, реактивности и много чего еще. А также нужен компилятор чтобы это скомпилировать чтобы все работало.
Во Фьюзере этого всего нет, только создание и обносление элементов ДОМ. Но в статье показано как с помощью яваскрипта можно легко добавить недостающие элементы. Соответственно сама библиотека гораздо проще и легче. Тоже касается и других фрэймворков.
Надеюсь объяснил суть.

Sign up to leave a comment.

Articles