lite perl model-view-controller

perl - install mojolicious:: lite



Sugerir un buen framework MVC en Perl (13)

¿Puede sugerir algún buen marco MVC para perl? Uno de los que conozco es catalizador

La necesidad es poder exponer los servicios en la infraestructura de Perl que las aplicaciones Java / .Net pueden llamar sin problemas.


Catalizador es el camino a seguir. También hay Jifty, pero (la última vez que miré), tenía una documentación terrible.


En este momento, les diré que Catalyst tiene con mucho la mejor reputación entre los desarrolladores de Perl en términos de un marco de desarrollo de aplicaciones rápido MVC.

En términos de MVC "puro", no estoy seguro de que haya tantas alternativas "maduras" o al menos preparadas para la producción.

Si Catalyst no parece correcto para usted, entonces podría basarse en la plataforma ligera CGI :: Application para satisfacer sus necesidades o echar un vistazo a algunos de los frameworks MVC menos conocidos como PageKit y Maypole .


Si ya conoces Catalyst, te recomiendo que te centres en él. Es maduro, está bien documentado y tiene una gran base de usuarios, una comunidad y una colección de complementos.


Comentarios secundarios hechos por otros: Catalyst (que más o menos bifurcó de Maypole) es por mucho el más completo y robusto de ellos. Hay un libro de Jonathan Rockway que seguramente lo ayudará a entenderlo.

Además del tipo de envío ''encadenado'', los métodos de envío: Regex (y: LocalRegex) proporcionan una enorme flexibilidad. La última aplicación que hemos creado aquí admite una gran cantidad de URL de aspecto disparado a través de un puñado de subs utilizando: LocalRegex.

También me gusta especialmente el hecho de que no está limitado a un lenguaje de plantillas o base de datos en particular. La lista de correo (y el libro) tienen una preferencia para Template :: Toolkit (como lo hago yo), y DBIx :: Class (seguimos usando Class :: DBI), pero puedes usar prácticamente cualquier cosa que desees. Catalizador es maravillosamente agnóstico de esa manera.

No se deje intimidar por el hecho de que Catalyst parece requerir la mitad de CPAN como dependencias. Una vez que lo pone en funcionamiento, es una máquina bien engrasada. Ha alcanzado un nivel de madurez ahora que una vez que te enfrentas a él, te das cuenta de que ''se desvanece en el fondo''. Pasas tu tiempo resolviendo las necesidades del negocio, no luchando con las herramientas que usas.

Hace lo que dice en la lata. Catalizador ++


Otra alternativa además de las ya mencionadas es la Continuidad; sin embargo, es (como su nombre implica) basado en la continuación en lugar de MVC en el sentido típico. Aún así, vale la pena mencionarlo porque es uno de los mejores frameworks web de Perl.

Dicho esto, me gusta Catalizador mucho mejor que cualquiera de las alternativas. ¡Y sigue mejorando todo el tiempo! La desventaja de esto es que los enfoques de codificación preferidos actuales continúan evolucionando a un ritmo bastante rápido, pero en las últimas dos versiones, se ha hecho mucho hincapié en la compatibilidad de API, por lo que ahora la carga es principalmente mental en lugar de administrativa. El próximo puerto de los internos a Moose en particular está preparado para proporcionar excelentes beneficios.

Pero el mayor argumento a favor de Catalyst, IMO, es el tipo de envío encadenado. No he visto nada igual en todo web-framework-dom, y es una excelente herramienta para mantener su código lo más seco posible. Esto combina bien con otra gran cosa que ofrece Catalyst, a saber, uri_for - un método que toma un controlador y un montón de argumentos y luego construye un URI que se enviaría a ese lugar, que devuelve. En conjunto, estas instalaciones significan que puede estructurar su espacio de URI de la manera que considere correcta, pero al mismo tiempo puede estructurar sus controladores para evitar la duplicación de lógica y mantener las plantillas independientes de la estructura de URI.

Es simplemente genial.


También hay CGI :: Application, que se parece más a las entrañas de un framework. Ayuda a una persona a escribir CGI básicos y pegar bits para que sea tan personalizado como lo desee. Así que puede hacer que use casi ningún módulo, o casi todo el mundo bajo el sol.


Otra de las opciones es que cuando se utiliza Gantry junto con el módulo BigTop, puede reducir el tiempo que lleva construir sitios CRUD simples.



Para su problema, echaré un vistazo a Jifty :: Plugin :: REST, que permite el acceso a modelos y acciones utilizando varios formatos.

Permítanme decir que Jifty no tiene documentación terrible. Sin embargo, la mayoría de la documentación incluida es documentación de la API, pero hay una lista de correo con muy poco ruido que tiene sugerencias útiles y enlaces a las aplicaciones.

Wiki en http://jifty.org/ es otro recurso que tiene bits útiles.

Si su objetivo es hacer una tienda de videos (mi punto de referencia favorito para 4GL y marcos CRUD) en la tarde, ¡realmente vale la pena verla!


Desde que surgió este viejo hilo, mencionaré dos nuevas y emocionantes adiciones al mundo Perl MVC:

  • Dancer ( CPAN ), que está muy influenciado por Ruby''s Sinatra, conocido por ser muy liviano
  • Mojolicious ( CPAN ), escrito por el desarrollador original de Catalyst para usar lo que aprendió allí, no tiene dependencias no centrales, con construcciones internas muy modernas (HTML5 / CSS3 / Websockets, analizadores JSON / XML, su propio motor UserAgent / templating )

(NB He usado Mojolicious más que Dancer, y como tal si me perdí algunas características de Dancer que enumeré para Mojolicious, entonces me disculpo por adelantado)


También está Clearpress que puedo recomendar como una aplicación útil respaldada por una base de datos. Necesita menos dependencias que Catalyst. Hemos escrito algunas aplicaciones grandes con él, y uso un sitio web de escalera de bádminton.


He desarrollado algunas aplicaciones con Kelp , es fácil de aprender y muy útil.


He estado jugando con Squatting en los últimos días y tengo que decir que se ve muy prometedor y divertido de usar.

Es un micro-webframework (o microframework web ;-) y está muy influenciado por Camping, que está escrito en Ruby.

NÓTESE BIEN. Squatting (& Camping) no tiene componentes modelo horneados en el marco. Aquí están los comentarios de los autores sobre los modelos ... "Modelos: todo el mundo es tu modelo. ;-) Siempre he sido ambivalente a la hora de definir políticas aquí. Usa lo que sea que funcione para ti"