For dynamic apps that don't fit the Django model, I'll bust out Node.js, and for static sites, just a plain Python script to generate HTML files.
Boring choices, but the older I get, the more I'm OK with that :)
What I think is important is sticking to one thing until you have a good grasp of it.
But, if you're not that kind of person it's perfectly OK to jump straight into Django. You'll certainly get further more quickly, even if you won't be able to explain exactly what your code is doing.
Angular 2+ on the frontend.
Why?
Go is fast and bare bones, and works nicely as a backbone to an API (especially with a GraphQL intermediary). Postgresql plays very nicely with Go, especially if writing queries by hand.
Angular 2+ is great. Vue is also really nice, but I love what Typescript brings to the table and find that Angular being built around TS makes me enjoy it more than retrofitting Vue + TS definitions. I decided on Angular 2+ with great trepidation, but the bad rap carry-over from AngularJS turned out to be entirely undesreved. It's a wonderful framework, and I'm enjoying it greatly.
Also, a shout-out for AWS Lambda. I use it here and there for heavy workloads (personally I wouldn't replace my webserver with it entirely yet), and it made my server infrastructure MUCH more pleasant.
Jekyll if it doesn't need to by dynamic.
Backend framework: Play. Inspired by RoR, works with Java/Scala. Light, fast, scalable out of the box.
Database: PostgreSQL. Introduction is not needed.
Database library: Slick. Nothing beats compile time type safety.
Frontend language: Typescript. Better than pure JS hands down.
Frontend framework: Angular (5). Because Typescript is a first class citizen.
Or I will use Rails behind Nginx if the site is more dynamic. Each release would get built into a Docker image and be deployed that way. HAProxy would be there mostly to forward requests to multiple apps if there are any.
For a site that needs a lot of client side scripting, I use Ember. I'm so happy with it that I will probably use it with Fastboot for those times I would have used Rails. In terms of databases, I've been using CouchDB unless I had an overwhelming need for relational records. It saves time because CRUD and websocket/eventsource/longpolling come with it out of the box.
For my personal site, I rebuild it in whatever language I'm trying to learn. In this case, I'm rewriting part of it in golang which I use at work.
For fun, a mixture of VueJs and Elixir/Phoenix and ASP.NET Core
Framework: https://github.com/apex/up
Hosting: AWS lambda
I can't speak highly enough of up, it's amazing for creating serverless(sic) apps without changing the way you structure your app. I also use up for some python apps
I see that Up has a warming feature - is that sufficient enough to avoid slow requests for you?
Does the reliance on Up as a service make you nervous for using them for production? How much hot water would you be in if they close their doors?
Are you using Up Pro?
I know - lots of questions, but it seems like a neat offering I hadn't seen before, and I can't find any testimonials elsewhere online.
1. Apart from the startup latency i haven't noticed much of a big difference between up/lambda and a live server. And lambda will keep your function warm for AFAIK, 1hr, so if your app has lots of traffic you never experience startup latency.
2. Up is open source, if they close their biz, I'd just continue using their code. I haven't used up pro yet.
3. Up has been around for probably under 1yr so you may not see a lot of testimonials yet. It is made by tj(the same guy who made expressJS, the nodejs web framework among other softwares)
You can direct more questions ; https://up.docs.apex.sh/#links
If you haven't heard of it, check out https://vapor.codes. It's an absolutely amazing framework that is non-blocking in version 3. The performance you can squeeze out of it is unbelievable.
We are really pleased with the performance of BEAM and the functional flavor of elixir clearly leads to code that is easier do read and to test.
We have been toying with Elm lately.
Web apps: ReactJS on s3 hitting NodeJS API on AWS EB.
For a quick prototype, I'd use Vue.js and Spectre for CSS. I suck at frontend anyway.
Deployed behind nginx.
Jekyll hosted with Netlify for static sites.
This is a great solution for general-purpose use, dropping React of course if there’s no need for interactivity.
Ha. Of course it is!
Otherwise Rails with PostgreSQL.
I use libsass with bourbon.io and I have a Makefile to compile the binary, generate the css, minify things.
For blogging, I have used Wordpress
But I have recently started looking on moving over to Hugo to generate html using a bootstrap 4 template.
1. Hiccup syntax is a great way to “template” HTML, being clojure-native data structures with the full power of the language available to you.
2. REPL-driven workflow makes it a dream to debug things like request handlers.
You will miss out on some perks from bigger/more popular frameworks—there’s no built-in admin panel waiting for you—but you can take advantage of the Lisp Curse here and quickly build out what’s missing. I find it’s a worthwhile trade-off.
for experimenting: golang + react (want to see what the fuss is all about)
for fun: elixir + pheonix (since I never got on the rails bandwagon)
For fun, Java servlets/JSPs
Experimenting with Laravel/Lumen API only for backend, and NuxtJS with SSR.
Also AdonisJS is looking promising to go into that JS world with both front and back ends.