DEV Community

loading...

What is your deal-breaker for a web server framework?

Pacharapol Withayasakpunt
Currently interested in TypeScript, Vue, Kotlin and Python. Looking forward to learning DevOps, though.
・1 min read

First of all, I should say that, at least for me, choosing a framework should not bind you to a programming language, nor stop you from using one.

That also means, advanced language features (in JavaScript) don't really matter.

As for me, I usually use (fastify JS/TS), (FastAPI Python), (Javalin Kotlin), (Gin Golang), and the factors affecting consideration are

  1. Minimal learning curve
  2. Simplicity / minimalism to create decent security (e.g. validation, rate limit, CSRF protection, response headers)
  3. Integration with frontend frameworks
    • I actually care very little about different components of backend's integration. Never really tried Django, Spring, Rails, Grails, Nest.js.
    • Not all calls are HTTP(S). I do have to use WebSockets sometimes. Never tried gRPC or SOAP. Not yet a GraphQL frequentist.
  4. Non-frontend multi-language connection
    • So far, I usually use HTTP. But I will tried to use interprocess communication (in Electron / Node.js) if possible. I have heard things about ZeroMQ and RabbitMQ, but I have not tried.
    • I am very worried about security, despite standing only on localhost; port blocked from external (e.g. via ufw).
  5. I am considering learning testability, e.g. different types, coverage, dependency inversion.

Discussion (0)