LINUX.ORG.RU
ФорумTalks

Javascript убивает интернет

 , ,


0

2

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

Сегодня столкнулся с небольшой проблемой: в ФБ тормозит комментирование. Ну типа набираешь текст, он не вводится, CPU в этот момент подскакивает до 200%, а потом текст одномоментно появляется в поле ввода. Под оффтопиком такой проблемы нет.

Стал искать решение этой проблемы, и шаг за шагом пришел к расширению NoScript. Оно конечно же помогло как гильотина от головной боли, т.е. совсем никак, но

Интернет преобразился на глазах! Все стало летать! Сайты стали открываться и отображаться быстрее, чем я убираю палец с Enter’а! Браузер стал меньше жрать! Мир стал практически идеальным!

Открыл из любопытства сырцы нескольких сайтов. Да это же звиздец, товарищи! JS на JSе и погоняет JSом под управлением JSа. Чтобы при наведении на менюху вылез красивый popup - грузится и рендерится JS на 90Кб (там не только эта функция, но грузится-то оно все). Почувствовал себя ретроградом, ведь в моих сайтах (последний я писал для себя в 2016), используется всего лишь парочка JS-прибамбасов исключительно для удобства: скроллинга к началу страницы, вызова поля комментариев без перезагрузки страницы, и ембедда видеоплеера.

Нахрена так делать ? Как можно за подобные говноподелия платить деньги кодерам ? Эти самые кодеры хотя бы сами тестировали то, что они написали, или херак-херак-и-в-продакшен ?

Интересно, существует ли альтернатива рендеру JSа ? Вебмакаки все равно необучаемы в принципе, так хоть на клиентах можно резать или оптимизировать наиболее жрущие куски кода. Ведь существуют всякие libjpeg-turbo, и прочие упрощенные либы для сложных задач, может и здесь стоит подумать.

Это так, мысли вслух.

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

мелкоямягкий формат BMP распологал строчки изображения в обратном порядке. так что сначала шел низ.

По-моему, не всё так однозначно и в каком-то варианте BMP-ки кодировались начиная с верхней строки.

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

При чём во вполне крупных проектах.

Именно. Видимо, не так важно, чтобы было юзабельно, главное, чтобы красиво!

Zhbert ★★★★★
()

Простите, что здесь спрашиваю...

Мне кажется, или HTTP запросы в браузере - блокирующие операции в отдельном треде??? Т.е. пока тормозные не отработаются, остальные ждут? Потому всё и тормозит...

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

Мой любимый пример - кнопка «новое письмо» в мобильном приложении gmail и на сайте. В диаметрально противоположных углах.

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

Живёт и здравствует, пользуемся каждый день. В основном педивикию читаем.

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

когда утекал код престо, там не было?

Самого транскодера не видели. Только OM-специфичные стили для сворачивающихся списков и ещё чего-то.

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

UPD: Если грузить m.facebook.com с отключенным js, тогда загрузится старый простой интерфейс. Ура)

Ещё бы расширение, которое ссылки на страницы в обычный ФСБук редиректило в мобильный…

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

А способы надсмехания ограничены лишь вербальными?

vaddd ★☆
()

Не понимаю чему вы удивляетесь. Посмотрите на календарь и всё станет понятно. Усе эти сайты, фигня с кучей легаси кода из которого дай бог 1% используется.

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

WASM есть, который мало того что сам по себе летает как самолет

вот не надо, ничего там не летает по сравнению с обычным JS. Во-первых, V8 в Хроме написан ну очень хорошо и обгоняет васм рантайм. Во-вторых, васм-рантайм отделен от внешнего мира, и тебе нужно пердолиться с перекладыванием данных туда-сюда… и потом рисовать их всё равно тем же JS

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

Фронт часто разрабатывают дизайнеры, основная задача которых — сделать «красиво», о правильности речь не идёт.

Кто тебе такое сказал? Дизайнеры иногда пишут вёрстку, хотя часто для этого отдельная должность есть – верстальщик.

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

Во-первых, V8 в Хроме написан ну очень хорошо и обгоняет васм рантайм

А вот это интересно:

https://takahirox.github.io/WebAssembly-benchmark/

У меня WAsm оказался значительно быстрее JS только на фибоначи, умножении целых чисел, умножении вещественных на хроме (огнелис множит на JS быстрее). В отдельных тестах JS уделал WAsm в хлам, некоторые у меня тупо не запустились.

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

Я бы не назвал это современным юай

Что из этого не современно?

боковая панель, предназначенная для навигации, оказывается бесполезной в конце страницы

Да, есть такое, Меня еще бесили стрелочка, которая не двигается в крайних положениях, так что кажется, будто подвал перекрыл собой содержимое. Еще по ссылкам в шапке есть проблемы, но это уже скорее от лени тех, кто формировал структуру доков.

byko3y ★★★★
()

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

X512 ★★★★★
()

