Size: a a a

2019 March 17

AG

Alex Golubov in pro.elixir
тут вот статься есть, там даже видео с этими дифами есть https://dockyard.com/blog/2018/12/12/phoenix-liveview-interactive-real-time-apps-no-need-to-write-javascript
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Он посылает дифф не в виде сгенерированного html-я.
источник

AG

Alex Golubov in pro.elixir
В общем на какой-нибудь event тебе прилетает сокет с переменными, которые в template указаны, например %Phoenix.LiveView.Socket{
 assigns: %{description: nil, link: nil, loading: false, status: nil},
 changed: nil,
источник

AG

Alex Golubov in pro.elixir
в темплейте есть переменные description: nil, link: nil,, status: nil
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Dmitry Russ (Aleksandrov)
Он посылает дифф не в виде сгенерированного html-я.
Да, в этом есть смысл. А почему тогда все орут про SSR
источник

AG

Alex Golubov in pro.elixir
если ты в сокет чего нибудь запишешь то он приоберет вид %Phoenix.LiveView.Socket{
 assigns: %{description: "223", link: "", loading: false, status: :added},
 changed: %{description: true, link: true, status: true},
источник

AG

Alex Golubov in pro.elixir
вот такая хрень появляется changed: %{description: true, link: true, status: true},
источник

AG

Alex Golubov in pro.elixir
и он знает тепереь что темплейт надо пересчитать, но только лишь его
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Проблема, которую я вижу - не в том, какое количество трафика он посылает, а в том, что на каждое изменение в rendering-е обязательна коммуникация с сервером и в случае потери интернета - приложение перестаёт работать.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Или точнее проваливается в фронтенд JS. Соответственно не важно, как много или мало оно посылает пакетов по сути, когда в случае с SPA - можно вообще с сервером не общаться во многих случаях.
источник

SK

Simon Khaskelberg in pro.elixir
Dmitry Russ (Aleksandrov)
Или точнее проваливается в фронтенд JS. Соответственно не важно, как много или мало оно посылает пакетов по сути, когда в случае с SPA - можно вообще с сервером не общаться во многих случаях.
Как то ты сильно загнул "во многих случаях"
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Simon Khaskelberg
Как то ты сильно загнул "во многих случаях"
Когда информация та же, но изменяешь то как она рендерится на фронтенде(а чаще изменяется её вид, нежели получается новая информация - по крайней мере я такие видел чаще и мой петпроект такой), уходишь во всякие - показать расширенную информацию, применяешь какие-то фильтры на уже сфетченную информацию, изменяешь параметр отображения - этого очень много. И я уверен, что в большинстве нетривиальных приложений рендеринга меняющего только отображение информации столько же или больше, чем рендеринга меняющего данные, которые должны быть на сервере.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
К примеру, в моём пет приложении можно листать дни вперёд назад и фронтенд запоминает и кеширует информацию и для удобства можно можно убирать и показывать определённые части информации, соответственно после первичной загрузки, человек может ходить вперёд, назад по дням и менять то, как видит данные(чтобы лучше их понять), а коммуникации с сервером к тому моменту уже нет, потому что вся нужная информация загрузилась один раз и подгружается только то, чего нет.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
А как это будет выглядеть с LiveView? Напрягать сеть на каждый чих на фронтенде.
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Alex Golubov
и он знает тепереь что темплейт надо пересчитать, но только лишь его
И как тут не оптимируй диффы на бэкенде - а трафика сетевого будет всё равно в разы, десятки, сотни, тысячи раз(выбрать нужное, в зависимости от паттерна использования приложения) больше, чем если логика отражения на фронтенде сделана.
источник

АП

Артем Паньков in pro.elixir
слушайте, ну очевидно же, что liveview это для каких-то простых кусочков и тех, кто не знает - и не хочет знать js
источник

DR

Dmitry Russ (Aleksandrov) in pro.elixir
Артем Паньков
слушайте, ну очевидно же, что liveview это для каких-то простых кусочков и тех, кто не знает - и не хочет знать js
+
источник

АП

Артем Паньков in pro.elixir
я вот например считаю js убогим куском говна и рад, когда получаю возможность сделать что-то "As an application developer, you don’t need to write a single line of JavaScript"
источник

ŹR

Źmićer Rubinštejn in pro.elixir
Артем Паньков
я вот например считаю js убогим куском говна и рад, когда получаю возможность сделать что-то "As an application developer, you don’t need to write a single line of JavaScript"
Да, до тех пор пока твой webpack успешно упакует phoenix_live_view.js вместе со всеми его зависимостями
источник

ŹR

Źmićer Rubinštejn in pro.elixir
А вот как перестанет паковать - вот тогда можно будет подохереть as application developer, который не любит js
источник