frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Skia Graphite: Chrome's rasterization back end for the future

https://blog.chromium.org/2025/07/introducing-skia-graphite-chromes.html
1•brson•2m ago•0 comments

EU Product Liability Directive impacts software, digital products, cybersecurity

https://www.lexology.com/library/detail.aspx?g=bbef1939-2af0-465a-8b8f-c1ff3ebe9118
1•speckx•2m ago•0 comments

Redis Historical Versions from 2009

https://github.com/antirez/historical-redis-versions
1•philbo•3m ago•0 comments

Analyzing Grok's Latest Meltdown Through Public xAI System Prompts

https://theahura.substack.com/p/tech-things-what-on-earth-is-going
1•theahura•3m ago•0 comments

Show HN: Whispering – An open-source alternative to Superwhisper

https://github.com/braden-w/whispering
1•braden-w•4m ago•1 comments

Physics needs research software engineers

https://www.nature.com/articles/s42254-025-00852-2
1•bookofjoe•4m ago•0 comments

The Magic Theorem

https://aperiodical.com/2025/07/the-magic-theorem/
1•baruchel•4m ago•0 comments

Computer Scientists Figure Out How to Prove Lies

https://www.quantamagazine.org/computer-scientists-figure-out-how-to-prove-lies-20250709/
1•baruchel•5m ago•0 comments

Tree Borrows

https://plf.inf.ethz.ch/research/pldi25-tree-borrows.html
1•zdw•6m ago•0 comments

Florida is letting companies make it harder for highly paid workers to swap jobs

https://www.businessinsider.com/florida-made-it-harder-highly-paid-workers-to-swap-jobs-2025-7
2•pseudolus•7m ago•0 comments

Durable Agent Loops

https://restate.dev/blog/durable-ai-loops-fault-tolerance-across-frameworks-and-without-handcuffs/
1•gk1•8m ago•0 comments

DeCSS (2000)

https://decss.zoy.org/
1•JetSpiegel•10m ago•0 comments

Show HN: Kinic – A Portable AI Memory Store You Own (Farewell AI Amnesia)

https://www.kinic.io/
2•wyattbenno777•16m ago•0 comments

RNode is an open, free and unrestricted digital radio transceiver

https://unsigned.io/rnode/
2•janandonly•16m ago•0 comments

Show HN: Chain-The-Words game that tests your vocab

https://www.chain-the-words.com/
1•martianmanhunt•16m ago•2 comments

Texas Flood Challenges Faith

https://www.amazingfacts.org/news-and-features/af-blog/article/texas-flood-challenges-faith
1•afaxwebgirl•16m ago•0 comments

Show HN: Pulse – the wearable for n=1 habit experiments

https://blog.pulse.site/pulse-the-wearable-for-n1-habit-experiments/
2•msingh_5•16m ago•1 comments

Using Self-Hosted Large Language Models (LLMs) Securely in Government

https://digitaltrade.blog.gov.uk/2025/07/09/using-self-hosted-large-language-models-llms-securely-in-government/
1•edent•22m ago•0 comments

Has anyone else had issues with the new low calorie sweeteners?

https://tildes.net/~health/1oo1/has_anyone_else_had_issues_with_the_new_low_calorie_sweeteners
1•PaulHoule•25m ago•0 comments

MemOS: A Memory OS for AI System

https://arxiv.org/abs/2507.03724
2•handfuloflight•26m ago•1 comments

Show HN: Nordstars shows a team's missing skills for different business goals

https://nordstars.ai/
2•doraby•26m ago•0 comments

Sh*t Coding – Where sh*t posting and vibe coding meet

https://www.dcoates.com/posts/shit-coding/
3•dustincoates•26m ago•1 comments

Omarchy Is Out

https://world.hey.com/dhh/omarchy-is-out-4666dd31
2•thinkingemote•26m ago•0 comments

Paint: A Timeline

https://kristenroos.ca/timeline
1•surprisetalk•27m ago•0 comments

Induction lamps: fluorescent lighting's final form [video]

https://www.youtube.com/watch?v=SaKKzZRrPIg
1•surprisetalk•27m ago•0 comments

Planes are still decades away from displacing most bird jobs (2022)

https://guzey.com/ai/planes-vs-birds/
1•surprisetalk•27m ago•0 comments

The old traffic math that keeps destroying neighborhoods

https://www.fastcompany.com/91362348/road-design-traffic-math-destroying-neighborhoods-los
1•toss1•28m ago•0 comments

Show HN: I made a tool that gets you customers from Reddit

https://www.bazzly.ai/
1•FilipPanoski•28m ago•1 comments

Show HN: Stravu – Editable, multi-player AI notebooks with text, tables, diagram

3•wek•28m ago•0 comments

Sweet or sour? AI powered device achieves human-like sense of taste

https://www.nature.com/articles/d41586-025-02158-w
2•rntn•28m ago•0 comments
Open in hackernews

Astro is a return to the fundamentals of the web

https://websmith.studio/blog/astro-is-a-developers-dream/
168•pumbaa•5h ago

Comments

