Muitas das minhas pesquisas nas próximas semanas serão sobre diferentes CMSs. Eu já dei uma breve olhada no episerver e no umbraco. Ao ler esses sistemas, não posso deixar de pensar que é possível obter recursos de gerenciamento de conteúdo sem conhecer os detalhes e a estrutura de muitas dessas plataformas CMS (bastante grandes).
No passado, recebi projetos em que meu papel como desenvolvedor deve ser mantido separado do papel de editor (faz sentido). ou seja, minha tarefa era desenvolver o design e a funcionalidade do site e o trabalho de meus clientes para atualizar o conteúdo. Eu consegui isso implementando também uma espécie de 'portal' no qual havia algumas páginas que aceitavam entrada de texto e upload de fotos etc. (basicamente, qualquer conteúdo que eles quisessem), registre esse novo conteúdo no banco de dados e depois por design, o code-behind leria tudo isso do banco de dados em controles relevantes (repetidores, por exemplo).
Para mim, essa tem sido uma maneira eficaz de meus clientes gerenciarem o conteúdo para implantar com minhas soluções. Sei que estou errado - e que os CMS são preferíveis aos criados desde o início -, mas, além da questão de custo, por quê?
Respostas:
Você usa um CMS existente para se livrar do peso dos recursos que provavelmente são importantes para os usuários que você não deseja acompanhar.
EPiServer, Umbraco, Orchard, etc, todos têm opções integradas para acompanhar coisas como versões, que conteúdo está vinculado a outro conteúdo, como criar formulários etc. Além disso, eles têm eventos que você pode conectar para modificá-los como você achar melhor.
Eles geralmente têm milhares de horas de solução de problemas já concluídas, então por que não tirar proveito disso? Especialmente nas versões gratuitas ou de código aberto, onde literalmente não custa nada além do tempo de aprendizado de suas APIs, que eu quase garanto que é menos tempo do que você gastaria recriando essa funcionalidade.
Portanto, a menos que você não precise reconstruir a funcionalidade que eles fornecem, por que não usar algo já conhecido por funcionar bem?
Aqui está apenas uma breve lista de recursos existentes que você não precisaria implementar por conta própria:
fonte
Há NO resposta definitiva sobre qual deles melhor. Depende de suas necessidades, estrutura, custo, mão de obra e qualquer número de outros fatores.
CMS pré-fabricado / estabelecido
Prós
Contras
CMS fabricado em casa / sob medida
Prós
Contras
Se você tiver tempo e nenhum dos sistemas pré-fabricados se encaixa no orçamento ou é muito complexo, não vejo razão para não criar o seu próprio, a não ser o fator demorado, é claro.
fonte
Você também pode adicionar segurança da web à discussão. Se você criar um CMS do zero, é provável que tenha vulnerabilidades a vários ataques (consulte, por exemplo, https://www.owasp.org/index.php/Top_10_2010-Main ). Se você, por outro lado, usar um CMS existente, ele geralmente será mais seguro, mas, por outro lado, suas vulnerabilidades serão mais generalizadas.
Portanto, é uma espécie de compensação em termos de segurança, mas eu diria que um CMS "padrão" bem atualizado é mais seguro que um caseiro, mas até certo ponto depende de qual padrão você escolhe.
No entanto, se você usar um CMS "padrão" e fizer muitas modificações, poderá interromper o caminho da atualização e acabar com a impossibilidade de atualizar seu CMS, ficando vulnerável.
fonte
Uma coisa a ser levada em consideração é que seu CMS pode se tornar obsoleto, não necessariamente na linguagem, mas sim na funcionalidade e no design. O próximo grupo de programadores pode não querer trabalhar com essas restrições de funcionalidade e, tanto quanto o design, pode arruinar sua imagem!
Se é um site simples, ou você não tem muito tempo para se dedicar, o CMS parece ótimo!
fonte
O principal motivo para criar seu próprio CMS é poder adicionar sua própria funcionalidade a ele ao longo do tempo. Com um CMS pronto para uso, você está vinculado à arquitetura e tecnologia de terceiros que o criaram.
Exemplos:
Umbraco - dependência de XSLT para layout - #fail
Orchard - excesso de engenharia e curva de aprendizado para desenvolvedores de Web Forms
... etc
fonte
Manter o core business é um argumento muito bom, eu diria. Só porque você está construindo um carro não significa que você também deve criar seu próprio combustível. Esse é um produto completamente diferente e é muito provável que outra pessoa o faça muito melhor, já que seu foco estará em outro lugar. Erros em sistemas recém-desenvolvidos também não devem ser subestimados. Um cms que já existe há algum tempo terá alguns bugs sim, mas não perto do número que o seu novo terá. Um cms existente foi testado por milhões de usuários ao longo dos anos.
fonte