I'm researching what Technology Stack I should use to build my product (something like food delivery App) for Web, iOS, and Android Apps. Please advise which technologies you would recommend from a Scalability, Reliability, Cost, and Efficiency standpoint for a start-up. Here are the technologies I came up with, feel free to suggest any new technology even it's not in the list below.
For Mobile Apps -
- native languages like Swift for IOS and Java/Kotlin for Android
- or cross-platform languages like React Native for both IOS and Android Apps
For UI -
- React
For Back-End or APIs -
- Node.js
- PHP
For Database -
- PostgreSQL
- MySQL
- Cloud Firestore
- MariaDB
Thanks!
Considering that your objectives are Scalability, Reliability, Cost, and Efficiency, I recommend the following:
- Backend - Node.js/Express/MongoDB
- Frontend - React
- Mobile - React Native
You can then focus on using one language (JavaScript) for all the above. As your startup grows, sure, you may have other requirements that warrant using other technologies. Nevertheless, the above stack will definitely satisfy your objectives. Hope this helps!
That will also be my recommendation. Use the same compatible stacks like Node.JS, Express & React/Native. It will simplify your life;-) For the Database, just consider if you need ACID transaction proprieties and if you need complex querying. MongoDB is nice but can lack a little bit in terms of query expressiveness. The choice between SQL and noSQL.
My Recommendations: Front End: Flutter because of developer tooling and powerful declarative widget system Back End: Node.js or Go because Node.js has a large ecosystem and Go has a good built in http setup Database: Cloud Firestore because of ease of use, NoSQL, and the ability to set data from the client
Thanks, since Google cloud Firestore is a NoSql database, I'm wondering how does it work for an app where it does daily transactions in a user checkout flow, etc.. ?
I'm not entirely sure what the question is about, as I don't see any problem using Cloud Firestore for transactions, but here is a use case for using Firestore with stripe: https://firebase.google.com/docs/use-cases/payments