tomashubelbauer•4h ago
I misread the title and was quite confused about when the F* programming language connection will take a stage in the article. Spoiler alert: it never does, because the title doesn't make a reference to the F* programming language :D
diggan•4h ago
I'm still a bit dumbfounded, what is the F* a reference to if not the language? Maybe just a typo for some other abbreviation?
stevoski•4h ago
F$&@ing
diggan•4h ago
Ah man do I feel dumb now. I guess F/F#/F* hurt me in some way, because now it's obvious, guess I've never seen it written like that. Thanks!
andybak•4h ago
> Traditional frameworks hydrate entire pages with JavaScript. Even if you've got a simple blog post with one interactive widget, the whole page gets the JavaScript treatment. Astro flips this on its head. Your pages are static HTML by default, and only the bits that need interactivity become JavaScript "islands."

I guess I'd argue "Traditional Frameworks" were the ones that never stopped doing this. Laravel, Django, Rails etc. Then the SPA frameworks came along and broke everything.

Also - what on earth is "f*"? I originally assumed it was shorthand for "fuck" but is "fuck dream" a common expression? And wouldn't you normally write it as "f***"?

jpc0•4h ago
> Also - what on earth is "f"? I originally assumed it was shorthand for "fuck" but is "fuck dream" a common expression? And wouldn't you normally write it as "f*"

I would thinking F**ing, to delve deeper into the meta discussion

flir•4h ago
I'm reminded of the fat client vs thin client pendulum. Everything old is new agian.
dang•4h ago
I've replaced the submitted title ("Astro is a developers f* dream") with a representative sentence from the article.
andybak•4h ago
thank you. it was a horrible title
thibaultamartin•4h ago
I can only approve. To me Astro started as "it's just html and css but with includes."

I used it for my personal website, and recently used it when reimplementing the Matrix Conference website. It's really a no-fuss framework that is a joy to use.

Among the things I love about Astro:

- It's still html and css centric - Once built, it doesn't require js by default - You can still opt-into adding js for interactivity here and there - Content collections are neat and tidy - Astro massively optimizes for speed, and the maintainers know how to do it - It had a very helpful devbar to help you visually figure out what easy fix can make your website snappier (like lazily loading images if it detects them below the fold)

For the "optimize for speed" bit, an example is that the css minifier cleverly inlines some CSS to avoid additional queries. The Image component they provide will set the width and height attribute of an image to avoid content layout shifts. It will also generate responsive images for you.

diggan•4h ago
> - It's still html and css centric - Once built, it doesn't require js by default - You can still opt-into adding js for interactivity here and there

I've never used Astro so forgive my ignorance, but isn't that just creating a .html file, a .css file and then optionally provide a .js file? What does Astro give you in this case? You'd get the same experience with a directory of files + Notepad basically. It's also even more optimized for speed, since there is no overhead/bloat at all, including at dev-time, just pure files, sent over HTTP.

> an example is that the css minifier cleverly inlines some CSS to avoid additional queries

Is that a common performance issue in the web pages you've built? I think across hundreds of websites, and for 20 years, not once have "CSS queries" been a bottleneck in even highly interactive webpages with thousands of elements, it's almost always something else (usually network).

thibaultamartin•4h ago
Fair questions.

For the first one, the main benefits of Astro over static html and css (for my use cases) are the ability to include components and enforce the properties that must be passed. A typical example would be [here][0] where I define a layout for the whole website, and then [on each page that uses it](https://github.com/matrix-org/matrix-conf-website/blob/main/...) I have to pass the right properties. Doable by hand, but it's great to have tooling that can yell at me if I forgot to do it.

Content Collections also let me grab content from e.g. markdown or json and build pages automatically from it. The [Content Collections docs][1] are fairly straightforward.

As for performance issues, I've spent quite a bit of time on the countryside where connectivity was an issue and every extra request was definitely noticeable, hence the value of inlining it (you load one html file that has the css embedded, instead of loading an html file that then tells your browser to load an extra css file). The same can be true in some malls where I live.

[0]: https://github.com/matrix-org/matrix-conf-website/blob/main/... [1]: https://docs.astro.build/en/guides/content-collections/

mbirth•2h ago
Embedded CSS circumvents proper caching of the CSS. Also, with HTTP/2 your client can download several resources in one transaction. So, it shouldn’t make much of a difference with CSS embedded or separate. Just, that embedded CSS has to be loaded over and over again whereas a separate file can be cached and reused from the local cache.
weego•3h ago
My one criticism which is why I ditched it for now is complex routing gets confusing and abstract quickly.

I don't know that there's a serious solution to it because complexity can't come with zero friction but just my gut feeling was to back out and go with something else for now.

diggan•4h ago
> Traditional frameworks hydrate entire pages with JavaScript. Even if you've got a simple blog post with one interactive widget, the whole page gets the JavaScript treatment. Astro flips this on its head. Your pages are static HTML by default, and only the bits that need interactivity become JavaScript "islands."

Back in my days we called this "progressive enhancements" (or even just "web pages"), and was basically the only way we built websites with a bit of dynamic behavior. Then SPAs were "invented", and "progressive enhancements" movement became something less and less people did.

Now it seems that is called JavaScript islands, but it's actually just good ol' web pages :) What is old is new again.

