<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <icon>http://ln.ht/_/images/favicon-4c526c32c48400028d7739cac47cd2a3.svg?vsn=d</icon>
  <link type="text/html" rel="alternate" href="http://ln.ht/javascript/JavaScript/webdev"/>
  <link type="application/atom+xml" rel="self" href="http://ln.ht/_/feed/javascript/JavaScript/webdev"/>
  <id>http://ln.ht/_/feed/javascript/JavaScript/webdev</id>
  <title>Bookmarks tagged with: javascript,JavaScript,webdev</title>
  <updated>2026-09-17T21:41:29.863013Z</updated>
  <entry>
    <category label="javascript" term="javascript"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>veryroundbird</name>
      <uri>https://ln.ht/~veryroundbird</uri>
    </author>
    <content type="html">&lt;p&gt;
Pretext went viral for its beautiful canvas demos. But the community is showcasing the wrong feature.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://denodell.com/blog/youre-looking-at-the-wrong-pretext-demo"/>
    <id>https://denodell.com/blog/youre-looking-at-the-wrong-pretext-demo</id>
    <title>You&apos;re Looking at the Wrong Pretext Demo — Den Odell</title>
    <updated>2026-04-14T14:45:59Z</updated>
  </entry>
  <entry>
    <category label="javascript" term="javascript"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>veryroundbird</name>
      <uri>https://ln.ht/~veryroundbird</uri>
    </author>
    <content type="html">&lt;p&gt;
Rough.js is a light weight javascript library that lets you draw graphics with a hand-drawn, sketchy, appearance.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://roughjs.com/"/>
    <id>https://roughjs.com/</id>
    <title>Rough.js</title>
    <updated>2026-01-09T18:02:21Z</updated>
  </entry>
  <entry>
    <category label="js" term="js"/>
    <category label="javascript" term="javascript"/>
    <category label="html" term="html"/>
    <category label="app" term="app"/>
    <category label="progressive" term="progressive"/>
    <category label="example" term="example"/>
    <category label="howto" term="howto"/>
    <category label="webdev" term="webdev"/>
    <category label="web" term="web"/>
    <category label="pwa" term="pwa"/>
    <author>
      <name>chrisSt</name>
      <uri>https://ln.ht/~chrisSt</uri>
    </author>
    <content type="html">&lt;p&gt;
Minimal files   config for a PWA. Contribute to chr15m/minimal-pwa development by creating an account on GitHub.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://github.com/chr15m/minimal-pwa"/>
    <id>https://github.com/chr15m/minimal-pwa</id>
    <title>chr15m/minimal-pwa: Minimal files + config for a PWA</title>
    <updated>2025-10-01T14:53:27Z</updated>
  </entry>
  <entry>
    <category label="js" term="js"/>
    <category label="webdev" term="webdev"/>
    <category label="css" term="css"/>
    <category label="web" term="web"/>
    <category label="programming" term="programming"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>fungi</name>
      <uri>https://ln.ht/~fungi</uri>
    </author>
    <content type="html">&lt;p&gt;
Argues that JS isn’t as necessary anymore, and that CSS can replace many niches previously filled by JS. Some strategies for avoiding JS.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://lyra.horse/blog/2025/08/you-dont-need-js/"/>
    <id>https://lyra.horse/blog/2025/08/you-dont-need-js/</id>
    <title>You no longer need JavaScript</title>
    <updated>2025-09-24T07:08:53Z</updated>
  </entry>
  <entry>
    <category label="datastar" term="datastar"/>
    <category label="javascript" term="javascript"/>
    <category label="webdev" term="webdev"/>
    <category label="hypermedia" term="hypermedia"/>
    <author>
      <name>teddy</name>
      <uri>https://ln.ht/~teddy</uri>
    </author>
    <content type="html">&lt;p&gt;
