Skip to content

Choix technologiques

Sebiche09 edited this page Mar 19, 2024 · 2 revisions

Résumé

+ Le langage ou le framework choisi pour le backend, puis pour le frontend est décrit. Il s'agit de technologies "intéressantes" dans le cadre du projet.
+ Les spécificités de la technologie choisie sont mises en avant : avantages / inconvénients et comparaison avec minimum deux technologies concurrentes.  

1. Backend

Comme technologie backend nous avons choisi de développer notre API en Go. Go est un language de programmation compilé et concurrent inspiré de C et Pascal développer par Google.

1.1 Justification du choix

Go est un langage avec une syntaxe minimaliste et vraiment simple ce qui le rend facile à comprendre et surtout à apprendre. A la différence de node.js, go a été développé avec le parallélisme inclus directement dans le langage ce qui lui permet d'effectuer plusieurs tâches en même temps. Go possède aussi une très grande quantité de librairies standards qui permettent de développer rapidement des applications complexes. Un autre avantage de go comparé à node.js est que go n'a pas besoin d'installer un package manager à part vu que le langage gère lui même tous ce qu'il a besoin pour s'exécuter et en plus go possède une documentation très complète et plein de tutoriels officiels pour le développement d'application comme les application web.

2. Backend : base de données

MySQL est un système de gestion de bases de données relationnelles SQL open source développé et supporté par Oracle.

2.1 Justification du choix

MySQL fait partie de la librairie standard de go ce qui permet d'avoir une grande quantité de tutoriels et de documentation sur comment appeler la db depuis go. MySQL est plus léger et plus stable que PostgreSQL tout en étant plus adapté a la lecture comparé a PostgreSQL. Pour une application web comme la notre, la lecture est plus importante que la possibilité d'écrire continuellement dans la base de données.

3. Frontend

Angular est un framework typescript développer par Google basé sur des composants pour la création d'applications web évolutives. Angular possède une collection de bibliothèques bien intégrées qui couvrent un large éventail de fonctionnalités, notamment le routage, la gestion des formulaires, la communication client-serveur, etc. Il possède aussi une suite d'outils de développement pour vous aider à développer, construire, tester et mettre à jour votre code.

3.1 Justification du choix

Angular permet de développer une application avec un code bien structuré et permet un travail d'équipe eficaces grâce au format commun du code a tous les projets Angular. Angular est mieux pour développer des applications a page unique alors que react est meilleur pour développer des composant interactif pour une application web.

4. Autres choix