Bit of history for the new webdevs: https://en.wikipedia.org/wiki/Progressive_enhancement

chrisldgk•4h ago
I agree with that it’s not a new concept by itself, but the way it’s being done is much more elegant in my opinion.

I originally started as a web developer during the time where PHP+jQuery was the state of the art for interactive webpages, shortly before React with SPAs became a thing.

Looking back at it now, architecturally, the original approach was nicer, however DX used to be horrible at the time. Remember trying to debug with PHP on the frontend? I wouldn’t want to go back to that. SPAs have their place, most so in customer dashboards or heavily interactive applications, but Astro find a very nice balance of having your server and client code in one codebase, being able to define which is which and not having to parse your data from whatever PHP is doing into your JavaScript code is a huge DX improvement.

diggan•4h ago
> Remember trying to debug with PHP on the frontend? I wouldn’t want to go back to that.

I do remember that, all too well. Countless hours spent with templates in Symfony, or dealing with Zend Framework and all that jazz...

But as far as I remember, the issue was debuggability and testing of the templates themselves, which was easily managed by moving functionality out of the templates (lots of people put lots of logic into templates...) and then putting that behavior under unit tests. Basically being better at enforcing proper MVC split was the way to solve that.

The DX wasn't horrible outside of that, even early 2010s which was when I was dealing with that for the first time.

leetrout•4h ago
Bingo.

Modern PHP development with Laravel is wildly effective and efficient.

Facebook brought React forth with influences from PHPs immediate context switching and Laravel’s Blade templates have brought a lot of React and Vue influences back to templating in a very useful way.

Vinnl•3h ago
Well, that's a way to manage server-side logic, but your progressively-enhanced client-side logic (i.e. JS) still wasn't necessarily easy to debug, let alone being able to write unit tests for them.
diggan•2h ago
> but your progressively-enhanced client-side logic (i.e. JS) still wasn't necessarily easy to debug, let alone being able to write unit tests for them

True, don't remember doing much unit testing of JavaScript at that point. Even with BackboneJS and RequireJS, manual testing was pretty much the approach, trying to make it easy to repeat things with temporary dev UIs and such, that were commented out before deploying (FTPing). Probably not until AngularJS v1 came around, with Miško spreading the gospel of testing for frontend applications, together with Karma and PhantomJS, did it feel like the ecosystem started to pick up on testing.

evantbyrne•1h ago
There wasn't as much JS to test. I built a progressively-enhanced SQLite GUI not too long ago to refresh my memory on the methodology, and I wound up with 50-ish lines of JS not counting Turbo. Fifty. It was a simple app, but it had the same style of partial DOM updates and feel that you would see from a SPA when doing form submissions and navigation.
Vinnl•1h ago
Not usually, but in the context of

> Astro find a very nice balance of having your server and client code in one codebase, being able to define which is which and not having to parse your data from whatever PHP is doing into your JavaScript code is a huge DX improvement.

the point is pretty much that you can do more JS for rich client-side interactions in a much more elegant way without throwing away the benefits of "back in the days" where that's not needed.

steve_taylor•4h ago
Back in your day, there wasn’t a developer experience by which you could build a website or web app (or both) as a single, cohesive unit, covering both front-end and back-end, while avoiding the hydration performance hit. Now we have Astro, Next.js with RSC, and probably at least a dozen more strong contenders.
hasanhaja•3h ago
> there wasn’t a developer experience by which you could build a website or web app (or both) as a single, cohesive unit, covering both front-end and back-end

How much of the frontend and how much of the backend are we talking about? Contemporary JavaScript frameworks only cover a narrow band of the problem, and still require you to bootstrap the rest of the infrastructure on either side of the stack to have something substantial (e.g., more than just a personal blog with all of the content living inside of the repo as .md files).

> while avoiding the hydration performance hit

How are we solving that today with Islands or RSCs?

steve_taylor•1h ago
It can cover as much of the back-end that your front-end uses directly as you’d care to deploy as one service. Obviously if you’re going to have a microservices architecture, you’re not going to put all those services in the one Next.js app. But you can certainly build a hell of a lot more in a monolith that a personal blog serving a handful of .md files.

In terms of the front-end, there’s really no limit imposed by Next.js and it’s not limited to a narrow band of the problem (whatever that gibberish means), so I don’t know what you’re even talking about.

> How are we solving that today with Islands or RSCs?

Next.js/RSC solves it by loading JavaScript only for the parts of the page that are dynamic. The static parts of the page are never client-side rendered, whereas before RSC they were.

diggan•2h ago
> build a website or web app (or both) as a single, cohesive unit, covering both front-end and back-end, while avoiding the hydration performance hit.

Isn't that basically just what Symfony + Twig does? Server-side rendering, and you can put JS in there if you want to. Example template:

    <html>
        <head>[...]</head>
        <body>
            {% if user.isLoggedIn %}
                Hello {{ user.name }}!
            {% endif %}
        </body>
    </html>
The syntax is horrible, and seeing it today almost gives me the yuckies, but seems like the same idea to me, just different syntax more or less. I'm not saying it was better back then, just seems like very similar ideas (which isn't necessarily bad either)
d42muna•1h ago
WebObjects.

