Remember the days when web pages were actually ready to use when they loaded? No spinners, no waiting. I miss that.

How is it that everything is so much 'better' and 'faster' now, but somehow feels crappier?

#webdev #js #javascript #overengineering

[Перевод] HTML Sanitizer API: конец эпохи DOMPurify и XSS-страданий

Инженеры узнают о межсайтовом скриптинге (Cross-Site Scripting, XSS) тремя способами. Счастливчики узнают о нем благодаря полезному анализу кода или проактивному правилу проверки кода. Внимательные — во время аудита безопасности, который выявляет уязвимость до того, как она попадет в продакшн. А есть те, кто узнает о нем через страдания, когда их сайт становится уязвимым. Когда злоумышленник внедряет скрипт, который крадет токены сессий из localStorage , перехватывает файлы cookie или перенаправляет пользователей на фишинговый сайт. Я лично присоединился к клубу «пострадавших» еще в 2005 году, когда встроенная Flash-подпись на форуме, которым я владел, превратилась в кошмар с точки зрения безопасности… но это уже другая история. В этой статье мы рассмотрим, как браузер, наконец, снимает с нас бремя очистки данных (sanitizing) благодаря новому HTML API Sanitizer .

https://habr.com/ru/companies/timeweb/articles/1037990/

#javascript #js #html #dompurify #sanitizer #очистка #обезвреживание #security #безопасность #timeweb_статьи_перевод

HTML Sanitizer API: конец эпохи DOMPurify и XSS-страданий

Инженеры узнают о межсайтовом скриптинге (Cross-Site Scripting, XSS) тремя способами. Счастливчики узнают о нем благодаря полезному анализу кода или проактивному правилу проверки кода. Внимательные —...

Хабр

𝗦𝗮𝗹.𝗷𝘀, 𝗹𝗶𝗴𝗵𝘁𝘄𝗲𝗶𝗴𝗵𝘁 𝘀𝗰𝗿𝗼𝗹𝗹 𝗮𝗻𝗶𝗺𝗮𝘁𝗶𝗼𝗻 𝗹𝗶𝗯𝗿𝗮𝗿𝘆:

#JS #Animation #Scroll

https://thewhale.cc/posts/saljs-lightweight-scroll-animation-library

Sal (Scroll Animation Library) is written with aim to provide performant and lightweight solution for animating elements on scroll. It's based on the Intersection Observer, which gives amazing performance in terms of checking the element's presence in viewport.

Deno chystá příkaz deno desktop, který umožní z běžného Deno projektu, od jednoduchého TypeScript souboru až po Next.js aplikaci, vytvořit samostatnou desktopovou aplikaci. Výstupem je redistribuovatelný binární soubor, který v sobě obsahuje kód, Deno runtime i webový renderovací engine.

Funkce zatím není ve stabilní verzi, přijde s Deno v2.9.0 a lze ji vyzkoušet […]

https://zdrojak.cz/zpravicky/deno-prichazi-s-novou-funkci-desktopove-aplikace-primo-z-typescriptu/

𝗟𝗮𝘇𝘆𝗟𝗼𝗮𝗱, 𝗮 𝘃𝗮𝗻𝗶𝗹𝗹𝗮 𝗷𝗮𝘃𝗮𝘀𝗰𝗿𝗶𝗽𝘁 𝗹𝗮𝘇𝘆𝗹𝗼𝗮𝗱 𝘀𝗼𝗹𝘂𝘁𝗶𝗼𝗻:

#JS #Lasy load #performance

https://thewhale.cc/posts/lazyload-a-vanilla-javascript-lazyload-solution

LazyLoad is a fast, lightweight and flexible script that speeds up your web application by loading images, video or iframes as they enter the viewport. It’s written in plain “vanilla” JavaScript, uses Intersection Observers, and supports responsive images. It’s also SEO-friendly and it has some other notable features.

Ich habe mir da ein Projekt angelacht 😄

Für die mehrsprachige Website der Plansprache "Lingwa de Planeta (Lidepla)", die vor 20 Jahren erstellt wurde, möchte ich die Inhalte Englisch-Lidepla auf eine eigene Domain kopieren (und erweitern).
Das Einverständnis des Seitenbetreibers liegt mir vor.

Ich habe mir alle textlichen Inhalte in eine reine Text-Datei (.txt, kein Word ;) kopiert - sind so rund 20.000 Zeilen ... /o\
(wird also ein längerfristiges Projekt)

--

Frage in Bezug auf Webentwicklung dazu:
Weiß eins von den Webentwickler:innen, wie lernu.net es umgesetzt hat, dass beim MouseOver sowohl der tooltip oben (ok, das ist der einfache HTML-Teil), als auch für jedes Wort der grammatikalische Bezug unter dem jeweiligen Wort angezeigt wird?
(siehe Screenshot, Quelltext in der Bildbeschreibung; Kurs nur sichtbar nach Login)