Это просто негативный опыт. Факт существования говнокодеров и говносайтов не означает, что технология плохая. Веб изменился благодаря JS, в нём появились игры и приложения, сопоставимые с десктопными. На обычных сайтах появилась нормальная реактивность, удобные формы и меню. Железо тоже изменилось - это раньше 90кб трафика было охренеть как дофига, особенно по GPRS, но сейчас это ничто. К тому же, надо внимательнее смотреть консоль - по сети передаётся меньше трафика из-за сжатия. Считая килобайты, надо помнить о том, какие возможности они дают.

А с точки зрения бизнеса, JS всё очень упростил. Веб-приложение - это кроссплатформа из коробки. Сам же взвоешь, если сфера услуг откатится на 20 лет назад. А она откатится - сейчас всё завязано на веб, JS и мобилки.

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

Всегда бесили ссылки на cdn и прочие сторонние ресурсы, когда можно раздавать скрипты со своего хостинга. А теперь вот тоже задумался…

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

Видел подобное на фреймах давным-давно

Мейн-фреймах? У фейсбука разве не плюс-минус тот же сайт на фреймах?

byko3y ★★★★
()

uBlock origin на компе и телефоне спасает.

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

ничего там не летает по сравнению с обычным JS

Doom 3 на WASM вполне терпимо работает. На JS я даже боюсь представить какое железо потребуется.

пердолиться с перекладыванием данных туда-сюда… и потом рисовать их всё равно тем же JS

Технически WASM может работать без JS. Никаких препятствий этому нет. Но вебмакаки всячески сопротивляются. Поэтому маємо те що маємо - технология, которая может заменить JS подается исключительно как дополнение к этому самому JS, вызывается из JS и рисуется через JS. Это как запрячь лошадей в мерседес и кричать, что так и надо.

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

Технически WASM может работать без JS. Никаких препятствий этому нет.

Прямую интеграцию с canvas и OpenGL без JavaScript обёрток уже завезли?

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

Нет, не завезли. Но, повторюсь, никаких технических препятствий этому нет.

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

Doom 3 на WASM вполне терпимо работает. На JS я даже боюсь представить какое железо потребуется

Почти такое же. Просто, скомпилировать крестовую прогу в asm.js сложнее, чем в WAsm.

byko3y ★★★★
()

Интересно, существует ли альтернатива рендеру JSа

пилить сайты без JSа. Некоторые особо радикальные вон вообще на gemini перебираются, и их даже не так мало

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

Точнее, его подмножество.

Правильно. А речь о ванильном JS, который юзают вебмакаки. Вот и пиши DOOM 3 на нем. А я посмотрю как это будет работать.

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

Правильно. А речь о ванильном JS, который юзают вебмакаки. Вот и пиши DOOM 3 на нем. А я посмотрю как это будет работать

Написали уже, бг-г-г:

https://kripken.github.io/misc-js-benchmarks/banana/game.html?low,low

Правда, остальные демки не рабочие уже, к сожалению, а ведь там посочнее графен.

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

пилить сайты без JSа

Очень сложно. Жс надо лишь правильно использовать.

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

Да, но тут уж звыняйте, нафиг нужен ещё один проприетарный формат разметки вместо HTML? Он при прилёте в браузеры и так сжимается, причём по заточенному под браузеры словарю.

Мы, конечно, подумывали состряпать бинарное представление, но во-первых, WML уже есть, во-вторых, под это дело придётся писать клиенты с нуля, в то время как для HTML+CSS можно взять любой готовый браузерный движок, в том числе примитивнейшие, в которых ни JS нету, ни даже DOM, и уже от этого плясать.

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

mertvoprog
()

О, ТС открыл для себя скрипторезалки в 2021, с подключением !

NoScript как по мне довольно дубовый и менее удобный чем uMatrix, этот позволяет вырезать блоатварь более аккуратно и эффективно, так чтобы и зонды отрезать и функционал более менее работал.

Небольшая инструкция на инглише.

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

Ublock Origin + uMatrix = современный интернет работает быстрее чем во времена когда не было скриптов.

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

Вопрос в том, что этот код не нужен.

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

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

На данный момент никак. А теперь расскажи мне какие этому есть технические препятствия, кроме того что к DOM намертво прибили жабоскрипт?

qtm ★★★
()

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

Antonova
()

Javascript убивает интернет

Ага, точно так же «дизель» убил паровозы.

в ФБ тормозит комментирование

Интернет это же просто средство доставки контента. Как его может убить то, что с доставкой контента связано опосредовано?

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

Ага, точно так же «дизель» убил паровозы.

«Дизель убил железную дорогу» скорее %)

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

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

А теперь расскажи мне какие этому есть технические препятствия, кроме того что к DOM намертво прибили жабоскрипт?

Ну например потому, что в браузерных движках циклом жизни элемента DOM управляют через подсчёт ссылок либо с помощью GC. При этом движок вообще не знает о том, что происходит внутри WASM-модуля (обратное тоже верно). Ну а теперь представь, что произойдёт, если DOM-элемент, переданный в WASM-модуль, будет уничтожен браузером (о чём WASM-модуль даже не догадывается).

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