frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Show HN: I reinvented PHP in TypeScript (demo)

https://github.com/vseplet/morph
25•vseplet•12mo ago
I built Morph, an experimental fullstack HTML-first library for Deno, Node, and Bun.

Everything returns HTML, not JSON. No React, no Vite — just plain HTML with server-side rendering.

No build steps, no preprocessors, no complex configs — everything runs from a single file.

Perfect for Telegram Web Apps, internal tools, simple admin panels, dashboards, or anywhere a full-blown SPA feels like overkill.

Important: I built this entirely for myself — to solve my own problems. I hate complex frontend. I hate writing it. And I don’t want to waste time on it. But maybe it’ll help you too.

Comments

askonomm•11mo ago
So this is supposed to be following the practices that were common in PHP ten years ago? Modern PHP is not written in such a way where business logic is mixed with templating. For good reason.
bovermyer•11mo ago
For applications you're right.

For trivial scripts, though, that practice is still pretty common. You don't necessarily need Twig or whatever if you just need a script to spit out the rows from a single database query.

al_borland•11mo ago
Not everything is a big web app. Applying this separation of concerns to everything, and assuming everything will scale into Facebook, brings a lot of needless complexity into what should be simple little pages. Old PHP was great at that, and still is. I’m continually shocked that it has seemed to be the only game in town for decades. It seems like such an obvious use case. Maybe this is a testament to how well PHP solve this space, despite catching a lot of flack online. Similarly to this project, PHP also started out of the developer’s need to manage his Personal Home Page, not large scale enterprise apps.

So many people talk about missing the old Internet and the virtues of the small web, and breaking free from platforms… then at the same time speak out against the tools that allow a person to start small and dip their toe into the water of web development, without needing to spend several months in a boot camp for a few lines of server side code.

oaiey•11mo ago
My naive question: so if I have node, express, and JS tagged template literals. Is not that what PHP does. Route some url to a html interpolated with code.

What is the add-on from this library? The only thing I read out of it, is some css and other templating benefits. Which is not the essence of PHP. The essence of PHP is that you mix html and code (which many JS tagged templates support).

This goes more in the direction of component oriented development (e.g. what Blazor does... even Angular). So my rant is about comparing it with PHP.

Not a node & browser dev, but I have my past in PHP and currently some Blazor.

Oxodao•11mo ago
php has not been "mix html & code" for the last 10 years if you use it properly
ZYbCRq22HbJ2y7•11mo ago
You mean that the general patterns that people implement when using PHP changed. The language hasn't changed in a fundamental way that prevents it from being utilized in this way.
Oxodao•11mo ago
Yes
ipaddr•11mo ago
No it's still proper to mix html and php code. You could always use a templating language like smarty 20 years ago so if it wasn't proper 10 years ago it wasn't proper 20 years ago. The truth is <=$variable?> is very readable.
Oxodao•11mo ago
The issue is not the readability, it's that you don't handle how your stuff is sent. Using php as a template language, it starts to send everything until it reaches a Php tag to be executed.

That's why people taught each other that "you absolutely need to make session_start at the beggining of your file". No you don't, but since afterward the content starts to be sent the headers are already too.

I'm not saying you absolutely need to use a framework, but you should have only one echo in your requests.

I've never said the syntax you're saying is bad, I mean pretty much any templating language such has Twig uses this kind of stuff. The issue I have with this is how it works behind the scenes

bdcravens•11mo ago
You should call it NodeFusion
PetahNZ•11mo ago
I think this misses one of the main selling points of PHP, the shared nothing, single thread, fire and forget methodology that I can throw behind a load balancer and spin up 100 servers.
ChocolateGod•11mo ago
You can probably use something like https://www.cgi-node.org/ to get close to the PHP model in the JS world.

But, I wouldn't be surprised if its slower than PHP due to the overhead of starting up NodeJS for each request, as PHP has been optimised to have fast start times.

WorldMaker•11mo ago
This project is suggesting Deno, which has rather different startup characteristics to Node, and tuned for Deno Deploy which is already a "serverless" scale-to-zero/scale-as-many-as-you-need-behind-a-load-balancer deployment host. Deno Deploy is a proprietary solution, of course, but not alone in the growing world of JS-based "serverless" (Netlify, Vercel, Cloudflare Edge, and more).
ZYbCRq22HbJ2y7•11mo ago
PHP can be multi-threaded, share many things. So can nodejs.
DonHopkins•11mo ago
PHP is a templating languages designed to be so inadequate that you have to implement other templating languages in it.

