Ask HN: What's the lowest churn web stack?
Have you found a web stack you love that suffer from churn.
I'm starting to realise the inefficiencies in keeping JS tooling up to date is a massive drain on resources. Is there a better option?
I'm starting to realise the inefficiencies in keeping JS tooling up to date is a massive drain on resources. Is there a better option?
42 comments
[ 4.8 ms ] story [ 83.6 ms ] threadhttps://bookshelfjs.org/
Here's "An example REST API using Typescript, Koa, Bookshelf, Knex, Postgresql." https://github.com/jpchip/bookshelf_demo
Doesn't React require the latest and greatest in build tooling to make it work?
https://flutter.dev/web
https://github.com/DroidsOnRoids/flutter-roadmap
cgi-bin/ obviously. But sometimes you can get away with just public_html.
It might be harder to find people interested in working with it depending where you are, but I guarantee you that you will need a lot less people to build the same thing with lower level tools (SPAs, Go, Erlang, Rust, whatever...).
I would also say Django, but the problem with it is that it just solves the backend side of things. You will still have to find an answer for how to do the frontend as it has no opinions there (and the templating and forms stuff it has built in falls really short in my experience).
I've heard good things about php/symfony, but never used it myself.
Things that are by far superior in Rails in my opinion:
* It is a real full stack solution. From migrations to css to credentials storage to assets compilation to file uploads to rich text editing to we sockets, etc.
* Ruby might not be as popular as python, but it is a lot better designed (and a lot more consistent).
* Gems/bundler and everything about packaging works a lot better.
* The routing, controllers and validations make a lot more sense to me
The only thing I like more from django is the built in admin. Although there are also external gems for rails which provide same functionality for rails.
Then that's when you should definitely start looking to specific solutions to specific problems.
Are you having scaling/performance issues? Look into kubernetes.
Are you having problems with "too many cooks in the kitchen"? Start looking splitting things to separate services.
Are you having problems hiring "full stack" people than can work on both ruby and frontend? Then start thinking about an SPA.
That's the power of Rails.... you can get really, really far with it... when your business is a total success and you have steady income, then start looking into the specifics.
Starting from the get go with an SPA, kubernetes, microservices, monorepos, etc is, in my opinion, a recipe for failure.
(not that you have said that of course, just something I see too much around and I just take every opportunity to rant against it )
Your dichotomy of Rails vs a bunch of complicated stuff aren't the only options. We can have something like Rails minus a bunch of magic in a performant language. Maybe it's a little bit less productive at the beginning, but you're not hating life in 18 months when your team reaches 15 developers or you've got to scale.
Java/Spring's magic is just as bad with annotations and XML, but you do get better performance and types. It'd be my second choice.
> We can have something like Rails minus a bunch of magic
Examples? Because I'd be very interesting in this.
Also, in the world of web development, the magic Rails does is pretty necessary. If you're not using its magic, you're probably going to write it yourself. It just won't look as magic to yourself because you wrote it, but it will to others joining later. Except they won't have as good documentation, community, etc.
As an example, if you what to refactor a method it's impossible to be 100% confident that you've found all the places it's used. That makes it very hard to be productive as the team size grows or when you're working in legacy code bases.
I previously had a webapp built in Django, and just couldn't grok it. I made it work but always felt like I was fighting it. I tried Flask, but you have to build absolutely everything yourself.
I have a tiny team (2 devs) and hate spending time building and maintaining cookie cutter functionality like sign in flows, teams, etc.
You can swap out the frontend end for whatever framework you want, your api layer is thin, you can swap that out too. Where are you guys getting trapped in churn? The server side rendering bullshit?
It is a full-stack offering together with Ruby Gems ecosystem solutions to a wide range of things that I want to achieve with a webapp. I like a lot how people in this community tries to simplify a lot of the complexities of modern tools.
In the Ruby (and Rails ecosystem) you should take a look at https://hotwire.dev - helping create amazing web apps with less Javascript code. There are a lot of things to like there, but you can start small with Stimulus JS, which for me offers good enough JS code to do small UI things.
Then there is https://docs.stimulusreflex.com - for creating reactive web apps without going full SPA mode.
And here it is the latest addition to this eco-system (that I know of): https://github.com/rails/tailwindcss-rails. This is integrating Tailwind directly in assets pipeline of Rails. No need to configure webpack and postcss and whatever other configs. You can directly use Tailwind by adding this gem.