Est quelqu'un peut-il s’il vous plaît m’expliquer est ce qu’un cadre ? Pourquoi faut-il un cadre ? Que fait un cadre pour rendre notre vie plus facile ?
Réponses
Trop de publicités?Je suis très en retard pour répondre. Mais, je voudrais partager un exemple qui, aujourd'hui, seulement je pensais. Si je dis de couper un papier de dimension 5m par 5m alors sûrement que vous feriez cela. Mais puis-je vous demander de couper 1000 de papier de la même dimension. Ensuite, vous n'aurez pas à faire la mesure pour 1000 fois, évidemment, de vous faire une image de 5m par 5m puis, avec l'aide de celui-ci vous serait capable de couper de 1 000 articles en moins de temps. Donc, ce qu'on fait, c'est que vous avez fait une framewok qui font ce type de tâche. Donc, au lieu d'effectuer le même type de tâche encore et encore, pour le même type d'applications, ce que vous avez à faire est de vous créer un cadre ayant toutes les salles de concert dans un joli paquet et donc de fournir de l'abstraction pour votre application et surtout de nombreuses applications.
Techniquement, vous n'avez pas besoin d' un cadre. Si vous êtes à la rendre vraiment simple site (pensez à le web en 1992), vous pouvez faire tout cela avec hard-codé en HTML et CSS.
Et si vous voulez faire une moderne (oserais-je dire que le Web 2.0) webapp, vous n'avez pas besoin d'utiliser un framework pour que, soit.
Vous pouvez choisir d'écrire l'ensemble de la logique que vous devez vous-même, à chaque fois. Vous pouvez écrire vos propres données-persistance ou de la couche de stockage, ou - si vous êtes trop occupé - il suffit d'écrire du SQL personnalisé pour chaque base de données access. Vous pouvez écrire votre propre authentification et de session de la manipulation de couches. Et votre propre modèle de prestation de la logique. Et votre propre logique de traitement des exceptions. Et vos propres fonctions de sécurité. Et votre propre unité framework de test pour s'assurer que tout fonctionne bien. Et votre propre... [continue pendant un temps assez long]
Et puis, si vous faites usage d'un cadre, vous serez en mesure de profiter de la bonne, généralement par des pairs et très bien testé le travail de dizaines, voire des centaines d'autres développeurs, peut-être mieux que vous. Vous aurez à construire ce que vous voulez rapidement, sans avoir à passer du temps à la construction ou à trop se préoccuper de l'infrastructure des éléments énumérés ci-dessus.
Vous pouvez en faire plus en moins de temps, et de savoir que le code de la structure que vous utilisez ou l'extension est très susceptible d'être mieux que vous faites tout vous-même.
Et le coût de cette? Investir du temps pour apprendre à le cadre. Mais - comme pratiquement tous les web dev y pourra en témoigner - c'est certainement la peine le temps consacré à l'apprentissage pour obtenir massive (vraiment énorme) bénéficie de l'aide de quelque cadre que vous choisissez.
Le résumé sur Wikipédia (Logiciel de Cadre) (premier google a frappé btw) l'explique très bien:
Un cadre logiciel, programmation informatique, est une abstraction dans laquelle, le code en fournissant les fonctionnalités génériques peuvent être remplacées sélectivement ou spécialisés par le code de l'utilisateur qui offrent des fonctionnalités spécifiques. Les cadres sont un cas particulier de bibliothèques de logiciels en ce qu'ils sont réutilisables abstractions de code enveloppé dans des conditions bien définies interface de programmation d'Application (API), mais ils comportent certaines caractéristiques clés qui les séparent de la normale bibliothèques.
Le logiciel cadres de ces caractéristiques qui la séparent de bibliothèques ou normal applications de l'utilisateur:
- l'inversion de contrôle - Dans un cadre, à la différence dans les bibliothèques ou normal applications de l'utilisateur, le programme global du flux de contrôle n'est pas dictée par l'appelant, mais par le cadre.[1]
- comportement par défaut - Un cadre a un comportement par défaut. Ce comportement par défaut doit effectivement être utile comportement, et non une série de non-ops.
- extensibilité - Un cadre de travail peut être étendue par l'utilisateur, généralement par le choix de la substitution ou de l'spécialisés par le code de l'utilisateur qui offrent des fonctionnalités spécifiques.
- non-modifiable dans le cadre du code - Le code de la structure, en général, n'est pas autorisé à être modifiée. Les utilisateurs peuvent étendre le cadre, mais pas de modifier son code.
Vous pourriez avoir besoin car il peut vous fournir avec un grand raccourci lors du développement d'applications, car il contient beaucoup de déjà écrit et testé la fonctionnalité. La raison en est assez similaire à la raison pour laquelle nous utilisons des logiciels de bibliothèques.
Beaucoup de bonnes réponses déjà, mais permettez-moi de voir si je peux vous donner un autre point de vue.
En simplifiant les choses en un peu, vous pouvez afficher un cadre qu'une application est complète, sauf pour la fonctionnalité réelle. Vous branchez la fonctionnalité et PRESTO! vous disposez d'une application.
Considérons, par exemple, un GUI cadre. Le cadre contient tout ce dont vous avez besoin pour faire une demande. En effet, vous pouvez souvent trivialement faire une application minimale avec très peu de lignes de source qui ne fait absolument rien, mais il ne vous donner de gestion de la fenêtre, sous-gestion des fenêtres, des menus, des barres de boutons, etc. C'est le cadre côté des choses. En ajoutant des fonctionnalités de l'application et de "brancher" à la bonne place et dans le cadre de cette vide application qui ne fait rien de plus que de gestion de la fenêtre, etc. dans un réel, application à part entière.
Il existe des types de cadres pour les applications web, de serveur-côté applis, etc. Dans chaque cas, le cadre fournit l'essentiel de l'fastidieux, répétitif code (je l'espère), tandis que vous fournissez le problème réel de la fonctionnalité de domaine. (C'est l'idéal. En réalité, bien sûr, le succès du cadre est très variable.)
Je tiens à souligner de nouveau que c'est la vue simplifiée de ce qu'est un cadre. Je ne suis pas en utilisant effrayant des termes comme "Inversion de Contrôle" et la comme bien que la plupart des cadres de ces effrayants concepts intégrés. Puisque vous êtes un débutant, j'ai pensé que je vous éviter le jargon et aller avec une simple parabole.
Je ne suis pas sûr qu'il y a une claire définition de "cadre". Parfois, un grand ensemble de bibliothèques est appelé un cadre, mais je pense que l'usage de la parole est plus proche de la définition aioobe apporté.
Ce très bel article qui résume la différence entre un ensemble de bibliothèques et d'un cadre:
Un cadre peut être définie comme un ensemble de bibliothèques qui disent "Ne nous appelez pas, nous vous appellerons."
Comment un cadre vous aider? Parce qu'au lieu d'écrire quelque chose à partir de zéro, vous fondamentalement juste d'étendre une, application de travail. Vous obtenez beaucoup de la productivité de cette façon - parfois, l'application qui en résulte peut être beaucoup plus complexe que vous ne l'avez fait sur votre propre dans le même laps de temps - mais vous le commerce dans beaucoup de flexibilité.