-
Notifications
You must be signed in to change notification settings - Fork 0
Frontend
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 | 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 |
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 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 | Inconvénients |
|---|---|
| Supported and maintained by Google | Complex |
| Job demand | 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 |
| Uses plain HTML templates | Conformity to the MEAN stack |
| Migration |
Vue.js is a progressive framework for building single-page applications. Developed for Javascript, it has been designed to be responsive and easy to use with other libraries focused on the view layer. The brainchild of Evan You, he initially developed the framework as a lightweight version of Angular, using the latter's best features such as data binding and making it less performance-heavy. At its core, Vue handles the UI of a website, but it can be used with other frameworks.
Vue is used by web developers to create user interfaces for web-based and hybrid mobile applications. It combines both React and Angular features, and brings it with simple, efficient design.
| 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 |
At its core, Bootstrap is a large toolkit of handy and reusable code written in HTML, CSS, and Javascript. However, it's also a framework for frontend development that allows programmers to build fully responsive websites. The framework has been designed to minimize code writing and maximizing webpage designing.
| 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 |