Datastar helps you build reactive web applications with the simplicity of server-side rendering and the power of a full-stack SPA framework.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://data-star.dev/"/>
    <id>https://data-star.dev/</id>
    <title>Datastar - The hypermedia framework.</title>
    <updated>2025-04-22T10:01:33Z</updated>
  </entry>
  <entry>
    <category label="html" term="html"/>
    <category label="css" term="css"/>
    <category label="product" term="product"/>
    <category label="production" term="production"/>
    <category label="development" term="development"/>
    <category label="javascript" term="javascript"/>
    <category label="js" term="js"/>
    <category label="application" term="application"/>
    <category label="web" term="web"/>
    <category label="app" term="app"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>chrisSt</name>
      <uri>https://ln.ht/~chrisSt</uri>
    </author>
    <content type="html">&lt;p&gt;
Empower the web community and invite more to build cross-platform apps&lt;/p&gt;
</content>
    <link rel="alternate" href="https://lynxjs.org/index.html"/>
    <id>https://lynxjs.org/index.html</id>
    <title>Lynx</title>
    <updated>2025-03-06T13:15:02Z</updated>
  </entry>
  <entry>
    <category label="funcprog" term="funcprog"/>
    <category label="webdev" term="webdev"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>levibeach</name>
      <uri>https://ln.ht/~levibeach</uri>
    </author>
    <content type="html">&lt;p&gt;
Discover how functional programming can clean up your JavaScript code. Learn key concepts like immutability, currying and function composition to write cleaner, more maintainable, and efficient code.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://janhesters.com/blog/unleash-javascripts-potential-with-functional-programming"/>
    <id>https://janhesters.com/blog/unleash-javascripts-potential-with-functional-programming</id>
    <title>Unleash JavaScript&apos;s Potential with Functional Programming</title>
    <updated>2024-10-06T06:47:00Z</updated>
  </entry>
  <entry>
    <category label="javascript" term="javascript"/>
    <category label="serviceWorker" term="serviceWorker"/>
    <category label="pwa" term="pwa"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>levibeach</name>
      <uri>https://ln.ht/~levibeach</uri>
    </author>
    <content type="html">&lt;p&gt;
In this tutorial we will examine the source code of a website that lists information about games submitted to the A-Frame category in the js13kGames 2017 competition. You don’t have to think about what the actual content on the website is; the main point is to learn how to use PWA features in your own projects.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Tutorials/js13kGames"/>
    <id>https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Tutorials/js13kGames</id>
    <title>js13kGames - Progressive web apps | MDN</title>
    <updated>2024-08-08T11:36:37Z</updated>
  </entry>
  <entry>
    <category label="javascript" term="javascript"/>
    <category label="html" term="html"/>
    <category label="programming" term="programming"/>
    <category label="work" term="work"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>eli</name>
      <uri>https://ln.ht/~eli</uri>
    </author>
    <content type="html">&lt;blockquote&gt;
  &lt;p&gt;
Now to be fair, I’ve dunked on shadow DOM a bit in the past myself… such as when it’s used as a container for piles of JavaScript-generated HTML that would be better off in the page from the start. But the more I’ve worked with web components, the more I’ve come to see that shadow DOM (and slots in particular) may still play an interesting role in the HTML Web Components story.  &lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <link rel="alternate" href="https://scottjehl.com/posts/html-web-components-shadow-dom/?2"/>
    <id>https://scottjehl.com/posts/html-web-components-shadow-dom/?2</id>
    <title>HTML Web Components Can Have a Little Shadow DOM, As A Treat | Scott Jehl, Web Designer/Developer</title>
    <updated>2024-08-06T17:39:52Z</updated>
  </entry>
  <entry>
    <category label="benchmarking" term="benchmarking"/>
    <category label="work" term="work"/>
    <category label="testing" term="testing"/>
    <category label="webdev" term="webdev"/>
    <category label="js" term="js"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>eli</name>
      <uri>https://ln.ht/~eli</uri>
    </author>
    <content type="html">&lt;blockquote&gt;
  &lt;p&gt;
