Maison > Article > interface Web > Qu'est-ce qu'un processus de construction dans React (ou dans n'importe quel framework d'ailleurs ?)
Les frameworks simplifient le développement pour les ingénieurs et c'est ma tentative de simplifier le fonctionnement en coulisses de ReactJS.
J'ai commencé avec ReactJS. Ouais, je l'ai vraiment fait. C'est comme un rêve retardé de 2 ans alors que j'étais passionné par la conception UI/UX et le développement Front-End avant de me plonger dans la Data Science. (Je suis toujours aussi passionnée qu'il y a 2 ans.)
Je suis maintenant stagiaire dans une entreprise (qui s'appelle elle-même une startup car sa culture est plus celle d'une start-up que celle d'une entreprise) et aujourd'hui, lors de mon premier jour, je n'avais littéralement plus rien à faire depuis, mon TL (chef d'équipe) ne venait pas au bureau car il était occupé par une réunion.
Est-ce que j'ai laissé le temps m'échapper. Absolument pas.
La probabilité que je reçoive une tâche/un projet pour tester mes compétences en analyse de données était assez faible. C’est pourquoi j’ai décidé de me salir les mains dans le développement. Je sentais que c'était peut-être le meilleur moment pour commencer avec ReactJS.
Réagir est un verbe (jeu de mots). Mais dans le contexte des technologies de développement, "La bibliothèque pour les interfaces utilisateur web et natives", revendique le site officiel de ReactJS.
Maintenant, si vous avez fait le tour de l'écosystème de développement, vous avez sûrement entendu parler de 2 autres concurrents ou plutôt des frères et sœurs de ReactJS, qui sont Angular et VueJS.
Voici une brève comparaison des 3 technologies Front-End les plus populaires.
Core Concept | Library focused on UI | Full-fledged framework | Progressive framework |
---|---|---|---|
Data Binding | One-way data flow | Two-way data binding | Two-way data binding (optional) |
Component Structure | Custom components | Directives and components | Components |
Learning Curve | Moderate | Steep | Gentle |
Performance | High (Virtual DOM) | Can be slower due to two-way data binding | High (Optimized rendering) |
Scalability | Excellent, suitable for large-scale apps | Strong support for large-scale enterprise apps | Good scalability, but might require additional libraries for complex projects |
Community and Ecosystem | Largest community, rich ecosystem | Large community, strong ecosystem | Growing community, good ecosystem |
Flexibility | High, can be used with other libraries/frameworks | Less flexible due to rigid structure | Flexible, can be used incrementally |
Voici le problème auquel vous serez confronté si vous utilisez :
Difficulté à maintenir des applications volumineuses :
Le HTML simple et le JS ne disposent pas d'une approche structurée pour organiser le code.
Les applications complexes peuvent conduire à un enchevêtrement de logique et de manipulation de l'interface utilisateur au sein des écouteurs d'événements et des fichiers de script.
Cela rend difficile la compréhension, la modification et le débogage du code à mesure que l'application se développe.
Manipulation DOM inefficace :
Manipuler directement le DOM dans JS peut s'avérer inefficace.
Chaque changement d'état peut déclencher un nouveau rendu complet de la structure HTML, même pour des mises à jour mineures de l'interface utilisateur.
Cela peut entraîner des goulots d'étranglement en termes de performances à mesure que la complexité des applications augmente.
Réutilisabilité limitée :
Créer des composants d'interface utilisateur réutilisables avec du HTML et du JS simples peut s'avérer fastidieux.
Vous pourriez finir par copier et coller des extraits de code dans différentes parties de votre application.
Cela rend difficile le maintien de la cohérence et la mise en œuvre efficace des changements.
Gestion d'état complexe :
Gérer l'état d'une application (les données qui contrôlent le comportement de l'interface utilisateur) devient difficile avec le HTML simple et le JS.
Le suivi des modifications de données et des mises à jour correspondantes de l'interface utilisateur peut devenir compliqué et sujet aux erreurs, en particulier pour les flux de données complexes.
ReactJS résout ces limitations en proposant une architecture basée sur des composants, un DOM virtuel pour des mises à jour efficaces et un écosystème riche pour gérer les interfaces utilisateur complexes et l'état des applications.
Maintenabilité améliorée :
Performances améliorées :
Réutilisabilité du code :
Quand j'ai créé mes premiers composants, je me suis demandé : « Qu'est-ce que c'est exactement ? Est-ce HTML ou JS ?
J'ai intégré JS dans le HTML via <script> </script> élément ou élément. Mais écrire du HTML dans un fichier JS semble étrange ou plutôt différent.
J'ai essayé d'écrire le HTML dans le fichier JS d'un projet non-React et devinez pourquoi cela ne s'est pas bien passé.
Ensuite, j'ai appris que cette syntaxe spéciale (HTML comme à l'intérieur du fichier JS) est appelée JSX JavaScript XML et est une extension de JavaScript.
Si le code que les navigateurs comprennent est finalement du HTML et du JS bruts, cela signifie que certaines opérations sont effectuées sur le JSX (sucre syntaxique pour créer facilement des applications complexes) que nous écrivons.
Cette opération en coulisse elle-même est appelée un processus de construction.
L'idée générale d'un processus de build est de transformer votre code de développement en une version optimisée prête à être déployée dans un environnement de production.
Bien que les outils et configurations spécifiques puissent varier en fonction de la pile technologique, les concepts et objectifs généraux du processus de création s'appliquent universellement dans tout le développement Web frontend.
Nous avons appris que l'idée de haut niveau reste la même mais les différentes phases du processus de construction de React sont les suivantes :
Un bundler comme Webpack prend tous ces fichiers séparés et les combine en un plus petit nombre de bundles optimisés.
Transpilation :
Minification :
Optimisation :
Mode de production :
En revanche, le mode de production se concentre sur l'optimisation en permettant la minification, le tremblement d'arbre et d'autres améliorations de performances.
react-scripts est un package interne utilisé par Create React App (CRA) pour gérer les fonctionnalités en coulisses d'un projet React.
La plupart du temps, les développeurs n'interagissent pas directement avec lui, mais il est essentiel à l'efficacité du développement.
Voici de quoi réagissent-scripts est responsable :
Les 3 tâches les plus importantes effectuées par les scripts de réaction sont les suivantes, que nous comprendrons en détail :
Regroupement :
Transpilation :
Minification :
Voici comment fonctionne la minification :
Suppression des caractères inutiles :
Raccourcir les noms des variables et des fonctions :
Suppression de commentaires :
C'est l'apprentissage d'une seule journée résumé.
J'aurais pu construire bien plus que cela si j'avais utilisé les outils GenAI. J'ai utilisé les outils GenAI de toute façon, mais à des fins d'apprentissage.
Je pense que poser cette bonne série de questions, puis comprendre les concepts en profondeur, vous distinguera de ceux qui automatisent le développement.
Dans les entretiens, c'est la compréhension et la clarté du concept qui sont recherchées, plutôt que votre vitesse de codage car, de toute façon, cela va être automatisé dans une certaine mesure.
Ainsi, le seul facteur X selon lequel vous êtes un grand ingénieur logiciel réside dans vos connaissances pour au moins valider et vérifier si le résultat du modèle GenAI répond ou non à vos besoins technologiques.
Si vous pensez que mon contenu est précieux ou si vous avez des commentaires,
faites-le-moi en contactant mes identifiants de réseaux sociaux suivants que vous découvrirez dans mon profil et les suivants :
LinkedIn : https://www.linkedin.com/in/shrinivasv73/
Twitter (X) : https://twitter.com/shrinivasv73
Instagram : https://www.instagram.com/shrinivasv73/
E-mail : shrinivasv73@gmail.com
? Ici Shrinivas, je signe !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!