Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Desenvolvendo aplicações com CMS Joomla!

Ola!

Trabalho com desenvolvimento web desde 2006, porém nos últimos anos tenho abandonado o desenvolvimento PHP "na unha" ou com frameworks e adotado o CMS Joomla! como base para meus websites e sistemas.

Desenvolvo minhas próprias extensões Joomla! para as mais diversas finalidades que vão desde um cadastro de clientes até emissão de nota e cupom fiscal.

Alguém utiliza Joomla! e suas extensões para desenvolvimento?

O que acham dele para esta finalidade?

3 respostas

Oi Wagner, tudo bem? Não utilizo Joomla apesar de conhece-lo e já ter desenvolvido alguma coisa dentro dele a alguns anos atrás, mas acho que posso responder sua pergunta.

Utilizei por bem mais tempo, o WordPress e não cheguei a desenvolver todo tipo de extensão como você fala, por causa de um simples motivo. Estes CMS's são extensiveis e isso é uma das suas maiores vantages, porém, vejo um problema.

A intenção desse tipo de ferramenta é gerir conteúdo, principalmente isso. Isso impede que você faça lojas e sistemas? Não, mas conceitualmente, esta fugindo do propósito inicial.

Construir todos os componentes na mão, pode não ser proveitoso em vista de desenvolver utilizando algum framework como laravel por exemplo, por que estes provavelmente já terao diversos componentes open-souces por ai funcionando, com testes e ainda mais, com uma comunidade bem mais ativa.

Os problemas mais visíveis são conceituais, na prática, você poderá ter problemas quando precisar plugar outras ferramentas para funcionar juntamente com seu Joomla, para analise de performance, customização e otimização de banco de dados, entre outros, que um framework pode te dar abertura e o cms não.

Não enxergo o CMS desta forma, sei que sua principal função é gerir conteúdo tomando a forma de um blog ou site, porém é bem possível ampliar suas capacidades gerindo outras informações e serviços.

Também é bem possível que eu construa componentes para o Joomla ou Drupal por exemplo utilizando frameworks como o Sinfony com o qual ja trabalho. Tenho apenas que monta-los seguindo algumas especificações para que possam ser instalados no CMS.

Apenas gosto de utilizar o Joomla como base, pois ele é frequentemente verificado contra problemas de segurança, reduzindo minhas preocupações para este propósito.

Tenho apenas que seguir suas boas práticas de manutenção e atualização.

solução!

Como falei, Wagner, foge do conceito da intenção da construção do CMS. Para você ter ideia de como algumas coisas podem ficar muito misturadas.

Você se vê construindo uma Alura com o Joomla? Apesar de muito possível, você vai se deparar com cenários onde talvez a ferramenta não seja a ideal, você vai se pegar escrevendo muito mais código do que utilizando uma base.

O problema de pensar dessa forma é que você pode acabar fazendo escolhas por puro gosto ao invés de pensar nas vantagens e desvantagens de cada ferramenta. Quer um exemplo mais complexo? Imagine-se implementando um internet bank com Joomla. É possível? Sim, mas será o ideal? Muito provavelmente não.

Quer outro cenário? O site da Alura (fora da plataforma), poderia ser construido com Joomla ou WordPress, mas por que não é? Por que não faz sentido para a arquitetura adotada para Alura. No site em si, você não tem usuários, você não precisa de gerenciador de conteúdo e um monte de outras coisas que essas ferramentas tem.

Outro argumento que as pessoas usam é: "Não preciso agora, mas quando precisar, já vai estar lá, por que eu uso o X". Isso apesar de fazer sentido, não é ideal, por que se você for tentar prever todas as necessidades do seu sistema no inicio, provavelmente ele nunca vai sair do papel. O requisito é que ele pelo menos tenha o essencial pra funcionar bem, depois você evolui.

Sobre seu argumento de verificação de segurança, bom, não tem o que discutir, mas tenho o que adicionar, qualquer framework popular oferece recursos de segurança e esta sempre se atualizando. O maior problema em relação a segurança está nas mãos do desenvolvedor, se você não segue práticas seguras, seu software terá problemas independente da ferramenta que adote.

Na prática, você pode fazer "tudo" com qualquer ferramenta que aceite rodar seu código, por que é seu código que define as funcionalidades e comportamentos. Mas conceitualmente, você não deve, por causa do propósito da ferramenta que você adota.