Por que escolher um CMS estabelecido em vez de criar um a partir do zero?

13

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ê?

SkonJeet
fonte
1
Por que você gostaria de passar por toda a dor do desenvolvimento (design, codificação, depuração, teste) quando alguém já fez tudo isso por você?
22412 PhilPursglove
5
Há documentos sobre documentos e sites sobre sites, com instruções e tutoriais sobre como aprender esse tipo de CMS corporativo. Por que eu gostaria de passar por toda a dor de aprender e me acostumar a implementá-las quando, na verdade, eu poderia estar desenvolvendo a minha própria desde o início, com controle completo?
1
A maior razão pela qual você sofre com a dor do aprendizado é porque também está pulando a dor da solução de problemas (espero que seja). E se você estiver encontrando documentação, espero que isso também signifique que, quando você tiver que treinar alguém, existe muito menos documentação que você deve fazer.
sclarson
Há uma tecnologia mais nova da antiga abordagem de instalação do CMS, na qual você não precisa aprender nada e pode programar em seu próprio idioma. Eu mesmo construí um porque fiquei cansado desse problema de instalação ou usando alguma coisa cmsy cms que funciona para designers. Meu perfil tem um pouco de como fazê-lo.
Jason Sebring
@sparks, Solucionar problemas de bugs de outras pessoas é 100x mais irritante do que solucionar seus próprios bugs.
Pacerier

Respostas:

9

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:

  • versionamento de conteúdo
  • fluxo de trabalho
  • relatórios de status do link da página
  • personalização do editor wysiwyg
  • modelagem de conteúdo (tipos de página / tipos de documento)
  • APIs de recuperação de conteúdo
  • documentação / treinamento para editores e desenvolvedores
  • estratégias de cache de objetos
  • sistemas de consulta de conteúdo para pesquisa
  • estruturas de hierarquia de conteúdo (nos CMSs, em que o conteúdo está em forma de árvore)
  • visualizações do editor
  • visualizações de administrador
  • controle de acesso
Sclarson
fonte
Marquei isso como a resposta, pois é a lista mais abrangente de benefícios que eu obteria ao optar por um dos CMS mencionados. Eu acho que provavelmente vai me levar a sujar as mãos com eles para apreciar plenamente os benefícios.
Configurar seu próprio sistema é apenas "status quo" sobre os sistemas em nuvem se você não valoriza o controle sobre seus próprios dados, possui seus servidores ou não entende a distinção entre software que você possui e software que você aluga. Esses anúncios furtivos para o seu negócio parecem muito estranhos para mim. Se você realmente acha que um SOS CMS baseado em nuvem é uma boa opção para a situação do OP, faça uma resposta e deixe a comunidade votar nele.
CodexArcanum
@ CodexArcanum - Não leve nada a sério o emeraldcode. Eles são o CEO de uma empresa que fornece esses serviços. Então, basicamente, a conta deles é um anúncio gigante.
Ramhound 23/03
4

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

  1. Salva um monte de tempo. Alguns dos CMS 'que existem há anos têm muitas e muitas horas de trabalho neles. Você pode não precisar de 10% dos recursos em um CMS pré-fabricado, mas, independentemente disso, economiza tempo e tempo não é gratuito!
  2. Economiza muito dinheiro.
  3. Geralmente, possui uma enorme quantidade de recursos que provavelmente funcionarão para suas necessidades.

Contras

  1. Licença . Você precisa cumprir a licença do CMS pré-fabricado usado. Isso pode não ser um grande problema, mas talvez você queira alterar algo proibido pela licença ou talvez seja proibido usá-lo em um ambiente de produção.
  2. Pesado . Como o CMS provavelmente será adaptado para atingir o maior número possível de públicos. Talvez você tenha uma limitação do servidor ou não queira carregar scripts em excesso para o gerenciamento básico de conteúdo.
  3. Possivelmente escrito de forma não modular . Digamos que você implementou um CMS pré-fabricado e o site está pronto para o cliente assinar e digamos que vamos implantar! Então você filma para o seu cliente e eles dizem "Ah, eu quero adicionar esse recurso ao CMS!" Então, se você escolher um CMS muito complexo ou pouco modular, poderá haver um problema ao implementar a solicitação de recursos ou isso pode levar um tempo excessivo.
  4. Herdar seus erros . Você herdará todos os erros existentes no CMS. Não é um problema, pois geralmente é fácil de atualizar, mas e se você modificasse partes dele para adicionar um recurso?

CMS fabricado em casa / sob medida

Prós

  1. Adaptado às suas necessidades . Você poderá integrar SOMENTE o que precisa e manter alta portabilidade.
  2. Escrito no seu idioma . Talvez você tenha um site ASP.net MVC e todos os CMSs escritos em PHP, mas você queira um que seja escrito em C # usando o MVC e o mecanismo de exibição de razor (exemplo aleatório idk). É muito mais fácil manter uma página da web uniforme e sem um enorme PHP / JS / etc. CMS no meio de todo o código C #.
  3. Seu você / sua empresa possuí-lo 100%, você pode usá-lo em tantos aplicativos quanto você quer w / o de comprar licenças adicionais, etc.

Contras

  1. Demorado , portanto, é caro . Você pode gastar qualquer quantidade de tempo de uma dúzia de dias trabalhando em um CMS, dependendo das horas dedicadas, da experiência, etc., etc.

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
2
Quando você remove tempo e dinheiro como restrições, raramente há motivos para não fazer algo.
sclarson
1
@sparks projetos do mundo real sempre tem essas restrições;)
1
Tipo do que eu estava dizendo com o meu comentário. Dizer contras do tipo "demorado" de açúcar reveste a quantidade de trabalho envolvido na escrita do zero. Você escreve o código, precisa documentar / treinar e ter todo o tempo de depuração / solução de problemas para cada recurso que escreve.
Sclarson 13/03/12
2

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
1

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
1

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

IrishChieftain
fonte
1
A Umbraco não requer XSLT, mas é uma opção.
sclarson
Quer dizer que você pode usar CSS exclusivamente? A Umbraco também tinha sua própria linguagem de marcação proprietária? Como o SkonJeet, eu também tive que pesquisar isso em um estágio.
22412 IrishChieftain
2
O Umbraco possui formulários da web e uma opção de mvc. Ele nunca exigiu que você usasse sua própria linguagem proprietária. Você sempre esteve no asp.net e sempre teve a opção de consultar o armazenamento de dados e escrever controles para ele, se quisesse.
sclarson
1
Outro CMS que usei foi o N2, que tinha um código realmente elegante, tanto que você não conseguia entender. A opinião deles era de que o código deveria se documentar, o que é um Bee Ess total.
22712 IrishChieftain
1
Já fiz vários sites na Umbraco e nunca usei o XSLT. Na nova versão, não é mais uma opção embutida, tanto quanto eu sei. No entanto, o XSLT é aparentemente extremamente poderoso (para as 6 pessoas que podem entendê-lo!).
EJ Brennan
1

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.

Daniel Ovaska
fonte
"seu foco estará em outro lugar" - lol
Tim Abell 29/03