That is a perfect description of it, released 1996. So far ahead of its time it’s not even funny. Still one of the best programming environments I’ve ever used almost <checks calendar> 30 years later.

archerx•4h ago
I remember when it was called AJAX. We have completely lost the plot.
0x445442•2h ago
It's why Alan Kay calls our industry a Cargo Cult and says it's much more akin to the fashion industry than engineering.
zoom6628•1h ago
Absolutely.
nchmy•1h ago
Htmx and, even moreso, Datastar have brought us back on track. Hypermedia + Ajax with whatever backend language(s)/framework(s) you want. Whereas astro is astro.
ksec•1h ago
I remember it was called DHTML. ( And the code never works perfectly on IE and Netscape / Mozilla )
api•3h ago
This field (software) in general, and especially web stuff, has no memory. It’s a cascade of teens and twentysomethings rediscovering the same paradigms over and over again with different names.

I think we are overdue for a rediscovery of object oriented programming and OOP design patterns but it will be called something else. We just got through an era of rediscovering the mainframe and calling it “cloud native.”

Every now and then you do get a new thing like LLMs and diffusion models.

rambambram•3h ago
This. So much this. I'm not even 42 and I feel old when I read stuff like this. Like you say, there's no memory in the web software field.
api•3h ago
Wasted effort reinventing things and rediscovering their limits and failure modes is a major downside of the ageism that is rampant in the industry. There is nobody around to say “actually this has been tried three times by three previous generations of devs and this is what they learned.”

Another one: WASM is a good VM spec and the VM implementations are good, but the ecosystem with its DSLs and component model is getting an over engineered complexity smell. Remind anyone of… say… J2EE? Good VM, good foundation, massive excess complexity higher up the stack.

omnimus•2h ago
Even if you are 10 years younger than you and youve been doing it webdev in your late teens you’ve seen like three spins of the concepts wheel to come back again and again.
daotoad•56m ago
Software engineering/development has had a long September.

https://en.wikipedia.org/wiki/Eternal_September

skipchris•3h ago
Agreed! Astro is fantastic, but the biggest barrier I had in learning it was getting my head around range of terms that developers who entered the workplace after 2010 have invented to describe "how the web works".
rubyfan•2h ago
I really appreciate that innovation can sometimes reinvent things that exist out of pure ignorance and sometimes hubris. I’ve seen people turn mountains out of molehills that take on a lore of their own and then along comes someone new who doesn’t know or is a little too sure of themselves and suddenly the problem is solved with something seemingly obvious.

I’m not sure javascript islands is that but I appreciate a new approach to an old pattern.

z3t4•3h ago
The first web frameworks really got it right with stateless websites and server rendering.
hombre_fatal•1h ago
You're making the opposite mistake: you're seeing someone's description of a tool's feature and confusing it with the way we've already done things without even checking if the tool is transformative just because it kinda sounds similar.

Astro's main value prop is that it integrates with JS frameworks, let's them handle subtrees of the HTML, renders their initial state as a string, and then hydrates them on the client with preloaded data from the server.

TFA is trying to explain that value to someone who wants to use React/Svelte/Solid/Vue but only on a subset of their page while also preloading the data on the server.

It's not necessarily progressive enhancement because the HTML that loads before JS hydration doesn't need to work at all. It just matches the initial state of the JS once it hydrates. e.g. The <form> probably doesn't work at all without the JS that takes it over.

These are the kind of details you miss when you're chomping at the bit to be cynical instead of curious.

braebo•4h ago
Astro is a fantastic project that I would probably use more if SvelteKit didn’t exist (but it does, so Astro is always a downgrade).
steve_taylor•4h ago
I was all in on SvelteKit until I noticed weird CSS issues thanks to :global.
pier25•1h ago
Sveltekit doesn’t have islands. That single feature puts Astro ahead in situations where you don’t want an spa.
poushkar•4h ago
I am feeling old reading the phrase "traditional frameworks" as a reference to SPA/Virtual DOM frameworks all while the actual traditional frameworks like Backbone, jQuery, etc. actually worked the way described in the blogpost.
diggan•4h ago
"Traditional" always been a measure that depends on when we were born. "Traditional" internet for me is 56kbit modems, vbulletin forums, GTA:VC modding and IRC, while for older people "traditional" internet is probably BBS and such, and for the younger crowd things like Discord is part of the "traditional" internet.

You see the same thing in political conservative/traditional circles, where basically things were good when they were young, and things today are bad, but it all differs on when the person was born.

coldtea•1h ago
>You see the same thing in political conservative/traditional circles, where basically things were good when they were young, and things today are bad, but it all differs on when the person was born

when things decline that's still an accurate represenation, not just an artifact of subjectivity

sesm•1h ago
I remember Backbone being pure SPA-focused with client-side MVC.
teekoiv•4h ago
It's baffling to me why more SSR frameworks, Astro and NextJS namely, can't adopt static pages with dynamic paths like SvelteKit. So for example, if you have a page /todos/[todoId] you can't serve those in your static bundle and NextJS straight-out refuse building your app statically.

