Ask HN: What is your preferred “full-stack in a box” solution and why?

2022-02-089:573735

What I mean by a "full-stack in a box" is a web client solution + server solution + DB solition that all work well together for a small to medium size business. Minimizing integration friction and maximising productivity. Is it Typescript/C#/Postgress? Elm/Haskell/MySQL? Clojurescript/Clojure/Datomic? Ruby on Rails/? Or something else entirely?

What I mean by a "full-stack in a box" is a web client solution + server solution + DB solition that all work well together for a small to medium size business. Minimizing integration friction and maximising productivity. Is it Typescript/C#/Postgress? Elm/Haskell/MySQL? Clojurescript/Clojure/Datomic? Ruby on Rails/? Or something else entirely?

Comments

  • By samwillis 2022-02-0810:321 reply

    I think it depends a lot on the product you are building, but in my option nothing beats Django for rapid development of a website/app. True it doesn't have an answer "in the box" for client side interaction but combined with tools such as htmx and alpine.js you get something very similar to the modern Rails/Hotwire stack. Personally though you can get along way with just vanilla JavaScript.

    I think the killer feature of Django is the Admin framework, its so often overlooked when developing a site/app that internal (not user facing) tools are so important. With the Dango Admin you get something incredible with so few lines of code. It's practically a super power.

    If you need a little more interactive "SPA" like functionality, throw in Django REST Framework and your preference of front end framework. I would tend to go with Vue as it feels like it's the same sort of "battery's included" framework as Django. You can also easily use it to build smaller components without having to go all in on SPA.

    If you are then asked for a Mobile App on top of that I would reach for Ionic/Capacitor, particularly if you already have a (partly) Vue or React based front end. You can then reuse most of your code. Need some native functionality not covered by Capacitor plugins? take a look at brining in NativeScript, it works brilliantly with Capacitor. (If you haven't taken a look at modern Ionic/Capacitor it has come on so far since the Cordova/PhoneGap days)

    • By adflux 2022-02-0812:37

      >If you are then asked for a Mobile App on top of that I would just deploy Vue as a PWA, unless you need specific native features

  • By connordoner 2022-02-0810:082 reply

    Personally, I tend to go with Ruby on Rails and PostgreSQL run on Heroku. I recognise it has its limitations — Heroku’s pricing isn’t favourable for large apps, for example — but, combined with Hotwire [1] (which now comes out of the box, IIRC), it’s a powerful solution for most LOB apps.

    [1] https://hotwire.dev

    • By bn-usd-mistake 2022-02-0814:461 reply

      I'm trying Hotwire for a personal project and have really been enjoying it so far, but it is very different from what I'm used to (more SPA-y frameworks like React + JSON API). My main fear is that I'm tying myself too much to Rails-specific libraries and that upgrades and migrations will be harder.

      • By connordoner 2022-02-092:54

        I have to admit that I worried about this for a while. I’m not sure on your risk tolerance, but I found solace in that Rails was developed by 37signals for Basecamp back in 2004, and they’ve been maintaining it ever since.

    • By xu3u32 2022-02-0819:511 reply

      Do you use Heroku's managed PostgreSQL service?

      • By connordoner 2022-02-092:55

        Unless I’m working with existing databases, yes.

  • By Glench 2022-02-0813:37

    SvelteKit. I have a high risk tolerance but SvelteKit is the framework I've been waiting for since I first started using Pyramid & Django in 2010. All the plumbing, optimization, and performance is done with no configuration and a harmonious integration of back-end and front-end (finally!). I really really love it.

    Heck, I'm even releasing my SvelteKit stack as a SaaS boilerplate for others to launch projects more quickly: https://sveltesaas.com

HackerNews