https://news.ycombinator.com/item?id=32961202

>PHP was already a templating language, but somebody got it in their head that there should be an iron-clad separation between designers and programmers, and that PHP gave designers too much power and confused them, and that their incompetent untrustworthy designers who refused to learn anything about programming deserved something even "simpler" than PHP, so they came up with Smarty.

>Then over time the realized that their designers were powerless, so their programmers would have to learn TWO languages so they could wade into the Smarty templates to make them actually work with all the extra code they had to write because Smarty was so crippled, so they nickle-and-dimed more and more incoherent programming language elements into Smarty, making it EVEN HARDER to use and more complicated and less consistent than PHP, yet nowhere near as powerful.

askonomm•11mo ago
Modern PHP is not a templating language. It can be, much like many other languages can be, but it's not how it is used. Most other languages also implement their own templating languages. Have you seen modern PHP ... I don't know, sometime in the last 10 or so years, or is this just another circle jerk of hating on something you have little clue about?

Now if you see that as a bad thing, separating business logic and presentation, and sandboxing presentation so it has no larger access to the system, then I'm afraid you're just not a good programmer.

ZYbCRq22HbJ2y7•11mo ago
> Modern PHP is not a templating language. It can be

Modern PHP has the same capabilities as PHP 5 had, and more. There was nothing fundamental removed from the language that keeps it from being used as it was in PHP 5.

scsh•11mo ago
It didn't seem like they were suggesting otherwise?
ZYbCRq22HbJ2y7•11mo ago
Not sure we read the same thing?
cess11•11mo ago
Object-oriented PHP, i.e. PHP 5, was released in 2004. PHP 4 was killed in 2008.

Separating out templates was already something one used to do back when Laravel added Blade back in 2010-2011 sometime, in one of the first iterations of the framework. It's not like they experienced pushback because of Blade.

nusl•11mo ago
The title originally threw me off but reading the link made me quite like the idea. Keep existing skills and use them in other contexts better suited for the application.
hu3•11mo ago
Interesting pattern. This is specially nice to me:

"No build steps, no preprocessors, no complex configs".

I worked on a project recently that followed this and Devs loved it. The DX was amazing.

