81 comments

[ 1.9 ms ] story [ 160 ms ] thread
I don't see any HTML in the examples. Just Javascript. I'm very confused.

Edit: Or JSX. I dunno. I successfully avoided learning react so far.

> SSR composable HTML Custom Elements

I assume that by default all that JS runs on the server and HTML gets returned to the browser.

This starter project example is html: https://github.com/enhance-dev/enhance-starter-project/blob/...

What examples are you referring to?

(comment deleted)
There's only one code example on the landing page and it's a JS class.
yeah an example of the scoped dom update feature. how are you going to do that in html? It says no javascript unless you want it, not no javascript.
The site does not render in chrome for Android. Just display "{}"

Edit: maybe was hugged. It's working now. But worth to checkout.

So it's not HTML first then.
5 minute old account with just this comment. Very sus.
Long time lurker. Pointed an error in a website. Didn't try to sell you nothing or convince you about anything. Corrected/edited when the site worked for me as I see others do here. Sus you say? Can't imagine the nerves in your life. Best of luck.
Cutesy cartoon saying no JavaScript but all examples are JavaScript. Html first but you need npm install. Convinced this is satire designed to annoy me.
Same thing. Saw "No Javascript" and then went to the example app....nothing but Javascript?
it says "No Javascript required unless you want it", not just "No Javascript."
One would expect better reading comprehension from people who want websites to look like it's 1993.
As opposed to this cute website that's built for toddlers.
The very first mention of Javascript on the site is a huge graphic (full width) that says "NO JAVASCRIPT REQUIRED".
The very next item on the page is another huge graphic which says “unless you want it”.
Agreed...and honestly I didn't scroll any further. I saw, "No Javascript Required" and scrolled back to the top, went to the docs and looked at the example so I could see what this was like. Then I saw Javascript.

I just think that if you are saying so boldly that you don't need to use Javascript, then maybe your first example should be without Javascript?

Yeah, that seems like a reasonable take.

FWIW I kind of feel like “no js” may be a pipe dream today. I see a lot of talk about it but very few sites actually do it; there just seems to be a lot of pressure to use the next big JS framework in the community.

Also analytics and so forth.

(comment deleted)
Their website would probably be better if they actually drank their own kool-aid.
Yeah when I saw npm... "no javascript unless you want to?", really? Looks like the author really wants you to use Javascript
(comment deleted)
The title has full stack very prominently. Did you expect to code the backend in css?
Last week, we had PHP on the desktop. I fully expect to see a full backend framework written in CSS by the end of August.
Yes, instead of npm they should have used hpm the html package manager.

Jokes aside, it's a full stack framework, you need some server-side language. It's the served html that is (optionally) javascript-free.

I think most people understand that "no Javascript" applies to the client. You can't exactly write a backend in pure HTML.
Remember ColdFusion?

Sure, not exactly "pure", but the point was basically to make it look like that.

Cannot stress enough how every framework for development that starts with "npm install" is inaccessible to most amateurs by its very nature.

I'm not sure what drives developers to be so insular with thought and make so many assumptions about others. It seems like basic gate-keeping activity, but maybe it's just ignorance.

I'd say otherwise. JS is one of the largest and most vibrant communities because it is the opposite of hard. And because the amount of investment you get in and the amount of payoff you get out is emotionally delightful. And because there is a huge and competitive ecology of pedagogy on YT and other places.

You don't get to this size because it's so hard. People aren't joining JS for the relatively low prestige, they aren't joining because the paycheck compares any better to any other part of the industry, and they aren't joining because of any promise of intellectual development — they're joining because it's the most accessible doorway in the tech community today.

There's no other part of the industry that's so clogged with amateurs trying to join.

The only other industry I can think of which is so hot in its community energy would be Python and ML, but they appeal with a different set of values. ML is hot because it's prestigious, ML is hot because the job market is insanely hot, ML is hot because it promises boundless intellectual exploration.

I'm a senior software engineer with 20 years experience and I still struggle with npm/yarn nearly every time I use it. In my experience, the most senior people on JS teams also struggle with dependency problems, react, etc constantly. This is not a struggle I experience or see others experiencing with Java or C#. Python environments and tools can be frustrating but not anywhere near as much as JS tools.
(comment deleted)
I agree. I’ve used nodejs quite a bit, but I rarely need it for whatever I am doing and quite often actively avoid it because all of that shit is a pain in the ass over just writing a script in an ide or even direct text.
Was hoping for something like htmx based on that description, oh well
Normally I wouldn't object like this, but this actually confused me so I'll share it. This should be "HTML-first full stack web framework". I initially read as "The HTML (first full stack web framework)" which immediately soured me on the claim to somehow be the first full stack web framework. Or some other reformulation of the motto which eliminates "first full stack web framework" from a potential garden-path interpretation: https://en.wikipedia.org/wiki/Garden-path_sentence , so as to spice up my grammar complaint with an HN-style link of interest.
You're in luck, I can still edit my post!

(I just copy/pasted the website's <meta> description without thinking too much about it. I agree though.)

Cool link, thanks. And I wondered if that was possible in Portuguese, there was a Portuguese example :)
I actually read it this way too. My first reaction was "wait, what are all these other frameworks missing?"
SvelteKit can also run without JavaScript enabled if you use SSR and have no dynamic content...not sure what advantage this confers
HTML-first web framework, where you type server-side JS... first. I have nothing against Node and SSR but why call it "HTML-first"? It also has client-side JS. It's just a page.

