HACKER Q&A
📣 caseyf

What is the most *fun* web development stack?


When I started with Ruby on Rails back in 2006, it was because I was running away from Java and I thought that it was the most fun stack out there. I think I chose wisely and I really enjoyed (and still enjoy) my time with Ruby and Rails.

If you are using a web stack that you think might be one of the most enjoyable and fun, what is it?


  👤 jguzmanjr Accepted Answer ✓
I’ve been using Actix-Web for the backend and Seed-rs for the frontend and it’s been a blast. One language to run on the server and in the browser. I admit I still have to write scss and know html but that’s no biggie. Biggest pro for using Rust, no more json! I use message pack with compact representation and my data just zips from my webapp to my server without a hitch. Not having to wonder if a field is potentially null in some deeply nested object is a magical feeling.

👤 MeinBlutIstBlau
I'm probably super boring but I like .NET. Although I do that for work and have no complaints because it's like a better version of Java. Then just standard Javascript and jQuery for the frontend. Gets the job done and is super easy to understand.

I think it's "fun" because I have I don't have to deal with "how" something works. My perspective instead is "how" I can implement it. Chances are there is also a nuget package, dll, or some api out there for the same boring CRUD app we're doing so it helps expose me to more things even easier.

That all being said, when things don't work, it can be a royal PITA.


👤 magicpossum
I enjoy how fast and easy I can work with Node + a non relational db for quickly prototyping a new idea or just experimenting with implementing a new concept.

Keeping it super simple on the frontend keeps it enjoyable / fun by avoiding React. HTML with templating or Vue is great to move quickly and not get bogged down in technical detail and just create/design.


👤 codegeek
I have found a lot of joy/fun in coding web apps in Golang. Something about net/http and the joys of building your own http framework around it is cool.

👤 pbohun
The web was originally designed to be hyperlinked documents. So all the tech we've developed to make web applications has been a horrible hack.

With that in mind, my opinion is that all these web stacks have made things worse. I've been on multiple projects now where it was the web framework that put the project in jeopardy of missing the deployment deadline.

I have found just using Javascript, HTML, and CSS to actually be more productive and maintainable if one knows what they're doing.

I've also found it's actually better to separate the front end and back end. The front ends I develop are completely independent of the back end and can simply be dropped onto any server that provides the required API.


👤 frompdx
Personally, I really enjoy working with Clojure+ClojureScript via the Luminus framework. The Caveman framework for Common Lisp is also fun. It might be my first choice if I planned to make a web app with very little JavaScript.

👤 bwh2
I feel joy optimizing performance on a simple HTML and SCSS/CSS site. Removing every unnecessary bit of data transfer. Cutting all dependencies. Shrinking images. Just making the thing blazing fast.

👤 juanse
Ruby on Rails. I enjoy how quick I develop features. Using mostly SSR and ERb.

👤 meitham
I really enjoy aiohttp framework in python. It’s unopenionated and performs really well for IO heavy processes. The asyncio does all the heavy lifting and the framework is a very thin layer in top of it.

👤 PaulHoule
React/mobx without using other people’s widget sets.

👤 leephillips
Phoenix Liveview.

👤 montenegrohugo
I think to define what is "fun" I'd take the reverse approach: What's NOT a fun stack to work with?

For me personal hell is a giant stack that I barely understand, a stack that I'm very slow to iterate on, a stack that has 9999 exceptions and custom rules and "quirks" that I need to remember and work around. This is infuriating, and definitely not fun.

So then what's fun? For me it's something small, fast, something that's no hassle and that lets me put my ideas into practice. Something that makes sense, something that I can have a complete mental model in my head and modify it in practice as fast as I modify that model in my head.

For me, the closest thing is:

BACKEND:

- Python for the backend. Just a great, batteries included language that lets me do what I want fast and doesn't get in my way.

- Flask: a web framework for Python. There's Django too, but Django is no fun. Flask is small and exactly what I want.

- Pytorch: My DL framework of choice. Again, understandable, makes sense, and fastly iterable. No archaic nonsense (looking at you Tensorflow). Also of course pandas, numpy, scikit etc...

FRONTEND: I'm not a frontend guy, but it's a necessity, so I go with the simplest.

- Bootstrap: Lots of templates, easy to understand. I'm not entirely happy with it though; I wanted to try Tailwind.css for my next project

- Simple, custom Javascript. No complex frameworks. I barely understand JS; I don't want to use a framework until I feel comfortable with bare JS.

DEPLOYMENT & OTHERS:

- Heroku: a bit expensive but so simple. Removes all the hassle. I don't think deployment is fun, so Heroku is my friend.

- Google Analytics: I don't want a lot of analytics, and GA just works. I do want to move to a more privacy friendly choice.

- Uptimerobot for detecting problems. Simple, works, free.

With this tech stack I feel really comfortable, I can iterate on all layers, and I really do have fun developing on it. I can shoot out an MVP for most projects in a week.

Here's a few things I've built/am building with this:

https://www.namy.ai https://www.hugomontenegro.com https://www.remindy.me

My biggest gripe in this tech stack is bootstrap, but I think despite of that and me not being a frontend engineer I still managed to give the sites a bit of a non-generic flair.

P.S.: This got too long, but I got over excited with the topic :)