Size: a a a

2020 November 26

IG

Ilya Gladko in Svelte [svelt]
Марк Танащук
Я не мазо
мне очень жаль, но похоже, у вас тут Константин
источник

IG

Ilya Gladko in Svelte [svelt]
пойду пока не влип
источник

К

Константин in Svelte [svelt]
Pavel 🦇 Malyshev
Пожалуй, а есть что подобное для реакт или другого фреймворка на что можно было бы ровняться?
на самом деле там даже официальный гайд очень многое раскрывает на примерах. Просто в реакте парадигма изначально понятная - компоненты ререндерятся всегда, когда меняются пропсы или стэйт. Исходя из этого ты всегда знаешь, что произойдёт, но вынужден отлавливать лишние ререндеры.
А вот у свелта не всё прозрачно и очевидно, без серьёзных раскопок исходников и аутпута. Не понимаешь, когда у тебя компонент пересоздастся, а когда только какой-то блок или цепочка внутри него, и как это зааффектит (или, по крайней мере, должно аффектить, чтобы точно знать, что где-то двойной рендер - это не баг, а фича). Когда думаешь, как избежать говнокода, приходится изобретать свои подходы. С зависимостями $, например. По сторам с одной стороны вроде понятно, но хз как работает get и стоит ли вообще его использовать, и как можно без get, например, в plain js, чтобы в точке получить актуальные значения, не ломая оптимизацию.
источник

К

Константин in Svelte [svelt]
Ilya Gladko
мне очень жаль, но похоже, у вас тут Константин
слишком поздно. Начались осложнения.
источник

IG

Ilya Gladko in Svelte [svelt]
Ха.

Вот вам решение конфликта терминологии в лучших традициях стандартизации интерфейсов. Вам нужен еще один, но свой и самый лучший. Называете опасити/транспаренси словом например, заметность.. Готово. Нормальность достигнута. Регулируете заметность от 0 до 1. Перепутать сложно
источник

МТ

Марк Танащук... in Svelte [svelt]
Ilya Gladko
Ха.

Вот вам решение конфликта терминологии в лучших традициях стандартизации интерфейсов. Вам нужен еще один, но свой и самый лучший. Называете опасити/транспаренси словом например, заметность.. Готово. Нормальность достигнута. Регулируете заметность от 0 до 1. Перепутать сложно
Это гениально, Холмс
источник

IG

Ilya Gladko in Svelte [svelt]
И еще надо выключить френдлифаер и кикатб кемперов. У нас всегда так было. Токсичность только в плюс, когда она вшутку а не в спигу
источник

IG

Ilya Gladko in Svelte [svelt]
Марк Танащук
Это гениально, Холмс
Надеюсь теперь моя неудача в шутку искуплена
источник

МТ

Марк Танащук... in Svelte [svelt]
Ilya Gladko
Надеюсь теперь моя неудача в шутку искуплена
источник

IG

Ilya Gladko in Svelte [svelt]
Ламповость восстановлена
источник

К

Константин in Svelte [svelt]
))
источник

a

artalar in Svelte [svelt]
Alexander Ponomarev
точнее свелт пока не запилен но запланирован) хотя файлик с генератором в сорцах лежит
Уже сделали
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Константин
на самом деле там даже официальный гайд очень многое раскрывает на примерах. Просто в реакте парадигма изначально понятная - компоненты ререндерятся всегда, когда меняются пропсы или стэйт. Исходя из этого ты всегда знаешь, что произойдёт, но вынужден отлавливать лишние ререндеры.
А вот у свелта не всё прозрачно и очевидно, без серьёзных раскопок исходников и аутпута. Не понимаешь, когда у тебя компонент пересоздастся, а когда только какой-то блок или цепочка внутри него, и как это зааффектит (или, по крайней мере, должно аффектить, чтобы точно знать, что где-то двойной рендер - это не баг, а фича). Когда думаешь, как избежать говнокода, приходится изобретать свои подходы. С зависимостями $, например. По сторам с одной стороны вроде понятно, но хз как работает get и стоит ли вообще его использовать, и как можно без get, например, в plain js, чтобы в точке получить актуальные значения, не ломая оптимизацию.
Просто в реакте парадигма изначально понятная - компоненты ререндерятся всегда, когда меняются пропсы или стэйт. Исходя из этого ты всегда знаешь, что произойдёт, но вынужден отлавливать лишние ререндеры.


Могу согласиться в том, что принцип UI = func(state) и по звучанию и по пониманию проще для большинства. Однако для реального мира эта концепция практически не жизнеспособна, потому что не все так просто. Кроме того, не согласен с тем, что в реакте компонент ререндерится всегда. Точнее не так, функция render вызывается каждый раз при изменениях, это так, но есть же куча life-cycle вещей, которые отрабатывают по правилам и не каждый раз. В этом смысле я не понимаю чем отличается тело <script> в свелт от того же конструктора в реакт. Точно также вызывается один раз при создании компонента, точно также это описано в доках. Почему людям кажется что тело <script> это обязательно эквивалент методу render не понятно. Тело <script> - это конструктор компонента и это вполне ясно из гайда и тутора.

А вот у свелта не всё прозрачно и очевидно, без серьёзных раскопок исходников и аутпута. 


Опять же могу согласиться только с тем, что реактивное программирование сложнее чем проактивное. Но имхо, по сравнению с тру реактивные вещами типа Rx, реактивщина в свелт сделана ну просто для детей.

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


А запомнить кстати очень просто - компонент свелт САМ не пересоздается/перезапускается... never (©️ Rich Harris). Собственно пример выше не про то, что в свелт это как-то по особому работает. Тут оно работает точно также - если нет ключей, то ни один фреймворка не знает что, например, порядок элементов в массиве поменялся. Ключи позволяют оптимизировать эти вещи.

Двойного рендера тоже фактически не бывает. Бывают двойные срабатывания реактивных выражений.

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


Благословляю тебя использовать get))) Никакой такой оптимизации там сломать невозможно. Нужно просто понимать, что если тебе значение нужно разово и "по месту" то создание и снятие подписки ничего не стоят. А если тебе значения нужны постоянно, часто и тп, тогда нет смысла не использовать одну подписку долго.
источник

AK

Anton Kovalev in Svelte [svelt]
Сделал свой первый проект на Svelte (Sapper), всё понравилось но довольно долго разбирался с rollup и другими "инфраструктурными" вещами https://manitu.me/
источник

A

Arushwl in Svelte [svelt]
Anton Kovalev
Сделал свой первый проект на Svelte (Sapper), всё понравилось но довольно долго разбирался с rollup и другими "инфраструктурными" вещами https://manitu.me/
Прикольно 🤓
источник

A

Arushwl in Svelte [svelt]
Ток сапёр зачем?
источник

AK

Anton Kovalev in Svelte [svelt]
Arushwl
Прикольно 🤓
Ради SSR, хотя в итоге вышло просто export и статичные страницы. Что хорошо для SEO.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Anton Kovalev
Сделал свой первый проект на Svelte (Sapper), всё понравилось но довольно долго разбирался с rollup и другими "инфраструктурными" вещами https://manitu.me/
класс, буду пользоваться теперь вместо Disturbed когда работаю)))
источник

A

Arushwl in Svelte [svelt]
А где там страницы кроме хома?
источник

AK

Anton Kovalev in Svelte [svelt]
Pavel 🦇 Malyshev
класс, буду пользоваться теперь вместо Disturbed когда работаю)))
это только начало, планирую трекинг (таймер) добавить и использовать именно для работы и тайминга. Аналог платного noisli
источник