Pergunta

Você pode sugerir alguma boa estrutura MVC para perl - uma que eu conheço é catalisador

A necessidade é ser capaz de expor serviços na infraestrutura Perl que possam ser chamados por aplicativos Java/.Net perfeitamente.

Foi útil?

Solução

Direi agora que o Catalyst tem de longe a melhor reputação entre os desenvolvedores Perl em termos de uma estrutura MVC de desenvolvimento rápido de aplicativos.

Em termos de MVC "puro", não tenho certeza se existem tantas alternativas "maduras" ou pelo menos prontas para produção.

Se o Catalyst não parecer adequado para você, você poderá desenvolver a estrutura leve CGI::Aplicativo para atender às suas necessidades ou dê uma olhada em alguns dos frameworks MVC menos conhecidos, como Kit de páginas e Mastro.

Outras dicas

Já que esse tópico antigo apareceu, mencionarei duas novas e interessantes adições ao mundo Perl MVC:

  • Dançarino (CPAN) que é fortemente influenciado pelo Sinatra de Ruby, conhecido por ser muito leve
  • Mojolicioso (CPAN) que foi escrito pelo desenvolvedor original do Catalyst para usar o que ele aprendeu lá, não possui dependências não essenciais, com recursos integrados muito modernos (HTML5/CSS3/Websockets, analisadores JSON/XML, seu próprio UserAgent/mecanismo de modelagem)

(N. B.Eu usei o Mojolicious mais do que o Dancer e, como tal, se perdi alguns recursos do Dancer que listei para o Mojolicious, peço desculpas antecipadamente)

Outra alternativa além das já citadas é a Continuidade;no entanto, é (como o nome indica) baseado em continuação, em vez de MVC no sentido típico.Ainda assim, vale a pena mencionar porque é um dos melhores frameworks web Perl.

Dito isto, gosto muito mais do Catalyst do que de qualquer uma das alternativas.E ainda está melhorando o tempo todo!A desvantagem disso é que as atuais abordagens de codificação preferidas continuam a evoluir em um ritmo bastante apressado – mas nas últimas versões, houve uma forte ênfase na compatibilidade da API, de modo que a carga agora é mais mental do que administrativa.A próxima transferência interna para Moose, em particular, está preparada para fornecer alguns benefícios excelentes.

Mas o maior argumento a favor do Catalyst, IMO, é o tipo de despacho Chained.Não vi nada parecido em todo o web-framework-dom, e é uma ferramenta excelente para manter seu código o mais SECO possível.Isso combina bem com outra grande coisa que o Catalyst oferece, ou seja, uri_for – um método que pega um controlador e vários argumentos e então constrói um URI que seria despachado para aquele local, que ele retorna.Juntos, esses recursos significam que você pode estruturar seu espaço URI da maneira que achar correta, mas ao mesmo tempo pode estruturar seus controladores para evitar duplicação de lógica, e mantenha os modelos independentes da estrutura do URI.

É simplesmente brilhante.

Apoiando comentários feitos por outros:O Catalyst (que mais ou menos se originou do Maypole) é de longe o mais completo e robusto deles.Existe um livro de Jonathan Rockway que certamente o ajudará a lidar com isso.

Além do tipo de despacho 'Chained', os métodos de despacho :Regex (e :LocalRegex) oferecem enorme flexibilidade.O aplicativo mais recente que criamos aqui suporta muitos URLs de aparência diferente por meio de apenas alguns subs usando :LocalRegex.

Também gosto particularmente do fato de você não estar limitado a uma linguagem de modelo ou banco de dados específico.A lista de discussão (e o livro) têm preferência por Template::Toolkit (assim como eu) e DBIx::Class (continuamos a usar Class::DBI), mas você pode usar praticamente qualquer coisa que quiser.O Catalyst é maravilhosamente agnóstico nesse sentido.

Não se deixe levar pelo fato de que o Catalyst parece exigir metade do CPAN como dependências.Depois de colocá-lo em funcionamento, é uma máquina bem lubrificada.Atingiu um nível de maturidade agora que, quando você o enfrenta, descobre que ele “desaparece em segundo plano”.Você gasta seu tempo resolvendo necessidades de negócios, não brigando com as ferramentas que usa.

Ele faz o que diz na lata.Catalisador++

Tenho brincado com Agachamento últimos dias e devo dizer que parece muito promissor e divertido de usar.

É um micro webframework (ou web microframework ;-) e é fortemente influenciado por Acampamento que está escrito em Ruby.

Nota.Squatting (e Camping) não possui componentes de modelo integrados à estrutura.Aqui estão os comentários dos autores sobre os modelos ... “Modelos?O mundo inteiro é o seu modelo.;-) Sempre fui ambivalente quanto à definição de políticas aqui.Use o que funciona para você"

Há também o CGI::Application, que é mais parecido com a essência de um framework.Ajuda a pessoa a escrever CGIs básicos e colar pedaços neles para torná-los tão personalizados quanto desejarem.Portanto, você pode fazer com que quase nenhum módulo seja usado, ou quase todos sob o sol.

Catalisador é o caminho a percorrer.Também existe o Jifty, mas (da última vez que olhei) ele tinha uma documentação péssima.

Se você já conhece o Catalyst, recomendo focar nele.É maduro, bem documentado e possui uma grande base de usuários, comunidade e coleção de plug-ins.

Para o seu problema, eu daria uma olhada no Jifty::Plugin::REST que permite acesso a modelos e ações usando vários formatos.

Deixe-me apenas dizer que o Jifty não possui uma documentação terrível.No entanto, a maior parte da documentação incluída é documentação de API, mas há uma lista de discussão de baixo ruído que contém dicas úteis e links para aplicativos.

Wiki em http://jifty.org/ é outro recurso que possui bits úteis.

Se o seu objetivo é fazer locadora de vídeo (meu benchmark favorito para frameworks 4GLs e CRUD) à tarde, vale muito a pena dar uma olhada!

Outra opção é Pórtico quando usado em conjunto com o módulo BigTop, pode reduzir o tempo necessário para construir sites CRUD simples.

Há também ClearPress que posso recomendar como um aplicativo útil com suporte de banco de dados.Precisa de menos dependências que o Catalyst.Escrevemos alguns aplicativos grandes com ele e administro um site de escada de badminton usando-o.

Eu construí alguns aplicativos com Kelp, é fácil de aprender e muito útil.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top