In any case the gigantic pink sheep and clouds that is their entire landing page demonstrate those are either not serious people, or their audience isn't.

Felt like they were trying to do the Remix front page thing, but Remix does it right, it shows you why you want to use it as you scroll down, though to be fair, I don't know why websites that do that, don't just have a video instead. Give me a traditional website with scrolling that feels familiar and a video. I'll click play.
I think having the cutesy landing page is designed specifically to exclude the kind of curmudgeons who consider themselves super serious developers who only do super serious work who are too good for fun. If you've ever hung out in dev communities that skew younger it's like 90% memes and mostly positivity.

They're sending all the right signals that working with them would be enjoyable which is good when you want to build a community and are just starting out.

When I open the page of a framework, I want to quickly understand the value proposition of a framework. Of course the attitude you're describing, is more about memes, being cool, having fun, and having lots of free time, and yes, a lot of modern young "developers" are like that these days. They don't do much developing, but they sure have a lot of fun.
You must have had a very different experience than me because I will literally never pump out as much code as I did when I was ~14-19. Free time, nigh infinite motivation and energy, and a brain that sucks up information like a shop vac after a flood.
What you did and what (most) young people do now is not the same thing. We're in a very rapid cultural shift.
>HTML-first web framework, where you type server-side JS... first.

Yeah, I think a lot of us are bumping against that. They need to change either their examples or their branding...

>In any case the gigantic pink sheep and clouds that is their entire landing page demonstrate those are either not serious people, or their audience isn't.

...but hard disagree here. Don't change that! That page is fun and positive. You can be serious as in "deliberate" and "thoughtful" without being serious as in "humorless" or "somber". The former types of seriousness are the more important ones when you're trying to get stuff done.

I'm not sure its fair to criticize this framework because it includes javascript in the examples and the website. HTML first doesn't mean HTML only.

How about this example?

https://github.com/enhance-dev/enhance-starter-project/blob/...

I think it's completely fair to criticize it. It's claiming to be "the" html framework, but then you have sveltekit and Astro which are far more HTML friendly and easier to get started on for non JS devs.

This just comes off as a ploy to hijack the meaning of HTML.

Continued: No one is complaining about the framework itself. Everyone is talking about what you're claiming to be, which you're not. The quality of the framework itself hasn't been alluded to.
The docs do a really poor job of explaining what value the framework is bringing to the table. I’d contrast that to HTMX, Vue, Svelte and many other frameworks that do. (You may or may not like those frameworks but they all stand for something.). Even the new React documents do a great job of explaining they value of React even though React is so established it could easily have a “your team is using React, everybody is using React, you will use React” attitude. Instead “enhanced” jumps right into “Meet the new Javascript routing framework, same as the old Javascript routing framework”.

Maybe it is “No Javascript” in the same sense that software vendor Salesforce.com had the tagline “No software”.

(comment deleted)
All the arguments about using javascript aside,

I really enjoy this website's look&feel

At this point, HTML+CSS is so full-featured, I think we need to question why a framework is necessary at all. Especially if you don’t need JS.
"HTML First" versus "HTML Only" aside, I hadn't heard of this one before, and it looks promising.

I've been looking for simpler frameworks that do less, because I'm tired of coming back to projects I've set aside for six months or a year and having to basically relearn and rewrite them to match all the updates and incompatible changes the framework made in the meantime.

At first glance this looks like it handles the essentials and doesn't try too hard to handle anything else; I'm going to give it a try.

Looks great, congrats! For those wondering, it's a Web Components framework in the style of Next.js. Web Components are standard HTML elements, hence HTML-first (at least that's how I interpret it).
offtopic: why do people think websites like this are useful?
It looks like a 1990s webpage with modern visual design made for children. I kept waiting for the <blink> marquee and the "under construction" gif to show up as I was scrolling through.

Utterly useless.

Yes, every website should look the same, and no one should ever get creative with design.
They're good for selling people on your product. I think for a web framework it's a bit style over substance however.
Just tried to deploy the starter website on Zeabur and found this requires 130MB memory? https://enhance-demo.zeabur.app/
Unrelated but how do you like zeabur? Looks interesting but haven’t heard anything about it yet
Unlike Vercel, Zeabur can deploy full-stack services, including front-end, back-end, and the database. You can try it here: https://zeabur.com
What exactly required 130 MB of memory? The dev server? The website itself? The Zeabour executable?
I just saw the memory usage on Zeabur dashboard.
So I think what they are going for is making client-side and server-side html generation feel much more similar. If they are doing this without the huge inefficiency, of say, React server-side rendering, it seems like a good idea.

Pretty sure what they mean by "no Javascript" is no client-side Javascript.

The idea of component-based rendering for server-side is actually nice.

There's 3,000+ lines of CSS in that web page.

:-O

I find it hard to trust a framework that looks so "cutesy".
I'm curious - how does Enhance manage state updates?

Is there some mechanism to push component updates to the client once the state changes?

As others might have pointed out, HTMX is an actual HTML framework. Load a single is file and use attributes in your HTML to perform actions and bind data.
Great work team enhance.dev, web components is the way to go.

I read a lot of strong opinions about the use of NPM when the framework boasts “No JavaScript”. Probably it’s a fair point. But I’d still like to see more enhance and Lit-like frameworks - yes I said framework, cause it takes you one step closer to the native browser.

I was wondering how it's built and I found out that it's "build-less" but requires a Node backend to serve. Can't just deploy on S3.