Choix technologique - PastoriLucas/TFE GitHub Wiki
Technologies
Front-end
Choix : React Native
Justification
- React native est, comme son nom le dit, basé sur les composants natifs des User Interfaces iOS et Android. Cela permet un gain de temps et une base de code simplifiée et unifiée.
- React native permet aussi de rafraichir l'application beaucoup plus rapidement (pas de compilation complète après chaque modifications).
Back-end
Choix : Node.js
Justification
- Node.js est utilisé par un grand nombre de noms connus (Netflix, Trello, Paypal, etc) ce qui est un gage de qualité.
- La communauté Node.js semble très présente, ce qui implique que les informations seraient bien plus faciles et rapides à trouver.
- Node.js est très stable dans le sens où les créateurs ne souhaitent pas faire de conséquentes mises à jour qui "casseraient" les codes déjà créé ou changeraient trop les habitudes des développeurs.
- Au niveau des "packages", la communauté Javascript est beaucoup plus présente que les autres, ce qui peut être un réel gain de temps.
Base de données
Choix : PostgresSQL
Justification
- La documentation de PostgreSQL très claire et la communauté est très présente. Il est donc très facile de trouver des informations concernant l'installation, le développement ou encore le debugging pour cette base de données.
- PostgreSQL facilite la migration de base données et permet aussi de créer / récupérer des backups que ce soit sur lui-même ou sur ses concurrents.
Service de conteneurisation
Choix : Docker
Justification
- Docker facilite le déploiement.
- Docker est léger en termes d'utilisation des ressources.
- Permet de récupérer une version précédente d'une image facilement en cas de problème (favorise le développement agile).