Over the past months, I have worked on backend specifications for a personal project. I must now choose the framework I’ll be using.
On the one hand, I’ve been working on a system built with Java Spring for the past 2 years, and I have been wondering if knowing a technology is a good enough reason to chose it over other languages and/or frameworks. Still, I know that Spring is stable, fast and adapted for big project and can save me a lot of time.
I looked at some benchmarks between those two on the net (links at the bottom), but I find myself more lost than I was previously.
Here’s my question: Why should I not choose Ruby on Rails ?
Here are my project’s needs:
must deal with a big amount of data and entities
will connect with a GraphQL API (more than 70 endpoints)
public and private endpoints over HTTP and HTTPS
OAuth2 authentication provider
probably a few WebSocket endpoints too
For me, this framework choice is very important because it will help me decide what language I need to use to make internal and external services around the final product. For example, if in the future I need to make a program to control hardware or device like printers, I will use the same language I used to develop the backend in order to make maintenance easier.
I know my question isn't very specific so maybe a list of features I’m interested about will help:
maintenability: code quality, number of line of code
reusability: make the code more modular, generic
performances: HTTP(S) request (JSON or HTML responses), databases
templating: what engine can I use (what is the best ?)
unit testing, code coverage and Selenium test
Some benchmarks found on the web :
- cover image from perfectial.com
- A great thanks to Thierno which helped me to review this article <3