Whereas with SvelteKit, it builds happily and does this beautiful catch-all mechanism where a default response page, say 404.html in Cloudflare, fetches the correct page and from user-perspective works flawlessly. Even though behind the scenes the response was 404 (since that dynamic page was never really compiled). Really nice especially when bundling your app as a webview for mobile.

arminluschin•4h ago
I’m also a big fan of static, and nextjs supports this: https://nextjs.org/docs/app/api-reference/functions/generate...
teekoiv•2h ago
It doesn't. Those are executed build-time and you can't just set a wildcard so anything outside the given set results in 404.

As background, I wanted to make a PoC with NextJS bundled into a static CapacitorJS app somewhat recently and had to give up because of this.

You can try tricking NextJS by transforming the pages into "normal" ones with eg query parameters instead of path, but then you need complicated logic changing the pages as well as rewriting links. As you of course want the normal routes in web app. Just a huge PITA.

littlecranky67•1h ago
Not sure why you gave up. All you need to do, is use query params: /todo?id=123 and use `const { id } = useSearchParams()` in your code. Yes, the urls won't be that pretty, but I don't know if this is a road block. I have a NextJS webapp up and running that is 100% SPA (no SSR, full static export) and uses a C#/.NET REST Backend for data [0]. Works (almost) flawlessly.

[0]: lockmeout.online

steve_taylor•4h ago
You can indeed do that with Next.js. In the app router, it’s called generateStaticParams. In the pages router, it’s getStaticProps.
pheew•2h ago
This isn't the same as getStaticProps is evaluated at build time not runtime
dschuessler•4h ago
Maybe I am misunderstanding you, but isn't this what Astro's `getStaticPaths`[0] function is for?