For years now, though, I’ve been using Tachometer for most browser-based benchmarks. It’s featured in this blog a few times, although I’ve never written specifically about it. Tachometer doesn’t make benchmarking totally foolproof, but it does automate a lot of the trickiest bits. What I like best is that it:  &lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <link rel="alternate" href="https://nolanlawson.com/2024/08/05/reliable-javascript-benchmarking-with-tachometer/"/>
    <id>https://nolanlawson.com/2024/08/05/reliable-javascript-benchmarking-with-tachometer/</id>
    <title>Reliable JavaScript benchmarking with Tachometer | Read the Tea Leaves</title>
    <updated>2024-08-05T15:18:55Z</updated>
  </entry>
  <entry>
    <category label="webdev" term="webdev"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>levibeach</name>
      <uri>https://ln.ht/~levibeach</uri>
    </author>
    <content type="html">&lt;p&gt;
JavaScript Frameworks generally do a lot of DOM handling for you, but doing it yourself can be the most performant option, and there are quite a few best practices.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://frontendmasters.com/blog/patterns-for-memory-efficient-dom-manipulation/"/>
    <id>https://frontendmasters.com/blog/patterns-for-memory-efficient-dom-manipulation/</id>
    <title>Patterns for Memory Efficient DOM Manipulation with Modern Vanilla JavaScript – Frontend Masters Boost</title>
    <updated>2024-08-02T11:27:50Z</updated>
  </entry>
  <entry>
    <category label="framework" term="framework"/>
    <category label="javascript" term="javascript"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>levibeach</name>
      <uri>https://ln.ht/~levibeach</uri>
    </author>
    <content type="html">&lt;p&gt;
A delightful language with friendly error messages, great performance, small assets, and no runtime exceptions.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://elm-lang.org/"/>
    <id>https://elm-lang.org/</id>
    <title>Elm - delightful language for reliable web applications</title>
    <updated>2024-06-30T09:25:33Z</updated>
  </entry>
  <entry>
    <category label="runtime" term="runtime"/>
    <category label="javascript" term="javascript"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>levibeach</name>
      <uri>https://ln.ht/~levibeach</uri>
    </author>
    <content type="html">&lt;p&gt;
Bundle, install, and run JavaScript &lt;/p&gt;
</content>
    <link rel="alternate" href="https://bun.sh/"/>
    <id>https://bun.sh/</id>
    <title>Bun — A fast all-in-one JavaScript runtime</title>
    <updated>2024-06-29T14:22:39Z</updated>
  </entry>
  <entry>
    <category label="community" term="community"/>
    <category label="inclusive" term="inclusive"/>
    <category label="engineering" term="engineering"/>
    <category label="development" term="development"/>
    <category label="coding" term="coding"/>
    <category label="software" term="software"/>
    <category label="astro" term="astro"/>
    <category label="jamstack" term="jamstack"/>
    <category label="javascript" term="javascript"/>
    <category label="webdev" term="webdev"/>
    <author>
      <name>levibeach</name>
      <uri>https://ln.ht/~levibeach</uri>
    </author>
    <content type="html">&lt;p&gt;
Astro is a new kind of static site generator for the modern web, and is centered around helping you… Tagged with webdev, javascript, jamstack, astro.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://dev.to/whitep4nth3r/how-to-deploy-an-astro-site-m8h"/>
    <id>https://dev.to/whitep4nth3r/how-to-deploy-an-astro-site-m8h</id>
    <title>How to deploy an Astro site - DEV Community</title>
    <updated>2024-03-29T12:58:25Z</updated>
  </entry>
  <entry>
    <category label="tutorial" term="tutorial"/>
    <category label="howto" term="howto"/>
    <category label="ui" term="ui"/>
    <category label="webdev" term="webdev"/>
    <category label="javascript" term="javascript"/>
    <category label="testing" term="testing"/>
    <category label="playwright" term="playwright"/>
    <author>
      <name>chrisSt</name>
      <uri>https://ln.ht/~chrisSt</uri>
    </author>
    <content type="html">&lt;p&gt;
