perl model-view-controller catalyst dancer

perl - Dancer vs Catalyst



model-view-controller (3)

¿Qué piensas de ambos? Comencé a leer un libro sobre Catalizador, y lo encontré bastante complejo en comparación con Dancer. así que ahora le estoy dando una oportunidad a Dancer, y parece más fácil de aprender y más "amigable para los humanos".


Catalyst proporciona la misma abstracción que Dancer, la fuerza de Dancer o más bien la debilidad de Catalyst o más bien la debilidad de Dancer en cómo Catalyst obliga al desarrollador a cumplir con las mejores prácticas de Perl OO y el patrón de diseño de MVC. Después de hacer webapps por un tiempo, todo esto se hará evidente.


Creo que el comentario de David es muy preciso y excelente. Sin embargo, como alguien que ha hecho desarrollo en ambos pero que no es desarrollador, quizás sea un poco más objetivo (y técnico) en lo que respecta a las diferencias.

Ambos marcos proporcionan una variación en el paradigma de Web MVC.

El principal nivel de abstracción del Catalizador es el Controlador. Catalyst espera que rompa la lógica separada en paquetes separados de alguna manera lógica (el código de acceso va aquí , el código de registro va allí , la funcionalidad de búsqueda aquí ). Esto funciona increíblemente bien si tiene un equipo de programadores, ya que cada uno de ustedes puede trabajar en archivos separados y no pisar uno al otro durante las fusiones. Catalyst proporciona muchas herramientas para hacer que la lógica del controlador sea extensible y flexible. Creo que el mejor ejemplo de esto son las acciones encadenadas que permiten dividir y generar un flujo complejo para cualquier solicitud dada. El inconveniente es que resulta muy seductor poner su lógica comercial en los Controladores y termina con una lógica muy gruesa en los Controladores donde (teóricamente) pertenece en el Modelo.

El principal nivel de abstracción de Dancer es la Ruta. Mi experiencia con Dancer es que esto lleva a aplicaciones mucho más pequeñas. En parte mi experiencia aquí está teñida con el hecho de que he manejado varias miles de aplicaciones de línea en Catalyst, pero todavía tengo que escribir una aplicación Dancer de más de 200 líneas (con un alcance mucho más pequeño). Sin embargo, creo que esta experiencia es cierta. El impulso en Dancer es mantener la lógica del controlador muy delgada porque no tiene las mismas herramientas para administrar comportamientos complejos allí que Catalyst.

Honestamente he disfrutado trabajando en ambos. Ambos proporcionan diferentes opiniones sobre lo que se supone que es la escritura de una aplicación web. Me gustaría, dado el tiempo y la inclinación, recomendar aprender en última instancia.


Esta es una pregunta un tanto subjetiva, pero trataré de darle una respuesta de una manera objetiva. Lo primero es lo primero, un descargo de responsabilidad : soy parte del equipo de desarrollo de Dancer, por lo que mi opinión, por supuesto, debe considerarse algo parcializada :)

Catalyst es más ampliamente utilizado que Dancer, por lo que hay más apoyo de la comunidad detrás de él: si buscara contratistas con experiencia trabajando con cualquiera de los frameworks, es más probable que encuentre desarrolladores que hayan usado Catalyst. Por lo tanto, si está buscando soporte comercial, esa sería una buena razón para elegir Catalyst.

Dancer es un proyecto más joven, y está dirigido más a proyectos más pequeños, lo que hace que ponerse en marcha de forma rápida y fácil, y tratando de mantenerse alejado de su camino. Sin embargo, eso no quiere decir que Dancer no sea adecuado para proyectos más grandes; el mismo hábito de mantenerse fuera de su camino significa que puede organizar su proyecto de la manera que más le convenga.

Sin embargo, ha recibido mucho apoyo, y hay una creciente comunidad de usuarios y desarrolladores útiles en IRC y en la lista de correo, y más y más complementos útiles que se lanzan todo el tiempo. Al igual que con Catalyst, Dancer está diseñado para que pueda elegir su motor de plantilla preferido, back-end de almacenamiento de sesiones, etc., y es fácil ampliar el marco escribiendo sus propios complementos si es necesario.

Para que los testimonios de los usuarios vean lo que dice la gente acerca de Dancer, consulte la sección en la parte inferior de la página de inicio en el nuevo sitio web: Dancer

En aras de mostrar otras opciones, también está Mojolicious , otro marco web moderno de Perl que ha ido ganando popularidad últimamente.