Skip to content

Frontend

louis edited this page Oct 28, 2021 · 28 revisions

Choix de la technologie

React

Description

ReactJS est une bibliothèque Javascript responsable de l'interface utilisateur (view layer) des applications mobiles et Web. Elle a été développée pour être hautement dynamique et réactive aux entrées de l'utilisateur, ce qui en fait un cadre populaire pour le développement de logiciels.

React possède des caractéristiques essentielles qui fonctionnent bien avec le développement web de nos jours, principalement les composants réutilisables et le DOM virtuel. Premièrement, chaque composant React possède ses propres fonctionnalités uniques, ce qui le rend polyvalent et flexible, permettant aux utilisateurs de les mettre en œuvre de différentes manières au sein d'un projet. Deuxièmement, la manipulation du DOM est impérative pour le développement web moderne. Grâce au DOM virtuel, les développeurs n'ont plus besoin de rafraîchir les pages à chaque fois que les éléments de l'interface utilisateur changent, et React l'utilise pour améliorer la mémoire et l'efficacité.

Avantages et Inconvénients

Avantages Inconvénients
Easy to learn JSX syntax
Virtual DOM Fast development pace
Reusable components Poor documentation
One-way data flow
SEO friendly
Javascript library already available for use

Pq ce choix?

Nous avons décidé d'utiliser React, ce framework semble parfait pour notre utilisation car il est aussi très stable et rapide d'utilisation. De plus, la bibliothèque se démarque de ses concurrents par sa flexibilité et ses performances, en travaillant avec un DOM virtuel et en ne mettant à jour le rendu dans le navigateur qu'en cas de nécessité.

Il est facile à apprendre en raison de sa simplicité au niveau de la syntaxe et que nous avons eu une année complète d'apprentissage en Javascript.

Pour finir, son intégration pour le mobile est très rapide grâce à react native.

Angular

--Source 1--

--Source 2--

Description

Angular est une plateforme open-source de Google utilisée pour construire des interfaces utilisateur (front-end des sites web). Son principal avantage était de transformer les documents basés sur HTML en contenu réactif et dynamique, permettant l'existence d'applications à page unique. Il s'agit actuellement de l'un des cadres de développement web front-end les plus populaires utilisés aujourd'hui.

Angular fait partie de la "MEAN stack" : un groupe d'outils et de cadres de développement logiciel (MongoDB, Express, Angular, Node.js) qui couvre les principaux aspects du développement.

Les modules de base d'Angular sont les NGModules, qui fournissent toutes les fonctionnalités essentielles aux utilisateurs lorsqu'ils développent leurs applications. Ces modules définissent le cœur des applications. Angular se distingue également par sa liaison de données bidirectionnelle, où toute modification du DOM est immédiatement répercutée dans l'application et vice-versa. Cela signifie que les développeurs ne sont plus obligés de recharger la page manuellement.

Cependant, le framework est assez complexe et nécessite beaucoup de temps et de dévouement pour être compris ou même utilisé correctement.

Avantages et Inconvénients

Avantages Inconvénients
Supported and maintained by Google Complex
Uses plain HTML templates Steep learning curve
Two-way data binding Hierarchical tree-like architecture
Faster DOM Manipulation Dependency Injection
Faster Server Performance Performance Tradeoff
Ease of prototyping and iterative development support Coupled to Javascript/Typescript
Super ease of testing front-end applications Two-way data binding leading to performance issues
MVVM Architecture Heavily weighted framework
Conformity to the MEAN stack
Migration

Vue

--Source 1--

--Source 2--

Description

Vue.js est un framework progressif permettant de créer des applications monopages. Développé pour Javascript, il a été conçu pour être réactif et facile à utiliser avec d'autres bibliothèques axées sur la couche de vue. Evan You a initialement développé ce framework comme une version allégée d'Angular, en utilisant les meilleures fonctionnalités de ce dernier, comme la liaison de données, et en le rendant moins gourmand en performances. À la base, Vue gère l'interface utilisateur d'un site Web, mais il peut être utilisé avec d'autres frameworks.

Vue est utilisé par les développeurs web pour créer des interfaces utilisateur pour les applications web et mobiles hybrides. Il combine à la fois les fonctionnalités de React et d'Angular, et les apporte avec un design simple et efficace.

Avantages et Inconvénients

Avantages Inconvénients
Tools and Libraries Language Barriers and Restricted Community
Low Storage Requirements Oversaturates framework choice during development
Simple and easy to learn Lack of support for large-scale projects
Extensive documentation Limited Resources
Reactivity - two-way data binding
Reusabiity
Component-based Architecture
Flexibility

Bootstrap

--Source 1--

--Source 2--

--Source 3--

--Source 4--

Description

À la base, Bootstrap est une grande boîte à outils de code pratique et réutilisable écrit en HTML, CSS et Javascript. Cependant, il s'agit également d'un cadre de développement frontal qui permet aux programmeurs de créer des sites Web entièrement réactifs. Le cadre a été conçu pour minimiser l'écriture de code et maximiser la conception de pages Web.

Avantages et Inconvénients

Avantages Inconvénients
Responsive grid and images Confusing syntax
Components Large file size
Extensive documentation Risk of not learning code
Integrated to Javascript Every Bootstrap Website looks similar
Customizable Learning curve
Encourages Consistency Can require a lot of style overrides
Helps avoid cross-browser bugs

Clone this wiki locally