home.social

#vanillajs — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #vanillajs, aggregated by home.social.

fetched live
  1. Электрика без Excel: считаем щиток, кабели и смету прямо в браузере — один файл, ноль зависимостей

    Каждый раз когда я помогаю кому-то с электрикой, происходит одно и то же. Человек спрашивает «какой кабель на розетки?». Я говорю «2.5 мм²». Он спрашивает «а автомат?». Я говорю «C16». Потом: «а сколько метров нужно?», «а УЗО куда?», «а сколько это будет стоить?». И вот уже час объяснений, Excel непонятного происхождения и ощущение что что-то всё равно забыли. Я решил сделать инструмент который отвечает на всё сразу. Добавил комнаты, указал приборы и расстояние до щитка - нажал кнопку - получил группы, кабели, автоматы, схему щитка и смету. Без регистрации, без интернета, без установки. Получился один HTML-файл на ~1400 строк ванильного JS. darkenamber.github.io/electrok

    habr.com/ru/articles/1051896/

    #webdev #javascript #vanillajs

  2. React-like syntax with WebComponents.

    ​After spending some time with Lit, I really appreciated its lightweight footprint but wasn't a fan of the class-based components. While Vue offers a great approach, I still prefer the intuitive nature of React's syntax for debugging and deterministic rendering. This led me to a challenge: could I build a UI framework using WebComponents that completely eliminates the need for transpilation?

    ​I have written a breakdown of the concept, the architecture, and where I want to take it. I highly invite you to take a look, check out the code, and explore the live demo.

    * How it works: positive-intentions.com/docs/p
    * Checkout the code: github.com/positive-intentions
    * Storybook demo: dim.positive-intentions.com

    ​Please note, while the project is open-source, this is a personal exploration rather than an attempt to launch "yet another framework." It is not production-ready and is built for my own upcoming project migrations, but I am sharing it in hopes that the methodology is educational or interesting to the community.

    ​I would love to hear your thoughts on this approach. Feel free to reach out if you have any questions or want to discuss the implementation details.

    ​#WebDev #WebDevelopment #Frontend #FrontendDev #JavaScript #JS #TypeScript #TS #HTML #HTML5 #CSS #SoftwareEngineering #SoftwareEngineer #Coding #Programming #WebDesign #OpenSourceProject #IndieDev #SideProject #Tech #Technology #DevCommunity #Fediverse #FediverseDevs #WebStandards #CustomElements #ShadowDOM #VanillaJS #NoTranspiler #NoBuild #BuildStep #EsModules #ComponentDriven #UIUX #DesignSystems #TechExperiment #LearningInPublic #Developer #ComputerScience #OSS #Github #React #WebComponents #Lit #Vue #ReactJS #JSX #Storybook #TechArticle #TechBlog #TechWriting #WebDevArticles

  3. React-like syntax with WebComponents.

    ​After spending some time with Lit, I really appreciated its lightweight footprint but wasn't a fan of the class-based components. While Vue offers a great approach, I still prefer the intuitive nature of React's syntax for debugging and deterministic rendering. This led me to a challenge: could I build a UI framework using WebComponents that completely eliminates the need for transpilation?

    ​I have written a breakdown of the concept, the architecture, and where I want to take it. I highly invite you to take a look, check out the code, and explore the live demo.

    * How it works: positive-intentions.com/docs/p
    * Checkout the code: github.com/positive-intentions
    * Storybook demo: dim.positive-intentions.com

    ​Please note, while the project is open-source, this is a personal exploration rather than an attempt to launch "yet another framework." It is not production-ready and is built for my own upcoming project migrations, but I am sharing it in hopes that the methodology is educational or interesting to the community.

    ​I would love to hear your thoughts on this approach. Feel free to reach out if you have any questions or want to discuss the implementation details.

    ​#WebDev #WebDevelopment #Frontend #FrontendDev #JavaScript #JS #TypeScript #TS #HTML #HTML5 #CSS #SoftwareEngineering #SoftwareEngineer #Coding #Programming #WebDesign #OpenSourceProject #IndieDev #SideProject #Tech #Technology #DevCommunity #Fediverse #FediverseDevs #WebStandards #CustomElements #ShadowDOM #VanillaJS #NoTranspiler #NoBuild #BuildStep #EsModules #ComponentDriven #UIUX #DesignSystems #TechExperiment #LearningInPublic #Developer #ComputerScience #OSS #Github #React #WebComponents #Lit #Vue #ReactJS #JSX #Storybook #TechArticle #TechBlog #TechWriting #WebDevArticles

  4. Custom Elements Collection: 147 компонентов двумя строками через CDN

    Как создавать веб-страницы без фреймворков, сборщиков и другого зоопарка. Технология Custom Elements появилась в браузерах в 2018-2020 годах, но долгое время незаслуженно обходилась стороной сообществом, в связи со сложностью разработки компонентов. Однако ничто не мешает использовать уже созданные компоненты с любым фреймворком. Об этом и пойдёт речь.

    habr.com/ru/articles/1042520/

    #custom_elements #web_components #custom_elements_collection #vanillajs

  5. 12 паттернов, которые приведут твой код в порядок

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

    habr.com/ru/articles/1037430/

    #javascript #typescript #react #vue #angular #программирование #nodejs #svelte #vanillajs

  6. 108 окон, 0 фреймворков, 1 Kubernetes: как команда без разработчиков построила интерактивный дом-таймлайн про ТВ 90-х

    Зов джунглей, Поле чудес, Ералаш — мы сделали интерактивный дом-таймлайн про телевидение 90-х и 00-х. Под катом: как команда без разработчиков дошла от JSON-файла на VPS за $5 до корпоративного Kubernetes. Читать, пока не началась реклама

    habr.com/ru/articles/1025152/

    #vanillajs #frontend #cms #kubernetes #canvas #webp #avif #parallax #вайбкодинг #телевидение

  7. Pourquoi je développe en HTML/CSS/JS sans framework ?
    Autonomie : pas de dépendance à un écosystème qui peut disparaître
    Transparence : clic droit → Inspecter, tout est là
    Légèreté : quelques Ko, offline-first
    Résilience : le code d'aujourd'hui tournera dans 20 ans
    L'esprit maker appliqué au dev : comprendre, maîtriser, transmettre.
    👉 sylvaindenis.ovh/blog/pourquoi
    #WebDev #FabLab #OpenWeb #VanillaJS

  8. React-Like JSX Syntax for Webcomponents

    TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.

    The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.

    Check out the full #TechnicalTutorial and #DeepDive here: positive-intentions.com/docs/r

    (Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)

    #WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity

  9. React-Like JSX Syntax for Webcomponents

    TLDR: I’ve been #experimenting with react-like jsx-syntax with webcomponents to see if I could theoretically replace #React in one of my larger #software projects. It is not ready for production use, but rather a #Research exploration into #CustomElements and #ModernJS performance.

    The goal was to build #FunctionalWebComponents that handle #StateManagement and #DOM updates without the overhead of a massive #JavaScript framework. By leveraging #StandardWebAPIs and #Proxy objects, I’ve managed to create a #Reactive programming model that feels familiar but stays closer to the #Platform.

    Check out the full #TechnicalTutorial and #DeepDive here: positive-intentions.com/docs/r

    (Disclosure: this project may be getting deprecated. Sharing this because it might still be interesting or educational.)

    #WebDevelopment #Frontend #BuildTheWeb #NoFramework #JS #JSX #WebStandards #Coding #ResearchAndDevelopment #VanillaJS #SoftwareEngineering #TechBlog #WebDevCommunity

  10. Czasem warto wrócić do korzeni. Takim ruchem może być świadoma rezygnacja z frameworków frontendowych i powrót do czystego #JavaScript (tzw. #VanillaJS). Jakie są tego zalety - o tym opowiada ten artykuł (i mimo wszystko mało jest o wadach).

    #programowanie #WebDev

    thenewstack.io/why-developers-

  11. Czasem warto wrócić do korzeni. Takim ruchem może być świadoma rezygnacja z frameworków frontendowych i powrót do czystego #JavaScript (tzw. #VanillaJS). Jakie są tego zalety - o tym opowiada ten artykuł (i mimo wszystko mało jest o wadach).

    #programowanie #WebDev

    thenewstack.io/why-developers-

  12. Je voulais calculer la résolution logique (viewport) à partir de la résolution physique (écran) d'un téléphone.

    Je trouve un gars qui fournit une application web consistant en, tenez vous bien, 3 champs numériques et un bouton.

    Rien de bien compliqué.

    Bah pour ça, le type a utilisé... ReactJs, Typescript, TailwindCSS, Vite et des containers sous ZorinOS !!!!

    MAIS PINAISE DE PINAISE 😡 !!!!

    Pas étonnant que les gens nous jettent des cailloux !

    #dev
    #web
    #VanillaJS
    #VanillaHTML

  13. r6d6: Heute haben wir ein weiteres Repo nach #codeberg migriert:

    web-components

    Eine kleine Sammlung von offenen WebComponents, die beinahe in allen wichtigen Frameworks wie #vuejs, #angular oder #react oder einfach auch in plain #VanillaJS laufen sollten.

    Darunter auch ein kleines

    codeberg-ribbon "View on Codeberg".

    y.lab.nrw/cb-rib

    \__
    @Codeberg #OpenSource #giveUpGitHub #diday #didit #100DaysOfCode #jek25 #39c3

  14. Trong 24 ngày hackathon, tác giả ra mắt framework Vanilla JS “Funky” với 806.893 dòng code, 74 component, 35 module và hơn 8.800 test, nhờ Claude AI. Không cần React, Webpack, npm—chỉ edit‑file‑refresh. Ví dụ: Funky.Toast.show('Hello world'). #tech #javascript #hackathon #framework #vanillajs #dev #lập_trình

    dev.to/lnation/funky-806893-li

  15. Trong 24 ngày hackathon, tác giả ra mắt framework Vanilla JS “Funky” với 806.893 dòng code, 74 component, 35 module và hơn 8.800 test, nhờ Claude AI. Không cần React, Webpack, npm—chỉ edit‑file‑refresh. Ví dụ: Funky.Toast.show('Hello world'). #tech #javascript #hackathon #framework #vanillajs #dev #lập_trình

    dev.to/lnation/funky-806893-li

  16. IVVV Stack: kiến trúc front‑end chỉ dùng IndexedDB, Vanilla JS, HTML & CSS. Được minh hoạ bằng một ứng dụng ghi chú đơn giản, cho thấy dù khó khăn với dev hiện đại, việc dùng vanilla vẫn khả thi nếu kết hợp AI để nhanh chóng tạo prototype. #IVVV #Frontend #VanillaJS #IndexedDB #Tech #CôngNghệ #LậpTrình #WebDev

    dev.to/stakiran/ivvv-stack-3pjp

  17. @ericwastl

    Grateful to the #VanillaJS team for enabling my super-minimalist #CMS.

    This is the idea:
    monastic.neocities.org/

    window.addEventListener("load", async (event) => {
    const params = new URLSearchParams(document.location.search)
    const filepath = params.get("c") ?? "index.md"
    const filefetch = await fetch(filepath, {method: "GET", cache: "no-store"})
    const markdown = await filefetch.text()
    document.getElementById("content").innerHTML = marked.parse(markdown)
    })

  18. @ericwastl

    Grateful to the #VanillaJS team for enabling my super-minimalist #CMS.

    This is the idea:
    monastic.neocities.org/

    window.addEventListener("load", async (event) => {
    const params = new URLSearchParams(document.location.search)
    const filepath = params.get("c") ?? "index.md"
    const filefetch = await fetch(filepath, {method: "GET", cache: "no-store"})
    const markdown = await filefetch.text()
    document.getElementById("content").innerHTML = marked.parse(markdown)
    })

  19. I just checked the stats for #BullsAndCows and I can’t stop smiling 😄

    The game has been played by 1,092 people across 177 cities around the world 🌍

    And guess what? I hadn’t even used hashtags until today — all direct visitors!

    You’re all amazing, seriously. 💛

    Next step: turning it into an app.
    #IndieDev #BullsAndCows #VanillaJS #GameDev

    👉 bulls.yosola.co

  20. I just checked the stats for #BullsAndCows and I can’t stop smiling 😄

    The game has been played by 1,092 people across 177 cities around the world 🌍

    And guess what? I hadn’t even used hashtags until today — all direct visitors!

    You’re all amazing, seriously. 💛

    Next step: turning it into an app.
    #IndieDev #BullsAndCows #VanillaJS #GameDev

    👉 bulls.yosola.co

  21. October is more a Halloween month, less a "snow & snowflakes" time but that did not keep me from writing a #VanillaJS snowflake generator for #WeirdWebOctober artlung.com/wwo/29/

  22. October is more a Halloween month, less a "snow & snowflakes" time but that did not keep me from writing a #VanillaJS snowflake generator for #WeirdWebOctober artlung.com/wwo/29/

  23. Das Wandern ist des Schweizers Lust: "Mont" ist eine #AugmentedReality-#Webapp, die Schweizer Berggipfel und Hügelkuppen benennt und auf dem Handybildschirm anzeigt (iOS only).

    thomasweibel.ch/mont2/

    Endlich ist nun auch mein Paper über die verwendete Technik erschienen:

    phaidra.fhstp.ac.at/detail/o:7

    Für alle, die hoch hinaus wollen - mit #VanillaJS oder in Wanderschuhen.

    #html5 #ar #geoinformatics #geography #topography #ios #opendata #geodata #swisstopo #switzerland @OpendataCH

  24. Das Wandern ist des Schweizers Lust: "Mont" ist eine #AugmentedReality-#Webapp, die Schweizer Berggipfel und Hügelkuppen benennt und auf dem Handybildschirm anzeigt (iOS only).

    thomasweibel.ch/mont2/

    Endlich ist nun auch mein Paper über die verwendete Technik erschienen:

    phaidra.fhstp.ac.at/detail/o:7

    Für alle, die hoch hinaus wollen - mit #VanillaJS oder in Wanderschuhen.

    #html5 #ar #geoinformatics #geography #topography #ios #opendata #geodata #swisstopo #switzerland @OpendataCH

  25. OAuth in VanillaJS: Mind your encodings

    blog.narf.ssji.net/2025/07/30/

    I wrote an implementation of the OAuth Authorisation Grant flow in VanillaJS. It worked pretty well except for some mismatch in String encodings. tl;dr: use `String.fromCharCode` over `TextDecoder` if you want to use `atob`. Or wait for `Uint8Array.toBase64`.

    #JavaScript #OAuth #VanillaJS

  26. 我整理了一下vanilla js 背后的有趣故事 | what is vanilla js

    不知道你有没有在网上看见过 / vanilla HTML 这样的表述,我时不时的看见但是又不知道是什么意思,前几天又看见一个数据库产品的文档中提到 vanilla js 的使用方法,就去探索了一番。

    vanilla,意思是香草,在 vanilla js 这个表述中表示 plain,standard,你可以理解成纯血原生 ,不需要任何第三方库,只使用 JS 标准功能和语法。

    我写了一篇公众号,讲述背后的有趣故事关于为什么叫这个名字,以及还有人专门给这个【 JS 库】做了一个调侃味极浓的官网。

    公众号文章:mp.weixin.qq.com/s/KOmKDsfcwK-

  27. React-like functional webcomponents, but with vanilla HTML, JS and CSS

    Introducing Dim – a new #Framework that brings #ReactJS-like functional #JSX-syntax with #VanillaJS. Check it out here:
    🔗 Project: github.com/positive-intentions
    🔗 Website: dim.positive-intentions.com

    My journey with #WebComponents started with Lit, and while I appreciated its native browser support (less #Tooling!), coming from #ReactJS, the class components felt like a step backward. The #FunctionalProgramming approach in React significantly improved my #DeveloperExperience and debugging flow.

    So, I set out to build a thin, functional wrapper around #Lit, and Dim is the result! It's a #ProofOfConcept right now, with "main" #Hooks similar to React, plus some custom ones like useStore for #EncryptionAtRest. (Note: #StateManagement for encryption-at-rest is still unstable and currently uses a hardcoded password while I explore #Passwordless options like #WebAuthn/#Passkeys).

    You can dive deeper into the #Documentation and see how it works here:
    📚 Dim Docs: positive-intentions.com/docs/c

    This #OpenSource project is still in its early stages and very #Unstable, so expect #BreakingChanges. I've already received valuable #Feedback on some functions regarding #Security, and I'm actively investigating those. I'm genuinely open to all feedback as I continue to develop it!

    #FrontendDev #JSFramework #Innovation #Coding #Programmer #Tech

  28. React-like functional webcomponents, but with vanilla HTML, JS and CSS

    Introducing Dim – a new #Framework that brings #ReactJS-like functional #JSX-syntax with #VanillaJS. Check it out here:
    🔗 Project: github.com/positive-intentions
    🔗 Website: dim.positive-intentions.com

    My journey with #WebComponents started with Lit, and while I appreciated its native browser support (less #Tooling!), coming from #ReactJS, the class components felt like a step backward. The #FunctionalProgramming approach in React significantly improved my #DeveloperExperience and debugging flow.

    So, I set out to build a thin, functional wrapper around #Lit, and Dim is the result! It's a #ProofOfConcept right now, with "main" #Hooks similar to React, plus some custom ones like useStore for #EncryptionAtRest. (Note: #StateManagement for encryption-at-rest is still unstable and currently uses a hardcoded password while I explore #Passwordless options like #WebAuthn/#Passkeys).

    You can dive deeper into the #Documentation and see how it works here:
    📚 Dim Docs: positive-intentions.com/docs/c

    This #OpenSource project is still in its early stages and very #Unstable, so expect #BreakingChanges. I've already received valuable #Feedback on some functions regarding #Security, and I'm actively investigating those. I'm genuinely open to all feedback as I continue to develop it!

    #FrontendDev #JSFramework #Innovation #Coding #Programmer #Tech

  29. Does anyone have good reading on how major frameworks make their SPA url router? I'm not talking about a hash router, I'd like to see how (with the server configured properly) the JS handles all the things (history pop state changes, link clicks, etc)

    #javascript #vanillajs #webcomponents

  30. Does anyone have good reading on how major frameworks make their SPA url router? I'm not talking about a hash router, I'd like to see how (with the server configured properly) the JS handles all the things (history pop state changes, link clicks, etc)

    #javascript #vanillajs #webcomponents

  31. Teskoanno is now live! My #threejs powered 3D N-Body simulator is now up - it's a dev build, and not optimised but it works! I tested it on mobile - UI needs to work, but runs well on my Pixel 8 Pro.

    Would love to get #feedback

    tanepiper.github.io/teskooano/

    #gamedev #astronomy #webDev #webComponents #vanillaJS #opensource

    (Bonus debug tools screenshot)

  32. Teskoanno is now live! My #threejs powered 3D N-Body simulator is now up - it's a dev build, and not optimised but it works! I tested it on mobile - UI needs to work, but runs well on my Pixel 8 Pro.

    Would love to get #feedback

    tanepiper.github.io/teskooano/

    #gamedev #astronomy #webDev #webComponents #vanillaJS #opensource

    (Bonus debug tools screenshot)

  33. DOM-Scope: создание искусственных областей видимости и управление идентификаторами элементов

    В процессе работы с HTML-документами часто возникает необходимость получить доступ к конкретным элементам DOM. Обычно это делается с помощью уникальных идентификаторов, которые присваиваются нужным элементам. Однако существует вероятность, что в большом документе может оказаться несколько элементов с одинаковыми идентификаторами, что может привести к путанице. Чтобы избежать этой проблемы, я разработал библиотеку dom-scope, которая позволяет создавать искусственные области видимости (скоупы) внутри DOM. Я хочу поделиться своим решением с сообществом Хабра.

    habr.com/ru/articles/892326/

    #dom #esm #domscope #scope #vanillajs

  34. @kajou solution 100% #HTML #CSS #VanillaJS mais sans le défilement de mon côté (flèches et fonctionnalité de défilement à implémenter de ton côté) :
    - insertion dynamique d'un clone de l'image dans un <dialog> via JS
    - style image plein écran via CSS

    Tout est documenté ici : github.com/teotimepacreau/elev

    En usage sur les images de mon blog

  35. bon, #help, je sais pas comment formuler ça efficacement pour une recherche web alors je vais juste poser ma question ici, avec plein de mots :
    Comment je peux faire un carousel d'images en popup - je m'explique.
    J'ai une miniature, et au clic je veux que ça ouvre un modal ou whatever, par-dessus la fenêtre active, qui contient le reste des images du carousel. Avec les flèches de navigation itout

    #HMTL #CSS #VanillaJS only !

    petit schéma pour visualiser l'idée

    Edit : j'ai la solution !!

  36. Is there a suite of vanilla JS web components implemented as classes somewhere on npmjs.org? Like, what if I want a Dark Mode switch or a tags input field with auto-complete that I can import (via import maps, of course), is there a project or namespace where I could find those?

    #vanillajs #webcomponents #npm #javascript