The advantage of JSX & TSX used together is that you know exactly what data goes into your component. In larger projects this is massive improvement over just having "some" data that you access in your HTML templates.
From my perspective, Typescript in combination with JSX is the best thing to have come out of React, any component in a larger project should have good typing to avoid problems down the road.
I'm not saying JSX/TSX don't have a place, but calling them "old-school" is a bit... odd. I feel like it is only 5-6 years old.
To me old-school means at least a few generations old: ASP (classic (1996) or .Net (2002)), Rails (2004), Django (2005), PHP (1995), JSP (1999), ColdFusion (1995), etc.
Anything that is the current "standard" seems like it should be called "new-school."
Velocity Core is a streamlined server-side framework that combines four proven technologies—Fastify, TypeScript, JSX, and Hotwire—to offer a fast, efficient way to build dynamic websites. It provides an alternative to the heavyweight, client-side-driven frameworks like Next.js, focusing instead on delivering HTML directly from the server with minimal overhead - but at the same time having a wonderful development experience
"You don't need a JavaScript Framework.... check out our TypeScript framework."
Thanks, I appreciate a good bit of humor on cold dark winter days such as this.
In all seriousness, Next.js already focuses on SSR. So you shouldn't market yourselves as an alternative if your main claim is something it already does.
NextJS does SSR for SSO and speeding up first loads, but it "rehydrates" on the client side. You are still running a big honking React app in the browser.
Hotwire is a fundamentally different concept, the radical idea of delivering HTML to browsers designed to render HTML: https://hotwired.dev/
Fair point. Yet hardly a "radical idea". According to that page you linked, you are still hydrating, just doing it with websockets instead of HTTP requests. Personally, I've spent the last week playing with Astro JS, which lets me build a component-driven app locally for content management, but doesn't serve it to browsers when published -- it renders the whole site to static HTML which I can serve from github pages. It definitely has its quirks, but if you are talking about a goal of just sending HTML to browsers, that seems like a better vision, doesn't it?
The phrasing "radical idea" was tongue-in-cheek: of course serving HTML over HTTP is the way God intended it.
Maybe we have different things in mind when we say "hydrating", but my understanding is that Hotwire/Turbolinks does not involve any fat JS app with virtual DOM, state management, etc. on the client side. All of that logic remains on the server, and it delivers chunks of HTML (over HTTP or websockets, it doesn't matter conceptually) that replace elements in the page without requiring a full page reload.
You get the "feel" of a SPA, without all the headaches that come with it.
AstroJS is moving in a similar direction as Velocity but already clocks in at 60 dependencies in the create-astro repo. We tried to keep things as minimal as possible.
And no, we are not sending anything around with websockets. It's full server-side HTML generation, hotwire takes care of doing delta updates to the existing HTML
You have this title, then a TSX page in the example.
Are JSX/TSX pages considered "old-school" now?
I'm still not even full comfortable writing them from scratch because they are so "new."
Am I just showing how bad of a web developer I am?