169 похожих чатов

Всем привет. Пытался у себя в компании свелт протолкнуть. Но наш

новый head of engineering топит за вуе. И там, вроде, новая версия вышла
Вот ссылка на статью про performance https://blog.vuejs.org/posts/vue-3.2.html
Как так? Не думал, что компилируемыи язык (свелт) сможет поиграть. Помогите найти аргументы за свелт в моей войне с head of engineering

45 ответов

33 просмотра

Эван начал по стопам автора солида гнаться за циферками в бенчмарках, от чего уверенности в перформансе в реальных приложениях у меня лично нет

Свелт не проиграл, он не играл) + посмотрите на память + считайте что вью уже выжал максимум в то время когда свелт даже не начинал

И правильно делает. Vue на порядок развитей Svelte. Так то я могу недели за две написать фреймворк, который будет быстрее и Свелта и Вью и занимать меньше места и с более удобным синтаксисом. Только все компоненты к нему нужно будет писать с нуля, баги будут вылавливаться годами, а из-за отсутствия документации и примеров изучать фреймворк придется копаясь в исходниках. Готовы к такому? Свелт, надо отдать должное, перешагнул минимальную планку экосистемы для практического использования. Но Вью на порядок более развитый. И поэтому для сложных задач лучше приспособлен.

M S
И правильно делает. Vue на порядок развитей Svelte...

В чем развитость выражается кроме готовых библиотек компонентов и наличия нативных биндингов там, где в свелте прийдется использовать ванильный биндинг?

˸̧̨ ͅBlack-Akula˸̧̨ ͅ ̤ ̬̪ Автор вопроса
M S
И правильно делает. Vue на порядок развитей Svelte...

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

Mark Tanashchuk 🇺🇦
В чем развитость выражается кроме готовых библиоте...

Я с другой стороны зайду. Написали вы как кажется, правильный код. А он не работает. ( не так работает). Что делаете на Вью? Правильно. Гугл и через две минуты узнаете что это: глюк Вью или ваших кривых рук и как нужно было сделать правильно. Что делаете на Свелте? Ну а посмотреть на на Гитхабе количество репозиториев по Вью и Свелт можете сами.

M S
Я с другой стороны зайду. Написали вы как кажется,...

на свелте ты просто страдаешь, потому что на свелте легко отламывается итерация по массиву

M S
Я с другой стороны зайду. Написали вы как кажется,...

Это утверждение предполагает что я встретился с правильным кодом который не работает или работает не правильно. В то время как я за последние несколько месяцев работы встретился с двумя-тремя случаями которые редкие и которые keyed each(который мало кому нужен и легко заменяется)

Mark Tanashchuk 🇺🇦
Это утверждение предполагает что я встретился с пр...

Марк опять несет чушь про заменяемость keyed each, так и не смог понять доки

Alexander Ponomarev
Марк опять несет чушь про заменяемость keyed each,...

Ты хоть один пример не связанный с анимациями приведешь?

M S
Я с другой стороны зайду. Написали вы как кажется,...

Даже в ангуляре есть ишьюсы, но в основном все ошибки во фреймворках это ошибки с js, конечно, могут быть ошибки с имплементацией встроенных инструментов/фич/сервисов фреймворка, но у свелта этого добра не так чтобы очень много) пока что во всяком случае.

M S
Я с другой стороны зайду. Написали вы как кажется,...

По количеству репозиториев ничего не скажу, скорее всего у вью их больше, но сколько времени существует вью и сколько свелт ...

Mark Tanashchuk 🇺🇦
Это утверждение предполагает что я встретился с пр...

Ты понимаешь Свелт? Может, сможешь ответить как и когда Свелт запускает микротики? Какой механизм? Я не нашел. Даже на английском.

M S
Ты понимаешь Свелт? Может, сможешь ответить как и ...

имеются ввиду микротаски ? Хз, не интересовался

Alex Dan
Даже в ангуляре есть ишьюсы, но в основном все оши...

