jsx
Alpine.js
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
jsx
-
I am having to pass down 8+ props even for simple components. What are some common ways to mitigate this? (Typescript)
Svelte syntax? Yes, there is upcoming initiative JSX 2.0 which includes shorthands like that. However, have no idea whether it will be released any time soon. So let's say "this is part of React/JSX 1.0" (shrugging)
-
Why TypeScript is the better JavaScript
Inherent support for JSX in the language itself
-
Node.js やReact、ESM、Viteの説明
JavaScript + HTML(DOM)= JSX
-
Alpine.js
FWIW, the className prop is a React thing not a JSX thing. Other libraries which use JSX will happily accept a plain class prop. The React limitation is abstraction leakage: props are not attributes, they map to DOM properties.
But to the point that JSX is a DSL, that limitation is specifically because React itself is very tightly coupled to DOM semantics… but JSX explicitly has no built in semantics[1].
1: First sentence of https://facebook.github.io/jsx/ - “JSX is an XML-like syntax extension to ECMAScript without any defined semantics.”
-
React - Introducing JSX
JSX stands for 'JavaScript XML' and is a syntax extension for JavaScript. It is used to create DOM elements that are then rendered in the React DOM. Although it looks like HTML, it is actually an XML-like syntax specifically written for use in React. Interestingly, JSX is not valid JavaScript either. JSX needs to be compiled by a tool like Babel to be translated into regular JavaScript that a browser can understand. Put simply, JSX describes what the UI should look like, and React takes care of properly rendering it.
- Web lagnunages to learn
-
My thoughts on Mithril.js
Alternatively, you can use JSX syntax (like with React), but then you need build-tools.
-
Incrementally adopting TypeScript in a create-react-app project
Note: For React component files (JSX) we'll use .tsx to maintain JSX support and for non React files we'll use the .ts file extension. However, if you want you could still use .ts file extension for React components without any problem.
-
Sciter, the 5 MB Electron alternative, has switched to JavaScript
I’m concerned that you’re falling into the same trap here with integrating your own variant of JSX, and mulling over adding more things like hyphens in unquoted object literal keys.
JSX is popular enough that it’s safe, ECMAScript isn’t going to break it, but your alterations to JSX are already significantly incompatible: you have being equivalent to JSX("input", {"class": "search"}, null), but the JSX everyone else is using has that equivalent to JSX(input.search, {}, null). I’m not certain if your JSX syntax is supposed to be able to be used with React code or anything else that uses JSX syntax, but if yes then it’ll be broken in a significant number of cases so that it’s worse than useless, and if no, well, it’s going to be misleading, and what if JSX did get merged into ECMAScript in some form? Then you’d be incompatible with ECMAScript again.
Same deal with hyphens in unquoted object literal keys: it’s not part of ECMAScript now, but just because it’d be a syntax error now doesn’t mean it always will be. Decorators in TypeScript are a good example of things going badly wrong even when an extremely popular project is involved.
I say: if you want to go JavaScript, go JavaScript, maaaaaybe plus standard JSX conforming with <https://facebook.github.io/jsx/>, and no further. Even if what you do is obviously superior, &c. &c. I’d apply the same reasoning on your fork of CSS: you introduced it for a good reason back then, but now it’s just friction, even if it’s a little better in a vacuum (and maybe it is in parts, maybe it isn’t in other parts).
-
Do you think HTML is a programming language
Then it might be time for a pull request which identifies these parts as JSX.
Alpine.js
-
Biometric authentication with Passkeys
Alpine.js for reactive frontend
-
🤓 My top 3 Go packages that I wish I'd known about earlier
✨ In recent months, I have been developing web projects using GOTTHA stack: Go + Templ + Tailwind CSS + htmx + Alpine.js. As soon as I'm ready to talk about all the subtleties and pitfalls, I'll post it on my social networks.
-
Htmx Is Composable?
> But honestly, torn towards htmx but undecided.
We are in the middle of migrating from our monster react application into server rendered pages (with jinja2). The velocity at which we are able to ship and the reduction of complexity has been great so far.
Managing client side state for simple things like (is the dropdown open/closed), listening to keyboard events and such can be done with something like alpine-js [1] without all the baggage that something like react brings.
It appears this is already the trend with JS frameworks too - with server side rendering being the new norm.
[1] https://alpinejs.dev/
- Pocketbase: Open-source back end in 1 file
-
Coming to grips with JS: a Rubyist's deep dive
Sure, you can use any number of JS-avoidance libraries. I'm a fan of Turbo, and there's also htmx, Unpoly, Alpine, hyperscript, swup, barba.js, and probably others.
-
What is your opinion about developers who do direct DOM manipulations instead of using modern web frameworks (like React, Vue, Angular) to achieve maximum performance?
Direct DOM, but with a library. Specifically AlpineJS since it follows Vue closely in design practices allowing me to scale into a full web application if necessary (basically swapping to Vue takes minimal work). The Morph plugin is specifically what I like using.
-
Kicking the tires with NestJS and Hotwire: Part II
If you want more details on the initial setup I encourage you to take a look at the Part I that covers more of the initial implementation. For this portion, I added Prisma as an ORM, a frontend style library called Tachyons, and AlpineJS to handle any client-side interactions. I did this to avoid needing to add a client-side bundler to the build and instead just rely on plain old module imports to compose the frontend. This is now the default for Rails and it is quite nice to not need any additional build tools for the client.
-
Deveplop a simple GUI app by Wails use Golang
- [swallow-pywebview](https://github.com/rangwea/swallow-pywebview): Base on [pywebview](https://pywebview.flowrl.com/) using Python,the frontend base on [alpinejs](https://alpinejs.dev/) and [tailwindcss](https://tailwindcss.com/)。
-
How to Make an Animated Number Counter with Tailwind CSS
If you’ve followed our other tutorials, you might be familiar with Alpine.js. It’s a lightweight JavaScript library that allows you to add interactivity to your site without writing a single line of JavaScript. It’s incredibly easy to use, and we’ll show you how to make the animation trigger when the user scrolls to it.
-
A First Look at HTMX and How it Compares to React
The approach is not new, essentially a variation of Knockout, Alpine, and similar "JS-in-HTML" approaches.
What are some alternatives?
htm - Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.
Svelte - Cybernetically enhanced web apps
React - The library for web and native user interfaces.
petite-vue - 6kb subset of Vue optimized for progressive enhancement
joystick - A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.
htmx - </> htmx - high power tools for HTML
denoflare - Develop, test, and deploy Cloudflare Workers with Deno.
prepack - A JavaScript bundle optimizer.
Stimulus - A modest JavaScript framework for the HTML you already have [Moved to: https://github.com/hotwired/stimulus]
vite - Next generation frontend tooling. It's fast!
hyperscript - Create HyperText with JavaScript.