LINUX.ORG.RU

Нужен ли мне vue, react, angular?

 , ,


0

4

Этот вопрос меня преследует уже год. Никак не могу понять нужен ли мне vue. Обновлять дом? Да, в некоторой степени это удобно, но и накладывает некоторые ограничения. Бесят эти v-onclick, я привык навешивать события не в тегах, а сразу на множество элементов по селекторам в jquery. Вся html разметка в бесконечных v-if v-html. Ну да, это здорово, меняешь 1 свойство и весь шаблон сказочно перерисовывается. Но чем больше я погружаюсь в vue, тем больше времени я трачу на решение поисков ответов на элементарные вопросы как сделать нечто по философии vue, не используя костыли.

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

Меньше пробовал react, уже не стал эксперементировать, посмотрел, такое же vue собственно, реактивность, шаблонны

На данный момент есть мысли что vue а тем более ангуляр не то чтобы упрощают разработку, а наоборот тормозят ее, отбирая время на бесконечное гугление и написание костылей. Больше разбираешься в устройстве молотка, чем забиваешь гвозди

Наверное я просто не вник в эти инструменты достаточно и у меня ничего не выходитс ними или использую устаревшую концерцию генерации шаблонов на сервере. Я просто не понимаю для чего нужен vue

★★★★
Ответ на: комментарий от WitcherGeralt

Сферический в вакууме, просто для контраста добавил. Но, вообще, где-то я такое встречал, не помню где. Длинный лог отдавался или что-то в этом роде.

Единственный сервак который так умеет из тех что я знаю - gatling. Он реально самый быстрый, но практического использования я ему не нашел, хоть и пытался.

А как происходит в проекте с хорошей архитектурой?

1. Клиент получает страницу.
2. Клиент отрисовывает те части страницы которые уже есть
2. Клиент получает JS.
3. Клиент разбирает JS.
4. Клиент дорисовывате то что рендерится на клиенте.

На клиенте обычно рендерится не вся страница а только некоторые блоки, те которые необходимо обновлять без перезагрузки. Все остальные блоки, (а это лейр страницы, шапка, подвал, меню и все остальное) в ней уже есть.
Обращаться за json'ом для рендеринга нет необходимости. Если сервак отправляет html клиенту, он должен к нему приложить уже весь необходимый JSON. Так что все данные уже внутри html.
Конечно если только твой json не генерится слишком долго. В этом случае есть смысл выкинуть страницу без json'а, но это редкая отдельная тема, потому что обычно это не так, так как твой json на самом деле закэширован.

Suntechnic ★★★★★
()
Ответ на: комментарий от WitcherGeralt

я даже не занимаясь твоей обезьяньей работой

Ха-ха. Ты вообще не знаешь чем я занимаюсь. Веб не является моей темой, но вот как-то так получается, что то что я говорю - правда. А твои вскукареки - это твои приблизительные представления о том, «как оно наверное устроено».

Ты самый обыкновенный эникейщик. Даже на веб-макаку не тянешь.

Ты столько распинался над сферическим примером из 2000

В 2000, когда я уже работал а тебя еще не было на свете действительно частичные ответы рисовались. Но тогда скорость была 28-56 кбсек. По мере получения страница ререндерилась и меняла геометрию. За 10 лет к 2010 стала другая вообще верстка, совсем, ее почти невозможно рисовать частично. В теории это возможно, но как я уже пытался тебе идиоту объяснить, перерисовка выйдет... Хотя зачем-это я тебе эникейщику что-то рассказываю, ты же всё равно необучаемый.

anonymous
()
Ответ на: комментарий от anonymous

Можно стриминг по одной букве сделать даже, можно даже вебсокет без вебсокета изобразить

Server-sent events называется, и это не «изобразить вебсокеты», а некогда распространённая практика.

WitcherGeralt ★★
()
Ответ на: комментарий от gobot

зачем на клиенте генерить html, если данные все равно дергать с сервера

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

ya-betmen ★★★★★
()
Ответ на: комментарий от WitcherGeralt

частичный HTML браузер не видит

Лолшто.

Нет частиного HTML даже на сервере. Либо шаблон, либо результат.

anonymous
()
Ответ на: комментарий от WitcherGeralt

Не ожидал такого слабого аргумента. Посмотри что ли глобальную статистику версий браузера.

Заметь, я упомянул prefetch. Это как раз та фича, которой миллиард лет и она работает на легаси. Шлёшь префетч из своего приложения на сервере в хедере клиенту. Все идёт через edge сервер балансировщик, например caddy. Если клиентский браузер говно, то так prefetch и улетит.

Если HTTP/2, то такие сервера ещё внутри датацентра быстро подтянут этот prefetch и заменят на HTTP/2 Push.

Ну или наоборот, общайся внутри датацентра по HTTP/2, для легаси заменит на prefetch header.