Так в том и дело. Баги неизбежная часть производства ПО. И одно дело когда фреймворк распространен и и ссылок на баг дофига и советов как обойти тоже. Другое дело когда малораспространенный. И ты наедине с этим багом.

M S
Ты понимаешь Свелт? Может, сможешь ответить как и ...

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

M S
30 к 1

Ожидаемо)

M S
Ты понимаешь Свелт? Может, сможешь ответить как и ...

Краткий ответ: Батчит все что видит Длинный ответ: Батчи~ит все~е что~о види~ит От кода зависит)

M S
30 к 1

Методика определения?

Mark Tanashchuk 🇺🇦
Методика определения?

Просто ссылка на репозитории при поиске

M S
Ты понимаешь Свелт? Может, сможешь ответить как и ...

Может тут что полезное будет https://youtu.be/OEGZOGe-120

M S
Ты понимаешь Свелт? Может, сможешь ответить как и ...

как будто у нас в js есть куча спобов запустить микротаску) если быть точным их 2 и нет разница как это делается. в случае со свелт и vue там промисы

Pavel 🦇 Malyshev
как будто у нас в js есть куча спобов запустить ми...

Через таймер еще может быть вариант. И гибридные.

Mark Tanashchuk 🇺🇦
Ты хоть один пример не связанный с анимациями прив...

любой реордер списка. на самом деле бага не приятная. просто @volodya11let перебарщивает

M S
Через таймер еще может быть вариант. И гибридные.

если речь про setTimeout, то это не микротаска

Pavel 🦇 Malyshev
любой реордер списка. на самом деле бага не приятн...

Речь была не о баге а о применимости keyed each в реальных задачах

Pavel 🦇 Malyshev
если речь про setTimeout, то это не микротаска

Как свелт делает применение изменений состояний приложения? Директивно изнутри? по таймеру? по событию? По коммиту? Гибридно? Мне не понятно

Alex Dan
Может тут что полезное будет https://youtu.be/OEGZ...

да норм доклад получился в принципе. кажется удалось достаточно просто рассказать

M S
Как свелт делает применение изменений состояний пр...

доклад выше не плохой. микротаска используется только для одной цели - батчинг измененных состояний. тоже самое и в Vue. обще это называется асинхронные рендеринг. для сравнения: // React this.setState({ foo: 10, bar: 20, baz: 30 }); // update DOM after this call // Vue this.foo = 10; // should we update DOM after this call? seems not. this.bar = 20; this.baz = 30;

M S
Как свелт делает применение изменений состояний пр...

в целом он применяет изменнения в микротаске, а это означает что после того как текущая макротаска закончилась, непосредственно перед следующей

Pavel 🦇 Malyshev
доклад выше не плохой. микротаска используется тол...

Спасибо! Немного встало на свои места. Как работает Вью немного представляю, там в основе комбинация коммитов и таймера. Насчет Свелта было подозрение что он директивно применяет какие-то изменения изнутри, но, видимо, все проще.

Pavel 🦇 Malyshev
доклад выше не плохой. микротаска используется тол...

в большинстве случаев реакт не будет обновлять дом как тут написано сразу, потому что в большинстве случаев сет стейт будет в эвент листенере а он батчится. В 18ом реакте всегда будет батчится

Alexander Ponomarev
в большинстве случаев реакт не будет обновлять дом...

ну то есть после вызова setState DOM еще не обновленный?

Pavel 🦇 Malyshev
ну то есть после вызова setState DOM еще не обновл...

в большинстве случаев да, даже this.state будет все еще старым. Об этом явно написано в доке

Alexander Ponomarev
в большинстве случаев да, даже this.state будет вс...

Сетстейт же вообще асинхронный, конечно дом старый будет.

Alexander Ponomarev
в большинстве случаев да, даже this.state будет вс...

ок, тогда как сделать: this.setState({ foo }); const foo = document.getElementById(‘foo’); ?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта