14 votes

Mason est-il un cadre ?

Je me suis disputé avec un ami sur le fait que Mason (Perl) n'est pas un framework, mais un langage de modélisation. J'ai l'impression que Mason fait pour Perl ce que JSP fait pour Java (par analogie, pas par comparaison technique pure). D'après ce que je sais, JSP n'est pas un framework et je pense que Mason non plus. Quand j'ai regardé sur wikipedia Mason (Perl) Je constate que le site principal indique qu'il s'agit d'un cadre d'application web écrit en Perl alors que la page de discussion le conteste.

Des indications sur la raison pour laquelle il s'agit ou non d'un cadre ?

Mise à jour basée sur les commentaires d'ysth : Pour un framework, je pense qu'il devrait au moins faciliter l'accès aux bases de données, la gestion des sessions, la sécurité de base dont une application web aurait besoin, la création de modèles et la réutilisation du code (ou des bibliothèques qui facilitent les tâches de base).

15voto

pjf Points 4685

Mason est un "M" en moins pour être un cadre MVC (Model-View-Controller). Il offre des fonctionnalités de rendu (View) étendues, ce qui explique pourquoi les gens considèrent Mason comme un langage de templating. Cependant, il fournit également un certain nombre de mécanismes de distribution (notamment sous la forme de dhandlers) et de mécanismes de contrôle (qui s'intègrent naturellement dans les autohandlers).

Il y a quelques années, j'ai écrit un tutoriel en ligne (en maçon) pour présenter certaines de ces caractéristiques. Elle est optimisée pour un affichage en plein écran, et nécessite l'activation de javascript.

Ce que Mason ne vous donne pas, c'est une couche d'abstraction de base de données, vous devez donc apporter votre propre modèle.

Pour autant que je sache, amazon.com est écrit en maçon, de même que de nombreux autres sites .

Si vous aimez travailler avec Mason, mais que vous aimeriez avoir un modèle, d'autres jouets et un poney, vous pouvez envisager de vous adresser à Jifty comme cadre d'application web.

4voto

mat Points 5365

Un système de templating serait quelque chose comme HTML::Template c'est-à-dire un module qui ne fait que du templating.

J'ai l'impression que Mason fait plus, il a en quelque sorte un mécanisme de routage, il fournit une gestion des arguments par le biais de %ARGS les initialisations par %INIT .

Il fournit également des interfaces pour mod_perl , CGI ...

Maintenant, il ne parle pas à la base de données, car si vous voulez une façon propre de le faire, vous devrez utiliser Class::DBI , DBIx::Perlish ou l'un des cent autres modules perl qui font du mapping d'objets, ou autre chose...

4voto

draegtun Points 17081

Je ne peux pas répondre à la question de savoir si HTML::Mason est ou n'est pas un framework sans l'avoir regardé, mais je suis toujours satisfait de la définition suivante : .....

"un framework appelle votre programme alors que votre programme appelle une bibliothèque"

4voto

Keltia Points 8104

Il ne s'agit pas d'un Modèle-Vue-Contrôleur type de framework, il est probablement plus proche de PHP que de Ruby on Rails par exemple (et tout aussi mauvais d'après ce que j'en ai vu).

1voto

gpojd Points 12043

Regarder Embarquer Perl dans le HTML avec Mason Compte tenu de sa concurrence, je dirais que c'est un langage de gabarit. Sinon, Catalyseur y Maypole serait sur la liste. De même, je crois avoir lu quelque part que vous pouvez utiliser Mason comme le Voir dans une application Catalyst.

Je suppose que je peux voir comment on peut l'utiliser comme un cadre, mais il semble plus complet si on le considère comme un langage de modèles.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X