2008-12-08 9 views
13

He estado teniendo un conflicto con un amigo de que Mason (Perl) no es un framework, sino un lenguaje de plantillas. Siento que Mason para Perl hace lo que JSP hace por Java (como una analogía, no una comparación técnica pura). Por lo que sé, JSP no es un marco y creo que tampoco lo es Mason. Cuando busqué wikipedia Mason (Perl), veo que el sitio principal dice que es un marco de aplicación web escrito en Perl mientras la página de discusión lo impugna.¿Mason es un marco?

¿Alguna sugerencia sobre por qué es/no es un marco? Para un framework, creo que al menos debería facilitar el acceso a db, gestionar sesiones, seguridad básica que necesitaría una aplicación web, plantillas y reutilización de código (o bibliotecas que facilitan las tareas básicas))

+0

Probablemente quiera calificar su pregunta como "¿es un marco de aplicación web?", Ya que un "marco" no calificado puede aplicarse a casi cualquier cosa. – ysth

+0

¿Quizás podría publicar una respuesta a su propia pregunta enumerando los atributos que debe tener un marco de aplicación web y cuáles tiene o no tiene Mason? – ysth

+0

Acabo de solucionar la cuestión nuevamente. Algunas de las respuestas lo indican también. La pregunta estaba muy abierta a la interpretación. – Arvind

Respuesta

13

Mason es un 'M' corto de ser un marco MVC (Modelo-Vista-Controlador). Proporciona funciones de representación (visualización) extensas, por lo que las personas piensan que Mason es un lenguaje de plantillas. Sin embargo, también proporciona bastantes mecanismos de envío (epsecialmente en forma de dhandlers) y mecanismos de control (que se ajustan naturalmente a los manejadores automáticos).

Hace algunos años escribí on-line tutorial (en Mason) para mostrar algunas de estas características. Está optimizado para visualización en pantalla completa, y necesita javascript habilitado.

Lo que Mason no le da es una capa de abstracción de base de datos, por lo que debe traer su propio Modelo.

Según mi conocimiento, amazon.com está escrito en Mason, junto con many other sites.

Si le gusta trabajar con Mason, pero le gustaría tener un Modelo, más juguetes y un pony, entonces puede considerar mirar Jifty como un marco de aplicación web.

+4

Oye, tu enlace no funciona. Me encantaría ver tu tutorial. – i8abug

+0

^segundo que, 7 años después! o_o! –

+1

^¡9 años después, todavía no funciona! –

0

Depende de su definición de marco.

Puede aplicar el marco de nombre a cualquier biblioteca si hace más de una cosa.

4

Un sistema de plantillas sería algo así como HTML::Template, es decir, un módulo que solo hace plantillas.

siento que Mason hace más, tiene de alguna manera un mecanismo de enrutamiento, que proporciona un manejo sin embargo, %ARGS intialisations través %INIT argumento.

También proporciona interfaces para mod_perl, CGI ...

Ahora, no hablar con la base de datos, como si desea una forma limpia de hacerlo, tendrá que utilizar Class::DBI, o DBIx::Perlish uno de los otros cientos de módulos perl que hace mapeo de objetos, o lo que sea ...

4

No puedo responder la pregunta de si HTML :: Mason es o no es un framework sin mirarlo, pero siempre estoy feliz con la siguiente definición ...

"un marco llama al programa mientras que el programa llama a una biblioteca"

1

En cuanto a Embedded Perl in HTML with Mason vista de su competencia, yo diría que es un lenguaje de plantillas. De lo contrario, Catalyst y Maypole estarían en la lista. Además, creo que leí en alguna parte que puede usar Mason como la parte View en una aplicación Catalyst.

Supongo que puedo ver dónde puede usarlo como un marco, pero parece ser más completo si lo ve como un lenguaje de plantilla.

4

No es un tipo de marco Model-View-Controller, probablemente esté más cerca de PHP que Ruby on Rails por ejemplo (y tan malo por lo que he visto de él).

1

Mason solo no es un marco, es solo un sistema de plantillas PERO con algunas características muy interesantes. Tiene su propia estructura y puedes insertar código perl muy fácilmente en él, también tiene soporte de caché. He visto personas que usan Mason solo para desarrollar una aplicación grande, pero creo que funciona mejor en un marco MVC.

¡Cuidado!

0

HTML :: Mason es lo que los frameworks quieren ser cuando crezcan. Con HTML :: Mason que se obtiene:

  • un despachador
  • plantillas
  • almacenamiento en caché
  • tala
  • modularización extremadamente flexible

Fue diseñado para un alto rendimiento web de varios niveles aplicaciones, no para complacer a los fanáticos de los patrones de diseño tomados de la programación de escritorio (como fue MVC).

1

La siguiente definición de marco se toma del libro Gamma sobre Patrones de diseño. "Un marco es un conjunto de clases colaboradoras que conforman un diseño reutilizable para una clase específica de software". Mason, según esa definición, es un marco. Un marco MVC es solo un tipo de marco.