Hacker News new | ask | show | jobs
by mewpmewp2 966 days ago
I'm still yet to see something as productive as PHP for web apps, ecommerce etc.

You ask for a customised e-commerce shop with many standard features out of the box. How long will the Java or Rust engineers quote you? A year? Php? A week?

1 comments

I've been working exclusively in javascript/node since 2015 and nothing in the JS ecosystem has ever felt as productive as rails or django or laravel. Maybe it's rose tinted glasses when working on those select few projects but compared to the node ecosystem I'm bashing my head against the wall updating libraries that provide no migration docs seeing alternative solutions saying "we don't support X, sorry."

It's just all so frustrating, and I'm not even refactoring old code! It's two years old and already so brittle.

I feel like you need to have extreme patience and foresight to correctly build maintainable JS apps. Libraries people recommend today will die out very quickly. It never really felt like this in python or ruby, but I could be having a selective memory.

This has been exactly my experience as well. There were things I really liked about JavaScript and node, but in the end the lack of framework and the ridiculously fast rate of change that can bit rot a code base in six months, was enough to drive me back.

I found elixir and Phoenix to be exactly what I needed. I use it exclusively now, except for legacy apps. Phoenix is the full framework, comprehensive in what you need. Compared to rails, I like it a bit better. It fixed some of the things I didn't like about rails, such as the extreme levels of magic. Phoenix is a lot more explicit. Performance is incredible, and you get some amazing features like live view, and many others just from being on the beam VM. Definitely worth a look if you're feeling like this.

Dang I didn't mean to turn this into a sales pitch for Phoenix! NextJS has also been quite enjoyable for me. I use it for static sites, or really anything that doesn't require a database. The ability to SSG everything and just serve it with nginx is a killer feature in my opinion.

To make it worse, there are like 10 half assed frameworks claiming to be the “rails” of node.

Not a single one of those provide even a way to do translations, run a background job and most don’t even provide an ORM or a way to validate input.

It’s a freaking joke.

Have you used Next? I’ve found it more productive than anything because I can reuse the same code, DTOs, components, rendering, etc.. across server and client. It feels like I’m building a single app instead of dealing with using one code base to build the page and another to update it on the client. No extra JS frameworks needed. Plus TypeScript/ES6 is crazy productive - destructuring, structural typing, super expressive while being type safe as well. This server action stuff has made communicating with the server as easy as calling a function. So much overhead gone.
I used Next a few years ago, I'm extremely weary of proprietary frameworks. Especially those with VC funds. I've been around long enough to knows what eventually happens to those tools (the company goes bust, no one wants to maintain it, and people move to new things).

I'd be more of a fan of Vercel if they moved ownership of Next.js to the OpenJS Foundation and gave monetary support through that org instead. Obviously this would require movements to have react there as well; but if you cared about nurturing an open ecosystem it seems like the altruistic move.

I'm exploring HTMX for certain use cases at work. That library feels like the only new innovation happening in the web dev world. All the other frameworks are way too "same-y." Angular, react, svelte, solid, vue; they're all riffing off each other which is fine, but none of them really offer something completely substantial from one another. Just different syntax, with different bundle sizes, with different performance.

HTMX is just wildly different in that regard.

I think you are confusing a productive language with a productive ecosystem.

Using typescript and next maybe you are super productive writing code, but in the big scheme of things you are not productive if you have to reinvent the wheel and write your own framework.

Neither Next nor typescript will give you an integrated solution for translations, background jobs, schedules, validation, ORM, queues, file uploads, authentication, authorization, etc.

Granted, you’re super fast writing typescript but we are not talking about the same kind of productivity I think.