XSukhpreet

XSukhpreet

What is your best back-end stack?

Mine is Firebase because it is easy to learn and fast .

Most Liked

Maartz

Maartz

Well I do like Elixir in the back end, with PostgreSQL.
For the architecture, I use Commanded at work. It was complicated to grasp at first but now it makes a lot more sense.

Not a great fan of document based databases.

For me Elixir’s solves all the problems I can encounter. Lately I’ve used GenStage to handle synchronisation on some events. I’m eager to see how it’d be handled in another language.

dimitarvp

dimitarvp

Have you checked Supabase?

OvermindDL1

OvermindDL1

I actively run a python flask server for over 10 years now. It started as a little one-off project that… accidentally ended up getting used in ‘production’ on one of the open source sites I host due to its immediate usefulness. I’ve always kept intending to either replace it with an actually well built setup or just remove it altogether for something prebuilt open source or for it to eventually just die due to no longer needing to be used, but the prebuilt things lack features I need so I’d need to rebuild most of the functionality anyway, and I’ve not got around to rebuilding it because I keep expecting it to “die in the next year due to no longer needing to be used”, but that’s been repeating for over 10 years now.

In essence the flask app has a fairly minimal user authentication system, using pyobject or whatever it was called as the very minimal ‘database’ (only stores user data, kind of…), and files get uploaded and commands fired on it to do ‘stuff’. The ‘stuff’ it does includes things like generating a full static site generated from files and metadata uploaded around the system and paths in a lot of… unique ways I’ve not seen in any other SSG (hence why I haven’t been able to replace ‘that’ functionality yet either, it would practically require rewriting them as well).

Flask is easy, but I really really dislike it, it’s been the bane of so many issues for me over time, with the most annoying of which being that it can only handle a single connection at a time (yes I have it behind a uwsgi server but I still have to serialize their access to the filesystem so only one SSG update happens at a time, and it doesn’t have a good way to sync that outside of just ‘running another program’ or variety of other annoying things) and it’s a bit irritating to update.

But yeah, if you want to spool up something really really fast and really really simple, flask is great at that, but honestly I’d just use rust + rocket or so nowadays anyway (excepting rocket’s utterly garbage websocket support, only works via it’s own channel interface so you can’t just plug in any generic websocket handler very very irritatingly, though its channel interface is very nice if you can work within it, modeled on Elixir’s Phoenix Channels interface, but like Elixir’s Phoenix Channels it breaks horribly if you want to do actual real websocket connections to other libraries or so). At least rocket (and phoenix) have ways to kind of work around that by just hooking in to their underlying server libraries (hyper/tower for rocket and cowboy for phoenix) but it feels really hacky in both cases which does contribute to both libraries feeling a bit hacky as well when you are forced to do that. But I like rocket as it’s very similar to flask in feel, but significantly faster, more well made, and even easier to use in a lot of ways, in exchange for having to compile before running it, lol.

For backend stacks, rust nowadays, absolutely, unless you need extreme horizontal scaling across machines then phoenix or so can be easier to handle (though the ‘traditional’ ways of sharding work fine in rust anyway if a bit more stuff to set up than something like phoenix, though rust will scale better on a single system regardless). Rust has a lot of backend libraries, and they are working very well together as well with things like tower and such becoming popular as an integration point across them all.

Where Next?

Popular Frontend topics Top

AstonJ
This is a really good article explaining what WebAssembly is and how to get started with it - well worth a read! Pinning it for our /was...
New
New
First poster: AstonJ
The world of web animations has become a sprawling jungle of tools and technologies. Libraries like GSAP and Framer Motion and React Spri...
New
First poster: dyowee
The key reason why you (and likely most developers) struggle with CSS, is that you underestimate it. Underestimating CSS leads to a stra...
New
First poster: bot
Backend languages in the browser have been a thing for a long time. Google Web Toolkit would compile Java applications into JavaScript, a...
New
New
First poster: bot
In this article, we will look at the fascinating evolution of graphics in browsers from the prehistoric days of the early browsers. We wi...
/js
New
First poster: bot
Implementing an app redesign is never routine nor easy. Two weeks after I was hired at Polytomic, I began implementing the app’s first re...
New
First poster: bot
Why in 2021 would you bother making a website without js? While researching this post I found two really great sources of information. S...
/js
New
ragamuf
A little halloween hocus-pocus on the value proposition of having a reliable test suite in place. You are not scared, are you?
New

Other popular topics Top

PragmaticBookshelf
Brace yourself for a fun challenge: build a photorealistic 3D renderer from scratch! In just a couple of weeks, build a ray tracer that r...
New
DevotionGeo
I know that these benchmarks might not be the exact picture of real-world scenario, but still I expect a Rust web framework performing a ...
New
AstonJ
Thanks to @foxtrottwist’s and @Tomas’s posts in this thread: Poll: Which code editor do you use? I bought Onivim! :nerd_face: https://on...
New
AstonJ
This looks like a stunning keycap set :orange_heart: A LEGENDARY KEYBOARD LIVES ON When you bought an Apple Macintosh computer in the e...
New
Exadra37
Oh just spent so much time on this to discover now that RancherOS is in end of life but Rancher is refusing to mark the Github repo as su...
New
DevotionGeo
The V Programming Language Simple language for building maintainable programs V is already mentioned couple of times in the forum, but I...
New
AstonJ
Continuing the discussion from Thinking about learning Crystal, let’s discuss - I was wondering which languages don’t GC - maybe we can c...
New
PragmaticBookshelf
Author Spotlight Mike Riley @mriley This month, we turn the spotlight on Mike Riley, author of Portable Python Projects. Mike’s book ...
New
sir.laksmana_wenk
I’m able to do the “artistic” part of game-development; character designing/modeling, music, environment modeling, etc. However, I don’t...
New
Margaret
Ask Me Anything with Mark Volkmann @mvolkmann On February 24 and 25, we are giving you a chance to ask questions of PragProg author M...
New