It depends. Some say programming is a tool, so no language fanboy is needed. I try to see the requirements and the context/scenario to evaluate the best option for each case. I start by asking some questions:
- Where will it run? iOS, Android, Web, CLI, Embedded?
- Does it need to sync and store data?
- What API and dependencies does it require? GPS, maps, payments?
- What are the expected DAU and the most common actions of this solution?
- etc…
It’s common that the app needs to sync data and clients access the content through the web (pc or mobile). When I’m not building the next Instagram replacement (with billions of accesses), I try to KISS. I give preference to full stack web frameworks where I can develop and deploy the backend (server) and the frontend (client) in the same code base. I’m also inclined to use more mature and battle tested frameworks over the newest and most hyped ones. After some playgrounds, my most loved full stack frameworks are:
- Phoenix (Elixir)
- Ruby on Rails (Ruby)
- Django (Python)
- Laravel (PHP)
- NestJS (TypeScript)
All of these tools (frameworks) can be used to create solid and robust solutions! Each one has its own peculiarities and strengths, but the overall way of how they work is the same.
Leave a Reply