[0]: `https://docs.astro.build/en/guides/routing/#static-ssg-mode

threetonesun•3h ago
I think since they used [todoId] in the example they mean a static page which does not exist at build time. Which both can do, it’s called ISG (or on-demand in the Astro docs), but it requires a server to work, or you can create a static route that accepts any parameters and pass those to JavaScript to run on the client.
teekoiv•2h ago
Yeah, what the other commenter said. getStaticPaths still requires you to define the rendered routes build-time
nchmy•1h ago
I might not be understanding you (or the various frameworks) completely, but are Astro's server Islands what you're looking for?

https://docs.astro.build/en/guides/server-islands/

littlecranky67•1h ago
I partly agree with you, but it is a design decision that comes with a drawback. A URL /todos/123 cannot be resolved in a SPA in a hard-reload. I.e. if a user were to bookmark /todos/123 or press reload in the browser, the browser would ultimately ask the underlying HTTP server for that file. As you mentioned, you would need a 404 page configured to fetch that - but that requires a configuration in the HTTP server (nginx etc.). So you are not just a static html+js+css+images deploy, you always will need server support. Another issue is, that 4xx errors in the HTTP spec are treated differently than 2xx: most notably, browsers are NOT allowed to cache any 404 responses, no matter what response header your server sends. This will ultimately mean, those /todo/123 bookmarks/hard-reloads will always trigger a full download of the page, even though it would be in the cache. And again, you would always need support in the web server to overwrite 404 pages. While the current NextJS output can be just deployed to something like github-pages or other webspace solutions.

Now, these are just the limitations I can think of, but there are probably more. And to be fair, why "break" the web this way, if you can just use query params: /todo?id=123. This solves all the quirks of the above solution, and is exactly what any server-side app (without JS) would look like, such as PHP etc.

ansc•4h ago
>See that code fence at the top? That runs at build time, not in the browser. Your data fetching, your logic - it all happens before the user even loads the page.

I can't with this goddamn LLM blog posts, it just drowns everything.

esseph•4h ago
Some of us actually write like that... :/

Sucks when everything you write sounds like a bot because you're autistic.

falcor84•4h ago
I don't think it should suck at all. As I see it, RLHF empirically validated that this is the writing style people find to be the best.
esseph•4h ago
Maybe you've never been told you sound like a robot, then.

Feeling less-than-human isn't great.

owebmaster•2h ago
Are you the post author?
SideburnsOfDoom•3h ago
> Some of us actually write like that

The fact that LLMs write like that is proof of that people write like this too, as LLMS produce statistical averages of the input writings.

aaronbaugher•27m ago
It kind of surprises me that they never confuse "it's" and "its" and common mistakes like that, when it seems like most human writers today swap them randomly. I suppose that's thanks to a lot of the text in the training data predating the collapse of English education.

I'm not sure why em dashes are so popular, though. I don't think I've ever seen human writing that had as many em dashes as LLMs use.

ansc•3h ago
I doubt it to be honest. It's so distinct and non-existing.

>With Astro you're not locked into a single way of doing things. Need React for a complex form? Chuck it in. Prefer Vue for data visualisation? Go for it. Want to keep most things as simple Astro components? Perfect.

>What struck me most after migrating several projects is how Astro makes the right thing the easy thing. Want a fast site? That's the default. Want to add interactivity? Easy, but only where you need it. Want to use your favourite framework? Go ahead, Astro won't judge.

>Developer experience that actually delivers

I am downvoted so I guess I'm wrong. It's just bland and form in a way ChatGPT usually outputs. Sorry to the author if I'm wrong.

jakelazaroff•1h ago
I've never seen an LLM use this sort of socratic writing style.
falcor84•4h ago
What does this have to do with LLMs? Are you just uncomfortable with dashes?
ansc•3h ago
You're not just venting about me being uncomfortable with dashes — you are making a philosophical claim about what comfortability really means. And that? That is a true super-power.
fkyoureadthedoc•2h ago
The quote you posted from the article isn't even the right size of dash though. It's a hyphen, not an em dash. And an LLM would have it properly touching the surrounding text.
ttoinou•4h ago
I spent a small amount of time looking into Astro and I didn’t get the difference with the Fresh framework created by the Deno team.. ? Fresh does this Island architecture already, and benchmarks on Astro website dont include Deno+Fresh to compare. So I’m still wondering what’s the benefit of using Deno+Astro vs. Deno+Fresh
niam•2h ago
Astro and Fresh were both inspired by the islands idea which was iirc coined by an Etsy frontend architect and further elaborated on by the creator of Preact.

My understanding is that Astro is able to more-or-less take a component from any combo of popular frameworks and render it, whereas Fresh is currently limited to just Preact via Deno. I think the limitation is to optimize for not needing a build step, and not having to tweak the frameworks themselves like Astro does (did?).

I'm not affiliated; I've just looked at both tools before.

pier25•1h ago
There are plenty of differences. Eg Fresh can only run on Deno and can only use Preact.
rckt•4h ago
> I've found Astro perfect for marketing sites, blogs, e-commerce catalogues, and portfolio sites

Basically, not suitable for anything complex.

btbytes•4h ago
The number of web projects that fall into these categories vastly outnumber “complex” projects. For complex there is always WASM.
hasanhaja•40m ago
Yeah, this is my gut-feeling too! Because the alternative for "complex" being discussed is Next.js, but that doesn't really help you with "complex" applications, and you still have to bootstrap a lot of infrastructure yourself (with dependencies, or by yourself).
dschuessler•4h ago
I find it sad that Astro advertises itself this way, because I think that it is perfectly capable of building web projects of any complexity, simply by means of the component libraries you can plug in.

What makes it so great is not that it serves a particular niche (like "content-driven websites") but that it provides a developer experience that makes it incredibly easy to scale from a static website to something very complex and interaction-heavy without compromising UX.

paintbox•3h ago
That's the point. It's a war on recentish industry standard to develop all projects using same tools made by/for huge organizations working on huge projects.

Same thing happened with microservice architecture.

willtemperley•2h ago
You could have React in one Astro island and SvelteKit in another. That's complex enough.
hasanhaja•43m ago
What do you mean by complex?
progx•4m ago
More than a blog or a simple static website.
sublinear•4h ago
> When I say Astro sites are fast, I mean properly fast. We're talking 40% faster load times compared to traditional React frameworks.

That's a really low bar. Why not static pages? Why even use a framework at all if you're thinking of using Astro?

dschuessler•4h ago
Per default, Astro generates static pages. So it makes sense to compare it to an approach that doesn't.

Using a framework has upsides over writing static pages manually. Most notably, you can decompose your website into reusable components which makes your implementation more DRY. Also, you can fluently upgrade to a very interaction-heavy website without ever changing tech or architecture. But that's just what I value. I whole-heartedly recommend trying it out.

zffr•4h ago
How do you do server-side rendering without a framework?

If you use static pages, how do you make sure that shared UI like navbars all update if you decide to make a change?

rossant•3h ago
Static site generators?
input_sh•3h ago
Pretty much every static site generator has an option of splitting a page into reusable components, so something like:

    <html>
        {% include "components/head.html" %}
        <body>
            {% include "components/navbar.html" %}
            ...
        </body>
    </html>
Some even allow you to pass variables, so something like:

    {% include "components/button.html" text="example" url="https://example.com" %}
pier25•1h ago
Using old school template partials is a massive downgrade in dx compared to Astro components.
hasanhaja•47m ago
What about DX in terms of template execution speed? There are many implementations of template fragments on various platforms like Go and Rust [1], which might arguably perform better than their JavaScript counterparts. Wouldn't quicker execution give you a faster feedback loop when developing, and also give you a faster UX?

[1] https://htmx.org/essays/template-fragments/#known-template-f...

rasmus1610•4h ago
I recently build a website for a medical practice using Astro.

I was amazed by how easy it was compared to my experience with Wordpress for this several years ago.

And I can host it for free on something like Netlify and I don’t need to worry about the site being hacked, like with WP.

I even built a very simple git-based CMS so that the client can update the content themselves.

Web dev has really come a long way, despite what a lot of people say.

ewuhic•4h ago
Were you commissioned by a friend? How does one find a gig building a medical practice website?
rasmus1610•2h ago
I’m a doctor myself and thus have contacts to people having medical practices :)

But at least in Germany there are some agencies doing nothing else.

steve_taylor•4h ago
Be careful with Netlify. Their bandwidth charges are even more egregious than Vercel’s.
rustc•3h ago
> Be careful with Netlify. Their bandwidth charges are even more egregious than Vercel’s.

$550/TB for those who want to save a search.

rasmus1610•2h ago
Yes, good point. Although the traffic for these websites is so small, that I think I‘m good there for a long time.
pjmlp•4h ago
Fundamentals of the Web haven't gone away, anyone still coding across PHP, Spring, Quarkus, ASP.NET MVC hasn't noticed that much how bad things have become with JS frameworks.

Unfortunately in fashion driven industry, it isn't always easy to keep to the basics.

camillomiller•4h ago
>> See that code fence at the top? That runs at build time, not in the browser. Your data fetching, your logic - it all happens before the user even loads the page. You get brilliant TypeScript support without any of the complexity of hooks, state management, or lifecycle methods.

This is satire, right? If only there was any other server side language that could do the same and produce static compliant super-light HTML-first pages!

tajd•4h ago
I ported my personal website from Jekyll to Astro a few weeks back and I really liked it. Astro is much easier to build and extend for me (and that is a personal preference point - I (and by I mostly mean claude) - and it's cool to add react components in to create more interactive points (but I haven't deployed that element yet).

Speed is probably the same as jekyll - but relative to my react vite and nextjs apps it's about 10 times faster.

I would definitely use Astro for more complicated websites than content driven - but would probably return to nextjs or more hefty full stack solutions for complicated web apps.

hasanhaja•57m ago
Do you have an intuition of when something becomes hefty and complicated, and would require a full stack solution like Next.js?
kh_hk•3h ago
To me no, it's not. It works well for some of the use cases, but if all you needed was offline rendering of your js in a build step to generate static html then you really didn't need all that js to begin with. islands work until they don't, and a lot of stuff gets inlined too. I guess it's fine if you stop caring about the final build.

I feel a lot of the hype around Astro has more to do with vite than anything else. And there yes, without doubt, vite is amazing.

rustc•3h ago
> islands work until they don't

Like when?

kh_hk•1h ago
Setting `client:load` and `client:visible` for (svelte) islands you want to run on the client ends up inlining script type modules all around the html. It looked like a big hack to me.

On the positive side their use of web components is a nice bet.

rustc•36m ago
And does it break something? I was replying to "islands work until they don't".
kh_hk•7m ago
It breaks the third wall.
lpln3452•3h ago
I've only heard of Astro before, but I got interested today and it seems like an intriguing framework.

That said, Astro also seems to be developed under a venture-backed company. Is it still less likely to end up like Next.js and React under Vercel's influence?

Zealotux•3h ago
Please stop recommending Next.js as the de facto React framework, we need some critical thinking back into front-end. Remix (React Router v7) or TanStack are much better alternatives.
vidyesh•3h ago
Remix/React Router v7 was/is on a right path. I hope whatever they are planning with Remix with preact and using web standards will bring back the robust way of building websites.

I did not like how Remix to RR7 transition was made though, my project built using Remix was not an easy upgrade and I am rewriting a lot of it on RR7 now.

Zealotux•3h ago
Absolutely agree, the Remix/RR7 move was awkward and they have a thing for breaking changes, TanStack seems more reasonable on that part.
marcosscriven•3h ago
Does this have any advantage over something like Hugo, for a static only website?
yakshaving_jgt•3h ago
Gotta say, even as a programmer, my "f* dreams" don't involve programming.
ygritte•3h ago
For me, a return to web fundamentals would include not having to use NPM.
pentagrama•3h ago
But it has a CMS? The author said that replaced WordPress sites with Astro, and on https://astro.build/ I see a comparison to WordPress.

Astro brings a friendly UI to maintain and update the sites? Like the WordPress panel and editor.

abound•3h ago
Not sure if anything major has changed recently, but I think you bring your own CMS. I've used Astro successfully with Strapi, for example.
Y-bar•37m ago
If they need to bring in a CMS to edit content and juggle assets they could have used Wordpress in headless mode, which the customer was already used to…

Eg. https://www.gatsbyjs.com/docs/glossary/headless-wordpress/

rob•2h ago
It doesn't, which is why all these solutions breakdown long-term compared to things like WP for small biz brochure stuff. 5 to 10 years from now when you're no longer talking to your client who has absolutely no technical experience, they're not gonna know that their website code is in some random GitHub repository that needs to be compiled with vite and then you need to magically wait for Netlify/etc to pull in your changes. They'll probably be fuming they have to find a developer that knows how to edit and manage that compared to something like WordPress which is used for the majority of those websites.
pier25•1h ago
It would be cheaper to hire a dev to update some content than to pay a wp host for 5-10 years.
fuzzy_biscuit•3h ago
Astro didn't introduce island architecture.
pier25•1h ago
But it certainly popularized it.
richardfey•3h ago
Reminds me of Zola (https://www.getzola.org/), which was a step up from Hugo for me.
account-5•2h ago
I this not similar to htmx?
nchmy•1h ago
Htmx is just a js library that helps with Ajax. Astro runs on your server to largely do static site generation, and also has htmx-like capabilities.

I prefer htmx and, better yet, datastar as they're backend-agnostic.

jadbox•44m ago
Why do you prefer datastar vs htmx? Afaik htmx tends to allow progressive enhancement without JS, while datastar requires JS to work.
nchmy•25m ago
Htmx IS JavaScript...

Datastar does everything htmx does and much more. And, iirc, is also smaller. Just explore their site, docs, essays etc

mediumsmart•2h ago
I have returned to the fundamentals of the web and there is no sign of Astro here let alone JavaScript.
nchmy•1h ago
What are you using?
user____name•2h ago
How is this different from something like PHP? I don't get it.
shreddit•1h ago
It’s actually a lot like php, just without the php language stuff.

It’s php for javascript devs?

nchmy•1h ago
The difference, it seems to me, is that astro is a framework and, specifically, meant for server side generated static pages with a bit of dynamic elements in them. I don't think it is all that capable of doing highly dynamic SSR apps (though their server Islands might make that possible? https://docs.astro.build/en/guides/server-islands/)

And, also, "php" in your question could be ruby, go, C or anything else that runs on the server.

I prefer htmx or, better yet, Datastar which are both small, backend agnostic, js libraries for making ssr html interactive to varying degrees. You could, in theory, use astro with them but probably better to just use something else.

aembleton•8m ago
PHP needs to be hosted on a server that can parse PHP. Astro generates HTML so can be hosted anywhere that can serve HTML.
donatj•2h ago
The title change lead to a bit of an unexpected jolt, I assumed I'd clicked on the wrong link. I'm not sure where that falls on the guidelines though given the circumstances.
aswerty•1h ago
It's clear to me that the frontend conversation space is broken. Not even just the ecosystem being a mess.

Boiling down the conversation I see in the article, it just seems to be: the browser as a HMI vs the browser as a an application runtime. Depending on what you want to do one might be a better fit than the other. But the points it puts forward are fluff arguments like "it's a breadth of fresh air" or "it loads faster".

It's difficult to articulate the source of just how broken the discussion space is; nor have I made a particularly strong argument myself. But I think it's important to keep pushing back on conversations that position framework's like they are brands winning hearts and minds. Ala the fashion industry.

nchmy•1h ago
"Loads faster" is fluff? How so?
deltarholamda•46m ago
Write some straight HTML pages and serve it from bog standard Apache. Heck, get really fancy and do some server-side includes for your CSS or something.

It's really fast, you can edit it with Notepad, and you can probably saturate your bandwidth with a consumer level PC.

It's fluff because, well, our expectations are so unbelievably low. By the time you've bolted on every whizbang dingus leveraging four different languages (two of which are some flavor of Javascript), your twelve page site takes a couple of minutes to compile (what?), and it chokes your three load-balanced AWS compute nodes.

Web applications are hard. I get that. Web sites? They were, by design, incredibly simple. We make them complicated for often unclear reasons.

I appreciate what the Astro folks are trying to do, and it's very clever. But your basic Web site need not require freaking npm in order to "return to the fundamentals of the Web".

nchmy•21m ago
But astro literally generates straight html which can be cached wherever you want...

As for build time, I don't have a clue - I haven't used astro (and don't plan to. Datastar + whatever backend framework you want is better). But I'm generally in favour of the direction they're bringing JS frameworks.

aembleton•20m ago
Astro will generate those HTML pages you can serve 'from bog standard Apache'.

You can then use all of those npm packages to do whatever processing on your data that you want to do to generate the content and the pages and then just serve it as HTML.

I'm a backend dev, but Astro is the first time a front end framework has made sense to me for years. It fits my mental model of how the web works - serving up HTML pages with some JS just like we did 20 years ago. Its just that I can have it connect to a DB or an API to pull the data at build time so that I can have it generate all of the pages.

bob1029•1h ago
> Ala the fashion industry.

The fashion industry is the best analogy I've seen so far for frontend frameworks. It's obvious that the amount of technical rigor involved with declaring something "content-driven" and "server-first" is approximately zero.

evklein•1h ago
My personal website is written with Astro. I love it! Admittedly I'm still a little trigger-happy with my JS usage, but overall the ability to write templated pages and utilize islands that don't require big dependencies is the most friendly web development experience I've had.

https://evklein.com

hiAndrewQuinn•1h ago
I've become pretty convinced everyone working in software should have a something like a static site generator somewhere in their back pocket. It could be Astro, Hugo (my choice), or even pandoc running in server mode, which is unhackable because you would have to first understand the Haskell type system to hack it. But it should be there for all the little times you just want to spin up something fast, cheap, and content-driven.
thinkindie•46m ago
What I don't understand from these conversation is the main selling proposition for Astro: if you have a content-heavy website, you should ship zero Javascript. And I agree with that, most of the websites heavy in content will at most have a couple of pages consumed in a single session.

But if my "website" is an application, Javascript makes the whole user experience better, if implemented well. It doesn't matter that the user will wait for 1 more second if they will have to spend the entire day working on it.

sktrdie•23m ago
Next.js hydrates only client components - so effectively it's doing island architecture. And it's react end to end. How's that different from Astro? Stating things like "Components without the complexity" doesn't really mean anything unless you do some comparisons?