И поверх этого prefetch все ещё работают все Etag, If-Modified

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)
Ответ на: комментарий от WitcherGeralt

Server-sent events называется, и это не «изобразить вебсокеты», а некогда распространённая практика.

Эникейщик, не умничай. Я это самописными веб-серверами делал, когда никакого SSE даже в черновиках не было.

anonymous
()
Ответ на: комментарий от anonymous

частичный HTML браузер не видит

Успокойся, клоун, ты уже обделался.

тала другая вообще верстка, совсем, ее почти невозможно рисовать частично

перерисовка выйдет…

Про то, как страница свёрстана, речи не было.

а тебя еще не было

Если меня не было, то кто тебя заделал тогда? Мамку свою спроси, кто был, а кого не было. Только с контрацепцией тогда плохо было, иначе бы ты тут не кукарекал сейчас.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Во-первых, частичный HTML браузер не видит.

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

абсолютное большинство ресурсов не отдают ответ, пока его не построят.

Во-многих технологиях/фреймворках начать сгружать частичный ответ - это вообще нетривильная задача. Это даже если бы у тебя существовал «потоковый шаблонизатор», но развитой шаблонизатор потоковым не будет никогда, это понятно.

Да - это самая большая проблема. От продолженя разработки фреймворка отказались как раз из-за сложности модуля ядра dipather - она занимался потоковой отдачей очереди, всякими задержками и т.д. В начале все казалось хорошо, но скоро превратилось в ад.

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

Проблема с частично как раз всякими дерганиями и reflow. Почему все js фреймворки пытаются делать diff DOM vs Virtual DOM и отправлять все изменения одним batch. Это позволяет браузеру сделать вычисления размеров один раз. А всякие умельцы с jQuery трясут DOM как пальму и удивляются что все тормозит

vertexua ★★★★★
()
Ответ на: комментарий от Suntechnic
  1. Клиент отрисовывает те части страницы которые уже есть

Либо я не уловил твою мысль, либо ты не читал тред

либо ты не читал тред

Это само собой. Выше я об этом и говорил:

снизить latency

Но это относительно бесполезный кусок страницы, данные ты увидишь позже.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Если говорить про шаблонизацию, то да. Но это не обязательное условие.

Генерируем страницу на сервере, отдаём потоком

Здесь нет ничего про шаблонизацию.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Они будут к тому времени как ты доматаешь до них глагне, потому что заказчик в любом случае захочет вверху страницы слайдер с банерами по 2Мб.

Suntechnic ★★★★★
()
Ответ на: комментарий от Suntechnic

Мож ты то в курсе, а витчер у нас тут кричит что пыха не тормозила, круто было, а вы все геи затормозили мне целерон веб-стандартами, жабоскриптами. Я ему объясняю что современный веб значительно эффективнее. Если современный жирносайт (по контентной жирности) сделать на старом дерьме, будет беспощадно медленно

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Особенно орут атата браузеры всю память сожрали. Хотя теперь там распакованые изображения в GPU текстурах чтобы их в любой момент внезапный CSS мог завернуть в кандибобер. А раньше просто картинка рендерилась CPU и дико тормозила при скролинге. Да-да, вооо времена были

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Я ничего такого не говорю, просто ты тред не читал. Я как раз топил за клиентский рендеринг, но сделал оговорку о том, что бывают исключительные случаи:

Но вообще, иногда ради скорости приходится делать частичный пререндеринг на сервере. А иногда и модифицировать DOM без использования фреймворка

А у анонимуса от этого почему-то ярко возгорелось.

WitcherGeralt ★★
()
Последнее исправление: WitcherGeralt (всего исправлений: 1)
Ответ на: комментарий от Suntechnic

браузеры видили и умели даже рендерить частично.

Брррррр. Они могут и умеют, и даже в целом пытаются. Но я же ужа сказал, во-первых он на сервере генерится целиком. Во-вторыхх яже сказал - никто не парится на флюшом частями даже если он частичный. Далее - сеть буферизирует. Меньше пакета не будет. В старые времена плохих линиях что было? Хуже чем 28кбсек было. Если идет жирная страница, конечно, так и получается, браузеру действительно «скучно» стоять становится. Ты же во-возрасту застал наверное. А страница структурно простая: ее можно просто хвост дорисовывать. Потом когда прогрузилось, ее начинает плющить (все блоки закрылись, и геомерия еще раз переделалась). Но ты сегодня видел как верстка сделана? Она структурно вообще не имеет ничего общего с той. Далее - то были времена когда в ОС сглаживание по дефолту было отключено. Сегодня графическая отрисовка сайта столь ресурсоемкая, что даже не каждая видеокарта тянет. Т.е. требования по шейдерам видеокарты больше чем для игр. А это заметь 2D. Там какое-нибудь наложение тени на полупрозрачный 347 слой дива под рамытие в PNG (повернутого на 121,45 градусов) жрет больше чем Windows 98 за год на свою отрисовку тратила.

