---
title: "Is htmx Just Another JS Framework?"
publication: "JavaScript Weekly"
issue: 670
published_at: "2024-01-11"
canonical_url: "https://javascriptweekly.com/issues/670"
---

Plus JS concepts everyone should know, zipping in the browser, and linear time regexes. |        

#​670 — January 11, 2024 

[Read on the Web](https://javascriptweekly.com/issues/670)  

Together with [![Mescius\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_454,h_111/e_make_transparent/co_white,e_outline:7/iwtw1igi5mjsbp1jqfn5.png)](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-Jan-2024)   

JavaScript Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/clostzkyidvbehqvfctq.jpg)](https://htmx.org/essays/is-htmx-another-javascript-framework/)  

[Is htmx Just Another JavaScript Framework?](https://htmx.org/essays/is-htmx-another-javascript-framework/) — Despite being four years old, [htmx](https://htmx.org/) has seen a surge in popularity recently, parly due to fatigue with 'big frameworks' and also because its simple HTML-based approach to adding functionality to a page appeals to an increasingly diverse group. But is it just another framework itself? Yes. And no. 

Alexander Petros   

▶[HTMX for React Developers in 10 Minutes](https://www.youtube.com/watch?v=r0XBULqzsT0) — You're not interested in discussions about semantics.. you just want to get something _done_ with [htmx](https://htmx.org)? Here, Jack takes ten minutes to show off the essentials. 

Jack Herrington   [![\](https://copm.s3.amazonaws.com/cf3994fd.png)](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-Jan-2024) 

[Add Excel-like Spreadsheet Functionality to Your JavaScript Apps](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-Jan-2024) — SpreadJS is the industry-leading JavaScript spreadsheet for adding advanced spreadsheet features to your enterprise apps. Build finance, analysis, budget, and other apps. Excel I/O, 500+ calc functions, tables, charts, and more. [View demos now](https://developer.mescius.com/spreadjs?utm_source=CooperPress&utm_medium=JavaScript-Weekly&utm_campaign=SpreadJS-JS-Weekly-Primary-Sponsor-Jan-2024). 

SpreadJS from MESCIUS inc sponsor   

[33 JavaScript Concepts Every Developer Should Know](https://github.com/leonardomso/33-js-concepts?tab=readme-ov-file#-table-of-contents) — A curated collection of _links to tutorials_ on 33 different areas worth understanding well, including: types, closures, equality, scope, and different engines. We linked this two years ago, but it remains frequently updated. 

Leonardo Maldonado   

[Introducing fsx: A Modern Filesystem API for JavaScript](https://humanwhocodes.com/blog/2024/01/fsx-modern-filesystem-api-javascript/) — Filesystem APIs in JavaScript runtimes haven’t been great for a long time. This is one prominent JavaScript expert’s attempt to make a better one. 

Nicholas C. Zakas   

**IN BRIEF:** 

- CodePen shares its [top 100 'pens' of 2023](https://codepen.io/2023/popular). Lots of fantastic bits and pieces to look through and learn from here.
- Bored? The Deno team is running [a little hackathon](https://deno.com/blog/subhosting-hackathon) over the next week.
- [jsfree.org](https://jsfree.org/) is a new effort to catalog web services that can work _without_JavaScript.
- 🌼 Enjoy the [drawing.garden](https://drawing.garden/). 

**RELEASES:** 

- [Docusaurus 3.1](https://docusaurus.io/blog/releases/3.1) – Popular site generator/framework.
- [Rspack 0.5](https://github.com/web-infra-dev/rspack) – Fast Rust-based web bundler.
- [MikroORM 6](https://mikro-orm.io/blog/mikro-orm-6-released) – TypeScript ORM for Node.js.
- [Node.js v20.11.0 (LTS)](https://nodejs.org/en/blog/release/v20.11.0), [Bun 1.0.22](https://bun.sh/blog/bun-v1.0.22), [npm 10.3](https://www.npmjs.com/package/npm) and [Astro 4.1](https://astro.build/blog/astro-410/).  

📒 Articles & Tutorials  

[The Website vs. Web App Dichotomy Doesn't Exist](https://jakelazaroff.com/words/the-website-vs-web-app-dichotomy-doesnt-exist/) — An interesting think piece that will help you flesh out your own opinions on the matter: “_If there’s one takeaway from all this, it’s that the web is a flexible medium where any number of technologies can be combined in all sorts of interesting ways._” 

Jake Lazaroff   

[Rust-Based JavaScript Linters: Fast, But No Typed Linting Right Now](https://www.joshuakgoldberg.com/blog/rust-based-javascript-linters-fast-but-no-typed-linting-right-now/) — An explanation of why the speed gains from Rust-powered linters aren’t comparable to the full feature set of `typescript-eslint`. 

Josh Goldberg   

[Reduce 80%+ Latency with Vercel Edge Functions](https://www.pingcap.com/blog/reducing-latency-by-80-with-edge-functions-tidb-serverless/?utm_source=jsweekly&utm_medium=paid_media&utm_campaign=plg_list_VEdgeFunction_blog_ICP2_02&utm_id=701BV000000APCKYA4) — Learn how TiDB Serverless + Vercel Edge Functions can significantly reduce latency for global users. [Read now!](https://www.pingcap.com/blog/reducing-latency-by-80-with-edge-functions-tidb-serverless/?utm_source=jsweekly&utm_medium=paid_media&utm_campaign=plg_list_VEdgeFunction_blog_ICP2_02&utm_id=701BV000000APCKYA4%20) 

TiDB sponsor   

[The State of Benchmarking in Node.js](https://www.webpro.nl/articles/the-state-of-benchmarking-in-nodejs) — While Node has always been fast (_thanks largely to its V8 underpinnings_), there’s a renewed focus on performance in the face of benchmarks and claims from alternatives like Deno and Bun. Lars looks at the ecosystem of benchmarking options in the space. 

Lars Kappert   

[A CSS Media Query for Scripting Support](https://blog.stephaniestimac.com/posts/2023/12/css-media-query-scripting/) — A new media query (e.g. `@media (scripting: none)`) was just added to Chrome (and Edge) to let you to define styles upon whether scripting languages are available. It's [supported in all major browsers now](https://caniuse.com/?search=css-media-scripting) – a rare case of Chromium playing catch-up! 

Stephanie Stimac   

▶[What is Remix Exactly?](https://www.youtube.com/watch?v=bwoqZ4eARjk) — As in [Remix](https://remix.run/), the full-stack web framework. 

Alem Tuzlak  

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/zvb5a7s2typtmlplwxe6.jpg)](https://gildas-lormeau.github.io/zip.js/)  

[zip.js: Library to Zip and Unzip Files](https://gildas-lormeau.github.io/zip.js/) — Sounds simple, and it is, but it supports a couple of different formats and can generate password protected ZIPs. There are a few demos, but the [simplest one](https://gildas-lormeau.github.io/zip.js/demos/demo-create-file.html) sold me on its own. [GitHub repo](https://github.com/gildas-lormeau/zip.js). 

Gildas Lormeau   

[Element Plus: Vue 3 Component Library](https://element-plus.org/en-US/) — Out of the box you get a large variety of clean components with a minimal vibe. You can [see them in action here](https://element-plus.org/en-US/component/button.html). 

Element Plus Team   

[Add Authorization, MFA, Biometrics and More to Your JavaScript App in Just Minutes](https://fusionauth.io/ebooks/modern-guide-to-oauth?utm_source=jsweekly&utm_medium=paid_other&utm_campaign=jan24_newsletter&utm_content=modern_guide_oauth) — It's about time that somebody talked some sense about OAuth and JavaScript. So we did. You're welcome. 

FusionAuth sponsor   

[RE2JS: Linear Time Matching for Regular Expressions](https://github.com/le0pard/re2js) — RE2 is a regex engine built by Google designed to operate in time proportional to the size of the input, in order to avoid so-called ‘ReDoS’ problems backtracking can cause. There are [bindings for Node.js](https://github.com/uhop/node-re2), but this version works in the browser. 

Oleksii Vasyliev   

[Penrose: Beautiful Math Diagrams by Writing Plain Text](https://penrose.cs.cmu.edu/) — It might sound a little like [Mermaid](https://mermaid.js.org/) (indeed, their homepages are strikingly similar) but its scope feels somewhat more math-focused – there are [many examples](https://penrose.cs.cmu.edu/examples). 

Penrose Contributors   

[DOMPurify 3.0.8: A Fast, Tolerant XSS Sanitizer for HTML](https://github.com/cure53/DOMPurify) — Supports all modern browsers and is heavily tested. There’s [a live demo here](https://cure53.de/purify). 

Cure53   

[remoteStorage: Cross Browser/Device Persistence](https://github.com/FrigadeHQ/remote-storage) — Combines the `localStorage` API with a remote server to persist data across browsers and devices – so basically, imagine `localStorage` but remote. Here’s [the server part](https://github.com/FrigadeHQ/remote-storage/blob/main/apps/remote-storage-server/README.md). 

Frigade   

- [eslint-plugin-vue 9.20.0](https://github.com/vuejs/eslint-plugin-vue/releases/tag/v9.20.0) – The official ESLint plugin for Vue.js now supports Vue 3.4. [Homepage](https://eslint.vuejs.org/).
- [file-type 19.0](https://github.com/sindresorhus/file-type) – Detect file type from a `Buffer`, `Uint8Array`, or`ArrayBuffer`.
- [React Unity WebGL 9.5](https://github.com/jeffreylanters/react-unity-webgl) – Embed Unity WebGL builds in React apps.
- [htmlparser2 9.1](https://github.com/fb55/htmlparser2) – A fast and forgiving HTML/XML parser.
- [YouTube.js 8.2](https://github.com/LuanRT/YouTube.js) – Wrapper around YouTube's internal API.
- [React-PDF 7.7](https://github.com/wojtekmaj/react-pdf) – React component to display PDFs.
- [HLS.js 1.5](https://github.com/video-dev/hls.js) – HTTP Live Streaming client library.
- [React Icons 5.0](https://react-icons.github.io/react-icons/) – Easily use popular icons in React apps.
- [Chai 5.0](https://www.chaijs.com/) – BDD / TDD assertion library.         

Published by [Cooperpress](https://cooperpress.com/) and edited by [Peter Cooper](https://twitter.com/cooperx86) 

'JavaScript' is a trademark of Oracle Corporation in the US
We are not endorsed by or affiliated with Oracle. 

[Change your email address](https://javascriptweekly.com/edit_subscription/*|UID|*) or [stop getting this newsletter](https://javascriptweekly.com/leave/*|UID|*). 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
