Quelle est la différence entre une pile de solutions et un framework Web? https://en.wikipedia.org/wiki/Web_framework


Réponse 1:

Cela n'a rien à voir avec la beauté des choses. Même si vous ne parlez que de frameworks UI ou CSS, vous pouvez créer des sites laids avec Polymer ou Bootstrap ou Compass tout en créant de beaux sites sans frameworks standard.

Les piles de solutions / technologies / logiciels sont un groupe spécifique de logiciels séparés par différents niveaux d'abstraction. Les cadres sont un niveau d'abstraction qui n'est pas un programme autonome mais vous aide à créer votre application via un ensemble étroitement intégré de bibliothèques et / ou d'outils.

Les cadres sont donc plus complets que les bibliothèques et sont généralement plus avisés et favorisent un flux de travail, une architecture ou un ensemble de conventions particuliers.

Cela pourrait être une infrastructure MVC principale qui gère pour vous tous les domaines communs du développement Web principal, tels que:

  • Routage d'URL et flux d'application, modularisation et extensibilité, gestion des dépendances, sécurité, mise en cache côté serveur, soumissions de formulaires et téléchargements de fichiers, création de service Web, couche d'accès aux données (des pilotes de base de données à l'ORM), gestion de session, modèles (y compris la composante, l'héritage des vues, les bibliothèques d'utilitaires de rendu HTML ou les fonctions de commodité, etc.) séparant votre code dans l'architecture Model-View-Controller

C'est ce qu'on appelle un cadre car il fournit toutes les pièces dont vous avez besoin dans un package complet et bien intégré plutôt que d'être simplement une collection lâche de bibliothèques développées / maintenues séparément pour chaque domaine individuel. Donc, vous commencez avec le framework et construisez autour de lui / au-dessus de lui plutôt que de construire votre application principalement à partir de zéro et en tirant simplement dans des bibliothèques tierces en particulier si nécessaire.

Une pile de solutions n'est pas un produit standard prêt à l'emploi. Il fait simplement référence à la pile particulière de technologies que vous avez choisie pour répondre aux besoins de votre application. C'est comme une liste d'ingrédients de haut niveau ou une liste de parties, par exemple votre système d'exploitation + votre SGBD + votre serveur Web + votre serveur d'application / middleware + votre cadre principal + votre cadre frontal. Selon les composants standard que vous utilisez, les pannes peuvent être différentes. Certains peuvent avoir plusieurs composants frontaux, comme un CSS ou un framework réactif + une bibliothèque de manipulation DOM + des bibliothèques de visualisation / liaison de données. D'autres applications Web pourraient simplement utiliser le framework Polymer comme le seul composant frontal standard. Certains peuvent inclure un PaaS ou un CDN ou des services cloud dans le cadre de leur pile technologique. Ou vous pouvez avoir plusieurs SGBD dans votre pile technologique.

Pour être clair, si vous choisissez d'utiliser des frameworks, ils font partie de votre pile de solutions, tout comme si vous choisissez d'utiliser un SGBD ou un CDN ou un proxy inverse de mise en cache, alors ils font également partie de votre pile de solutions.


Réponse 2:

Exemple rapide utilisant WordPress et la pile LAMP.

Pour qu'un site Web WordPress soit construit et finalement livré aux téléspectateurs, quelques éléments sont nécessaires sur le serveur sur lequel le site Web sera hébergé.

Commençons par décomposer la pile LAMP (la fondation du serveur web):

L - Linux (Tout comme Windows ou Mac OS, c'est la première couche du serveur Web: le système d'exploitation)

A - Apache (Il s'agit de la couche qui gérera le trafic Web réel. Les téléspectateurs accéderont à votre site Web en utilisant son nom de domaine et, finalement, Apache recevra ces demandes et chargera votre site Web. Pensez à la façon dont un fichier .docx doit s'ouvrir dans Microsoft Word ou Apple Pages. Pour un site Web statique simple, la page Web .html que vous créez est rendue et livrée aux utilisateurs via Apache).

M - MySQL (pour les sites Web dynamiques comme WordPress où une base de données est nécessaire, MySQL peut être utilisé. Considérez cela comme une version super flexible et plus robuste d'une feuille de calcul. Sur un site Web WordPress, tout, des comptes d'utilisateurs aux articles de blog que vous créez sont stockés dans cette base de données. En fin de compte, dans cet exemple, Apache frappera à la porte de MySQL et demandera les données requises pour rendre le site Web dynamique. MySQL et Apache travaillent ensemble simultanément pour fournir les données à l'utilisateur accédant à la page Web).

P - PHP (Il s'agit du langage de script côté serveur. Dans cet exemple WordPress, Apache + MySQL + PHP travaillent tous ensemble pour fournir le site Web dynamique. PHP indique à WordPress où trouver les données dans MySQL dont il a besoin pour le site Web. une fonction).

Dans cet exemple, WordPress est le framework. C'est ce que vous utiliseriez pour construire, concevoir et remplir votre site Web. Sans les bases d'une pile, vous n'avez aucun moyen d'héberger et de visualiser votre site Web.

Toutes mes excuses pour la brièveté et tout ce qui pourrait ne pas être clair à cause de ma saisie tardive sur iPad.


Réponse 3:

Une pile de solutions est un ensemble de logiciels qui peuvent être utilisés ensemble pour créer une application. L'application en cours de création ne doit pas seulement être une application Web. Pour illustrer, un exemple de pile de solutions pour créer une application Web peut inclure Apache Tomcat comme conteneur Web, Jersey comme couche REST, Hibernate pour ORM et MySQL comme base de données relationnelle. Cette combinaison de Tomcat, Jersey, Hibernate et MySQL est appelée une pile de solutions.

Ce qui entre dans une pile de solutions dépend beaucoup des fonctionnalités de l'application que vous essayez de créer. La partie «pile» du nom provient de l'architecture à trois niveaux héritée qui était utilisée pour créer des applications Web jusqu'à récemment (couches Web, métier et stockage).

Une pile de solutions fait partie intégrante de l'architecture de solution d'une application. Si vous souhaitez en savoir plus sur les piles de solutions utilisées dans les principales applications, vous devez visiter ce site: StackShare aide les développeurs à trouver et à décider des meilleurs services cloud.

Un framework web (ou d'ailleurs n'importe quel framework) est un élément d'une pile de solutions. Un cadre est essentiellement une plate-forme qui impose une approche structurée pour résoudre des problèmes courants. Par exemple, une infrastructure MVC telle que Spring ou Struts vous aide à créer des frontaux Web à l'aide du modèle de contrôleur de vue de modèle et du modèle de commande. D'autres exemples de frameworks incluent Hibernate, Jersey et même J2EE (servlet, EJB). Un cadre repose sur les principes selon lesquels 80% d'une logique d'application est réutilisable et 20% doivent être créés sur mesure pour une déclaration de problème donnée. Un cadre encapsule les 80% de la logique et fournit des points d'extension au plug-in des 20% restants. Presque tous les frameworks fonctionnent aujourd'hui sur le principe de l'inversion de contrôle, où le framework passe le contrôle à l'extension pour des opérations / tâches spécifiques.

À titre d'exemple simple, considérons un environnement de conteneur de servlet comme Apache Tomcat. La partie de votre application où vous devez avoir un processus qui accepte et répond aux requêtes HTTP est 80% de l'implémentation de code qui est réutilisable entre les applications. Tomcat encapsule cette capacité. Il vous donne un point d'extension sous la forme de l'API servlet. Tout servlet personnalisé que vous écrivez à l'aide de cette API est une extension du cadre utilisant les principes d'inversion de contrôle.