anonymous
()
Ответ на: комментарий от WitcherGeralt

иногда ради скорости приходится делать частичный пререндеринг на сервере

Генерируем страницу на сервере, отдаём потоком

Здесь нет ничего про шаблонизацию.

Ты так обосрался, что начал юлить и «переспорил» сам себя.

anonymous
()
Ответ на: комментарий от vertexua

Если современный жирносайт (по контентной жирности) сделать на старом дерьме, будет беспощадно медленно

Вот видишь, опять ваши нанотехнологии приводят к ухудшению качества жизни. Раньше жирносайт с мегабайтами рекламы, жопаскрипта и вирусни просто не мог существовать. Вы сейчас ужом вертитесь чуть не с хаскелем наперевес чтобы все это как-то шевелилось, а раньше достаточно было левой пяткой накарябать скрипт на пыхе. Все проиграли (кроме капиталюг как обычно).

bread
()
Ответ на: комментарий от bread

Ща мы вертимся, потому что пользователь 50 мс задержки не прощает, не видит, но жопой чувствует.

А раньше ждал минуту пока загрузится твой сайт на пыхе и радовался какой у него быстрый дайлап и насколько он быстрее телеграфа. Потом кликал ссылку и ещё ждал минуту.

А теперь браузер шлёт WebAssembly по бинарному HTTP/2 чтобы на клиенте в реальном времени кроличьи уши к харе пользователя на вебке пририсовывать, распознавая нейросетями, и слать по нативному WebRTC по UDP через высокооптимизированый кодек

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 3)
Ответ на: комментарий от anonymous

Это два разных сообщения. В них, внезапно, две разные мысли.

На всякий случай напоминаю, что ты ляпнул, чтобы никто не забыл о том, какой ты безграмотный клоун:

частичный HTML браузер не видит

WitcherGeralt ★★
()

Просто используй svelte потому, что vue уже труп. А Ангуляр с Рекатом это дедушки трупа.

dem ★★
()
Ответ на: комментарий от dem

Когда ts в него завезут - сразу и можно будет поглядеть. А js без типизации лютое говно вне зависимости от того, насколько приятен фреймворк.

dimuska139 ★★
()
Ответ на: комментарий от WitcherGeralt

малограмотный вайтишник витчергеральт, еще не понял, что он не шарит (то есть как всегда) по теме? будешь кукарекать и позориться дальше? ну давай-давай

anonymous
()
Ответ на: комментарий от WitcherGeralt

что и где я «ляпнул» конкретно? ты еще не за одну свою чушь не ответил, всё виляешь, виляешь, виляешь

anonymous
()
Ответ на: комментарий от dem

Авторы Svelte похоже полные шариковы, собрать и поделить. Точно такой Svelte был лет 10 назад, например KnockoutJS, потом наука фронтендостроения шагнула вперёд от two way binding. Но тут эти Шариковы пришли и такие, ой чойта сложно, я ниче не понял. Сделаю ща в три пинка просто

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от vertexua

Ну детект изменений при транспиляции это лучше чем магия реакта. Я когда читаю их приколы с переменной state и их языком разметки где myTag и MyTag не одно и тоже я седею. А я седой уже. Уже везде, даже на жопе. То, что я вижу на фронте это какой то ад. asm.js меня вдохновил, что js станет тупым асмом из 5 команд, но нет. Вебпак и прочие хреновины. Я по 3 недели разные бибилиотеки собирал. Этож какой то ад. У меня ncdu показал, что самый большой каталог это каталог с ангуляром. АААААААААА Ангуляр. 2 гига. АААААААААа

dem ★★
()

На данный момент есть мысли что vue а тем более ангуляр не то чтобы упрощают разработку, а наоборот тормозят ее, отбирая время на бесконечное гугление и написание костылей. Больше разбираешься в устройстве молотка, чем забиваешь гвозди

Это называется кривая обучаемости

https://ru.wikipedia.org/wiki/Кривая_обучаемости

...и это нормально.

r_asian ★☆☆
()
Ответ на: комментарий от vertexua

Заметь, я упомянул prefetch

Так не зметил, потому что не знал что это. У меня опыт в области запила сайтиков околонулевой (кое что пилил, но чисто по зову сердца, точнее от скуки. причём на фронте). Просто у дурачка анонимуса он ещё ниже, иначе бы я с ним и не спорил.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Кукарекать буду сколько влезет, пока ты кудахчешь из под аонимуса глупости, или пока мне не надоест.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

Я точно с тем же самым анонимусом продолжаю сраться?

какие?

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

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

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