Visual testing is essential in web app development, ensuring your users never face a broken UI. Learn everything you’ll need in this comprehensive guide.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://www.browsercat.com/post/ultimate-guide-visual-testing-playwright"/>
    <id>https://www.browsercat.com/post/ultimate-guide-visual-testing-playwright</id>
    <title>Ultimate Guide to Visual Testing with Playwright</title>
    <updated>2024-03-10T02:31:37Z</updated>
  </entry>
  <entry>
    <category label="webdev" term="webdev"/>
    <category label="howto" term="howto"/>
    <category label="localstorage" term="localstorage"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>chrisSt</name>
      <uri>https://ln.ht/~chrisSt</uri>
    </author>
    <content type="html">&lt;p&gt;
This guide explores localStorage in JavaScript web apps, detailing its usage, limitations, and alternatives like IndexedDB and AsyncStorage.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://rxdb.info/articles/localstorage.html"/>
    <id>https://rxdb.info/articles/localstorage.html</id>
    <title>Using localStorage in Modern Applications - A Comprehensive Guide | RxDB - JavaScript Database</title>
    <updated>2024-02-24T14:19:19Z</updated>
  </entry>
  <entry>
    <category label="webdev" term="webdev"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>eli</name>
      <uri>https://ln.ht/~eli</uri>
    </author>
    <content type="html">&lt;p&gt;
RetroV (pronounced “retro vee”) is a virtual DOM (VDOM) rendering library. It is “vanilla” JavaScript, browser-native, and has no dependencies or build system.&lt;/p&gt;
</content>
    <link rel="alternate" href="http://ratfactor.com/retrov/"/>
    <id>http://ratfactor.com/retrov/</id>
    <title>RetroV - ratfactor</title>
    <updated>2023-03-29T01:42:58Z</updated>
  </entry>
  <entry>
    <category label="culture" term="culture"/>
    <category label="webdev" term="webdev"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>eli</name>
      <uri>https://ln.ht/~eli</uri>
    </author>
    <content type="html">&lt;p&gt;
The age of frontend JavaScript frameworks eating the web world didn’t happen simply because some well-meaning developers found great DX. It happened because we were fed a line.&lt;/p&gt;
</content>
    <link rel="alternate" href="https://www.spicyweb.dev/the-great-gaslighting-of-the-js-age/"/>
    <id>https://www.spicyweb.dev/the-great-gaslighting-of-the-js-age/</id>
    <title>The Great Gaslighting of the JavaScript Era | The Spicy Web</title>
    <updated>2023-03-13T18:25:34Z</updated>
  </entry>
  <entry>
    <category label="transparency" term="transparency"/>
    <category label="webdev" term="webdev"/>
    <category label="javascript" term="javascript"/>
    <author>
      <name>eli</name>
      <uri>https://ln.ht/~eli</uri>
    </author>
    <content type="html"></content>
    <link rel="alternate" href="https://avanier.studio/scripts"/>
    <id>https://avanier.studio/scripts</id>
    <title>scripts</title>
    <updated>2022-08-19T13:46:39Z</updated>
  </entry>
  <entry>
    <category label="hyperscript" term="hyperscript"/>
    <category label="htmx" term="htmx"/>
    <category label="reference" term="reference"/>
    <category label="tutorial" term="tutorial"/>
    <category label="html" term="html"/>
    <category label="javascript" term="javascript"/>
    <category label="webDev" term="webDev"/>
    <author>
      <name>eli</name>
      <uri>https://ln.ht/~eli</uri>
    </author>
    <content type="html"></content>
    <link rel="alternate" href="https://nomadiq.hashnode.dev/reimagining-front-end-web-development-with-htmx-and-hyperscript"/>
    <id>https://nomadiq.hashnode.dev/reimagining-front-end-web-development-with-htmx-and-hyperscript</id>
    <title>Reimagining front-end web development with htmx and hyperscript</title>
    <updated>2022-08-02T17:58:17Z</updated>
  </entry>
</feed>