Gesamter Quelltext (Session-ID entfernt):
https://bin.disroot.org/?d5798e10a42bc302#6eh4PpaRNkDtC1kgmPGp5fcZtsZoXsfMx5V7WofhG4mx

Zur Lidepla-Website:
http://lingwadeplaneta.info (Achtung: kein https verfügbar)

Zu Lernu ("Lern Esperanto"):
https://lernu.net

#Lidepla #Englisch #Webentwicklung #WebDev #HTML #CSS #JavaScript #JS #FediHilfe

Releasing Babel 8 today: ESM-only, drop ES5 default, and a smooth migration path. The @babeljs team ships version 8 after eight years, during which weekly downloads grew from 1.7M to 651M, focusing on three changes rather than new features. Babel is now ESM-only and needs Node.js 22+, no longer compiles to ES5 by default but targets modern browsers via Browserslist, and drops the loose and spec options for assumptions for one tradeoff at a time. #js #tools

https://babeljs.io/blog/2026/06/16/8.0.0/

Вышел Babel 8: только ESM, без ES5 по умолчанию и плавный путь миграции. Команда Babel выпустила восьмую версию спустя восемь лет, за которые загрузки выросли с 1,7 до 651 млн в неделю, сосредоточившись на трёх изменениях, а не на новых возможностях. Теперь Babel только ESM и требует Node.js 22+, больше не компилирует в ES5, а целится в современные браузеры через Browserslist и заменяет общие опции loose и spec на assumptions, включаемые по отдельности. #js #tools

https://babeljs.io/blog/2026/06/16/8.0.0/

GenUI: первый взгляд на json-render и MCP Apps

Чат как интерфейс упирается в потолок. Текст хорош, когда ответ это объяснение или код. Но на запрос «покажи продажи за квартал и сравни с прошлым годом» модель отвечает стеной чисел, в которой ничего не покрутить. Хочется другого: интерактивный дашборд прямо в чате, который при следующей реплике не пересобирается с нуля, а аккуратно обновляется. Очевидное решение — попросить модель сгенерировать React-компонент — оказывается тупиком. Вывод нестабилен: один и тот же промпт сегодня даёт useState , завтра — Zustand . Сгенерированный JSX это исполняемый код, то есть открытая дверь для инъекций: в мае 2025 Invariant Labs показали на официальной GitHub MCP-интеграции, как вредоносный issue провоцирует агент на утечку данных из приватных репозиториев. И главное, что нет инкрементальности: на запрос «добавь фильтр» модель регенерирует весь компонент, состояние теряется, ввод сбрасывается. Вывод: код это плохой интерфейс между LLM и приложением. Нужен промежуточный слой. Эта статья про два таких слоя: json-render отвечает за то, что и как рендерить из декларативной спецификации, MCP Apps — за то, где и как доставить этот интерфейс в ассистент. По официальному анонсу MCP Apps поддерживаются в Claude, Goose, VS Code Insiders и ChatGPT; json-render заявляет MCP-интеграцию для Claude, ChatGPT, Cursor и VS Code. Через всю статью я протащу один пример: дашборд продаж, который пользователь докручивает репликами «добавь разбивку по регионам», «сравни с прошлым годом», «убери блок». Сразу обозначу жанр: это мой первый пилотный заход в тему, поэтому текст ближе к обзору с пробами, чем к боевому отчёту из эксплуатации.

https://habr.com/ru/companies/sberbank/articles/1045380/

#ai #mcp #mcp_apps #ts #js #typescript #javascript

GenUI: первый взгляд на json-render и MCP Apps

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

Хабр

They get close to saying the thing that's been driving me lately:

"something that a lot of companies have run into of like they have a Rails backend or you know something that was fine serverside rendering stuff the way we've always done the web and then they were like you know what if we it was all #React and then it actually wasn't faster in the end"

[...]

"Codepen was a rails app, but react server side components don't integrate with Rails, at least not that they could see. Half the app on rails, half on Next JS, and a Go API."

Yeah. #SSR evolved from the wrong direction.Taking a browser-native #JS only thing and trying to make it work on the server, where existing tech stacks vary widely is a recipe for pain.

From this podcast with Shaw from @codepen

https://whiskey.fm/keyframes-cash-and-codepen-w-shaw

Keyframes, Cash, and CodePen w/ Shaw - Whiskey Web and Whatnot - Episode 243

This week, Robbie and Adam welcome Shaw from CodePen to talk CSS animations, web components, server side rendering nightmares, and why building things by hand still matters in the age of AI slop. They dig into the CodePen 2.0 rewrite, Apollo GraphQL cache mani...

Whiskey Web and Whatnot