Далее ты говорил, что «Генерируем страницу на сервере, отдаём потоком». Мы говорим в контексте HTML, причем именно ты этот контекст задал. Тебя ткнули мордой, что в практическом плане HTML нельзя генерировать чанками, потому что любые практические серверные шаблонизаторы делают это целиком по понятным (хотя тебе непонятным) причинам. Таким образом частичный HTML браузер не видит, потому что его не видит даже сервер.

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

Далее выяснилось, что ты не знаешь о том, что браузер в нынешних условиях не имеет возможности рисовать частичный HTML. Но даже если такая возможность представиться, из-за зашкаливающих ресурсоемкости расчета геометрии страницы и ресурсоемкости непосредственного рисования такая попытка зачастую приводит провалу, т.е. было бы быстрее если бы такой попытки не было. Все последующие попытки «уточнить» частичную отрисовку усугубят провал еще сильнее. Далее выяснилось, что ты не понимаешь, что никакая отрисовка невозможна без CSS. Конечно анализироваться HTML начинает с первого сетевого пакета и именно оттуда берутся урлы CSS и прочего. Но это не имеет никакого отношения к описываемому тобой бреду.

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

anonymous
()
Ответ на: комментарий от anonymous

На что тебя тыкнули мордой в тот факт, что совокупных ядер на серверах у тебя в самый миниум 1000 меньше чем ядер у клиентов

Ты феерический дятел, однако. Я это проигнорировал, ибо ты бестолковый капитанопетросян, который не умеет читать. Возвращаемся к первому посту:

не нагружать бекегд сделанный из говна и палок (питона) лишней фигнёй

О чём по-твоему речь?

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

Не медленно, просто полезные данные при частичном пререндеринге ты увидишь раньше. Очевидно же. А последующая подгрузка данных может и долго проиходить, смотря что грузишь, это может быть и какой-нибудь веб-интерфейс/дашборд.

что в практическом плане HTML нельзя генерировать чанками

Это и не было практическим примером. Знай я, что тебя переклинит, ябы его не приводил. Он там для контраста, как случай, когда ты данные увидишь быстрее всего.

в третьих это приведет к обратному эффекту

Когда это было актуально, не приводило. Выключай баклана, ну серьёзно.

Далее выяснилось

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

никакая отрисовка невозможна без CSS

Цитаты великих клоунов просто.

Я не занимаюсь вебом, причем очень-очень давно

В дворники, видимо, перешел. Норм. Рад, что ты нашел подобающее тебе место в жизни.

WitcherGeralt ★★
()

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

Nervous ★★★★★
()
Ответ на: комментарий от WitcherGeralt

Ну и дебил же ты. Поражаешь прям.

Я тебе про ресурсы сказал, что это глупость, ты обосрался с огромным позором но как бы что-то еще хочешь?

Ты не виляй давай. Говоришь что «генерируешь» HTML на сервере чтобы клиентскую машину этим не грузить? Или чтобы быстрее пользователю было? Оцени сколько CPU ты с браузера снял таким образом (перенеся на сервер генерацию HTML). Дай оценку насколько твоя «генерация» HTML нагрузила бы клиенский браузер.

anonymous
()
Ответ на: комментарий от anonymous

Или чтобы быстрее пользователю было?

Чтобы пользователь раньше увидел данные. Сколько повторять ещё? Ты слабоумный или что? С первым запросом они, внезапно, придут раньше чем со вторым. Я тебе даже наглядно по пунктам расписал сразу. Ну нельзя же быть настолько тупорылым, ну ты чего.

Оцени сколько CPU ты с браузера снял таким образом

Ни сколько, цели такой не было. Ты — баран, выдумал херню и сам с ней спорить.

WitcherGeralt ★★
()
Ответ на: комментарий от WitcherGeralt

Хоп, раз и наглый вайтишный клоун включил заднюю предварительно пять раз обосравшись. В следующий раз держи рот закрытым, если не понимаешь о чем говоришь.

anonymous
()
Ответ на: комментарий от anonymous

Ну ваще (перечитал), да, я там не очень однозначно ответил на твой первый пост, сам отчасти виноват. Но тебя совсем заклинило. В комметарии про количество запросов, где был стриминг, который тебя покорёжил, предельно понятно о чём речь.

WitcherGeralt ★★
()
Ответ на: комментарий от anonymous

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

WitcherGeralt ★★
()

Это типа реактивного программирования, братан. Дёрни за веорёвочку, страница и откроется.

anonymous
()
Ответ на: комментарий от vertexua

А теперь браузер шлёт WebAssembly по бинарному HTTP/2 чтобы на клиенте в реальном времени кроличьи уши к харе пользователя на вебке пририсовывать, распознавая нейросетями

Чота ржу с такого прогресса. На самом деле не смешно, потому что ваш новый дивный браузер прокачивает хзчто по бинарному протоколу гигабайтами в обе стороны. Ну его нафиг такой веб.

bread
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.