vseplet•11mo ago
Thank you, DX was really important for me in this project. I will add some examples and documentation in the near future, it will be cool. But writing README is very difficult for me =(

Well, I am sure that we need to develop the part with api. It already exists and works great, but lacks middlware functions and caching

lylejantzi3rd•11mo ago
A lot of people here are comparing it to PHP, but it looks more like python to me.
buttocks•11mo ago
This project is cool but the author seems to have never actually touched PHP that he compares it to.
vseplet•11mo ago
I studied it a long time ago — maybe it was even taught in college. Yeah, the comparison isn’t entirely accurate, but what I meant was the idea of merging code with its template plus rendering it all server-side right away.
gbraad•11mo ago
The selling point of PHP is the case of deployment on shared gisteren, who either use the pho module with Apache or fpm, or other CGI method. But, as a user, you do not care about this.

Just unpack, set MySQL credentials, and done.

andrewmcwatters•11mo ago
Not really. That implies that you’re running each HTTPS call as a lifetime process that starts and ends with that request, and the entire body of the JavaScript file, beginning to end is HTML with subtrees of the document including optionally some JavaScript that is synchronously run.

Respectfully, this doesn’t look anything like that at all.

fennecbutt•11mo ago
Oh my god I have to share this with my php friend ahahaha.
fpauser•11mo ago
https://www.youtube.com/watch?v=EnnpbVW7Yb8

Linux gaming is faster because Windows APIs are becoming Linux kernel features

https://www.xda-developers.com/linux-gaming-is-getting-faster-because-windows-apis-are-becoming-l...
387•haunter•3d ago•252 comments

Setting up a free *.city.state.us locality domain (2025)

https://fredchan.org/blog/locality-domains-guide/
444•speckx•8h ago•142 comments

A History of IDEs at Google

https://laurent.le-brun.eu/blog/a-history-of-ides-at-google
217•laurentlb•4d ago•172 comments

In-person examinations at Princeton will be proctored starting July 1

https://www.dailyprincetonian.com/article/2026/05/princeton-news-adpol-proctoring-in-person-exami...
178•bookofjoe•2h ago•233 comments

Medicare's new payment model is built for AI. Most of the tech world has no idea

https://techcrunch.com/2026/05/12/medicares-new-payment-model-is-built-for-ai-and-most-of-the-tec...
22•brandonb•1h ago•13 comments

Chess puzzle I found in my dad's old book

https://ardoedo.it/kempelen/
45•Eswo•2d ago•8 comments

Tell HN: Dont use Claude Design, lost access to my projects after unsubscribing

56•pycassa•1h ago•11 comments

The Emacsification of Software

https://sockpuppet.org/blog/2026/05/12/emacsification/
145•rdslw•15h ago•100 comments

MacBook Neo Deep Dive: Benchmarks, Wafer Economics, and the 8GB Gamble

https://www.jdhodges.com/blog/macbook-neo-benchmarks-analysis/
126•tosh•4h ago•90 comments

Xs of Y – roguelike that names itself every run. Written in 4kLoC

https://github.com/nooga/xsofy
136•andsoitis•3d ago•60 comments

S-100 Virtual Workbench

https://grantmestrength.github.io/S100/
90•rbanffy•7h ago•19 comments

How can Apple deal with the memory shortage?

https://asymco.com/2026/05/11/the-great-memory-panic-of-2026/
58•tambourine_man•2d ago•26 comments

Launch HN: Ardent (YC P26) – Postgres sandboxes in seconds with zero migration

https://www.tryardent.com/
55•vc289•6h ago•20 comments

The US is winning the AI race where it matters most: commercialization

https://avkcode.github.io/blog/us-winning-ai-race.html
142•akrylov•9h ago•387 comments

Twin brothers wipe 96 government databases minutes after being fired

https://arstechnica.com/tech-policy/2026/05/drop-database-what-not-to-do-after-losing-an-it-job/
243•jnord•1d ago•166 comments

Reverting the incremental GC in Python 3.14 and 3.15

https://discuss.python.org/t/reverting-the-incremental-gc-in-python-3-14-and-3-15/107014
184•curiousgal•4d ago•71 comments

A sentimental tour of late 1990s and early 2000s hacking tools

https://andreafortuna.org/2026/05/13/amarcord/
33•speckx•4h ago•12 comments

New stainless steel can survive conditions for hydrogen production in seawater

https://www.sciencedaily.com/releases/2026/05/260510030950.htm
279•HardwareLust•2d ago•135 comments

"Not Medically Necessary": Helping America's Health Insurers Deny Coverage

https://www.propublica.org/article/evicore-health-insurance-denials-cigna-unitedhealthcare-aetna-...
135•ceejayoz•4h ago•92 comments

Making the news available at no cost is a victory

https://www.sltrib.com/opinion/commentary/2026/05/12/just-days-tribune-reporting/
90•danso•3h ago•100 comments

Marco Polo: Finding a friend with only distance and motion

https://www.jackhogan.me/blog/marco-polo
3•jackhogan11•2d ago•0 comments

An idiot's guide to lead optimisation for proteins

https://magnusross.github.io/posts/protein-lead-optimisation-1/
130•magni121•2d ago•10 comments

Leaving GitHub for Forgejo

https://jorijn.com/en/blog/leaving-github-for-forgejo/
506•jorijn•10h ago•268 comments

Meta won't let you block its AI account on Threads

https://www.theverge.com/tech/929091/meta-ai-threads-account-block
57•logickkk1•2h ago•22 comments

Comparing a 1980s memory map to the Raspi Pico

https://medium.com/@noborutakahashi/a-40-year-old-memory-map-comparable-to-todays-raspberry-pi-pi...
7•Schlagbohrer•3d ago•0 comments

Preserving Fisher-Price Pixter

https://dmitry.gr/?r=05.Projects&proj=37.%20Pixter
198•dmitrygr•2d ago•39 comments

Show HN: Needle: We Distilled Gemini Tool Calling into a 26M Model

https://github.com/cactus-compute/needle
627•HenryNdubuaku•1d ago•180 comments

Substrate (YC S24) Is Hiring a Technical Success Manager

https://www.ycombinator.com/companies/substrate/jobs/T2fMBhD-technical-success-manager
1•kunle•11h ago

Exploring 8 Shaft Weaving

https://algorithmicpattern.org/2026/03/11/exploring-8-shaft-weaving/
16•surprisetalk•2d ago•0 comments

I moved my digital stack to Europe

https://monokai.com/articles/how-i-moved-my-digital-stack-to-europe/
848•monokai_nl•11h ago•522 comments