O documento discute as diferenças entre frameworks e sistemas de gerenciamento de conteúdo (CMS), definindo frameworks como arquiteturas reutilizáveis e CMS como aplicativos para criar e gerenciar conteúdo para sites. Ele também lista e descreve vários frameworks e CMS populares em diferentes linguagens de programação, como WordPress, Joomla, Drupal e Django.
2. Definições: quando usar cada um?
Framework: CMS:
Uma arquitetura desenvolvida com aplicativo usado para criar, editar,
gerenciar e publicar conteúdo,
o objetivo de atingir a máxima
reutilização, representada como semelhante a um framework (um
esqueleto) de website pré-
um conjunto de classes abstratas e
concretas, com grande potencial de estruturado, com recursos básicos.
especialização.
Mattsson (1996, 2000) Wikipedia (04/2011)
3. Recursos existentes
Ferramentas de
Integração com Facilitador
software e da
as mídias sociais colaborativo
Web
Compartilhar
Editor de texto Twitter
conteúdos diversos
Ferramentas de
Facebook Grupos
colaboração
Design responsivo Google + Fóruns
4. Projetos CMS - PHP
CMS Foco de atuação Pontos fortes
Mais utilizado atualmente
Wordpress Blog
Usabilidade e semântica
Joomla! Sites corporativos Muitas possibilidades
Documentação e
Drupal Portais
segurança
Considerado melhor
Magento Loja virtual
projeto de loja virtual
Ambiente virtual de
Moodle Ambientes educacionais
aprendizado Completo
5. Projetos CMS - .NET
CMS Foco de atuação Pontos fortes
Mais utilizado atualmente
DotNetNuke Blog
Usabilidade e semântica
Umbraco Sites corporativos Muitas possibilidades
Documentação e
Kentico Portais
segurança
6. Projetos CMS - Python
CMS Foco de atuação Pontos fortes
Django Blog/Portais Mais utilizado, DRY
Plone Sites corporativos Muitas possibilidades
7. Projetos CMS - Ruby
CMS Foco de atuação Pontos fortes
Mais utilizado atualmente
Octopress Blog
Usabilidade e semântica
Locomotive Sites corporativos Muitas possibilidades
8. Projetos CMS - JAVA
CMS Foco de atuação Pontos fortes
Utilizado por grandes
Liferay Portais empresariais
empresas
9. Quando usar?
Antes de pensar na solução pense nos seguintes aspectos
Domínio do problema
Curva de aprendizado
Segurança
Desempenho
Adaptabilidade