2010-04-06 6 views
21

Durante il mio primo colloquio di lavoro, mi è stato chiesto perché ho costruito il mio CMS? Perché non usare uno dei CMS esistenti, Wordpress, Joomla, Drupal ...? All'inizio ero stordito. Non ho potuto richiamare immediatamente tutte le mie ragioni per costruire il mio CMS, ma questo era sicuramente uno dei motivi principali: è il mio codice e se voglio cambiare qualcosa in quel CMS (che spesso devo fare, perché ogni sito web Costruisco esigenze CMS con funzioni diverse) non è un grosso problema. Per un po 'di tempo ho utilizzato Wordpress e una delle cose principali che mi ha distratto dall'utilizzarlo è stata scoprire bug nel codice che non è stato scritto da me e questi bug erano spesso, specialmente se ho apportato alcune modifiche a CMS o aggiunto un plug-in ...

Here, riesco a trovare questi 8 motivi per cui non costruire proprio CMS:
Perché creare il proprio CMS?

  1. non sarà soddisfare le esigenze degli utenti

  2. E 'troppo lavoro

  3. It non sarà una soluzione standard

  4. Non sarà estendibile abbastanza veloce

  5. Non sarà testato abbastanza bene

  6. Non sarà facilmente modificabili

  7. essa non aggiungerà alcun valore

  8. creare contenuti, non la funzionalità


Citazione dalla stessa pagina:

Quindi la domanda principale da porsi è: 'Perché sto davvero cercando di ri-a risolvere un problema che ha già stato risolto prima?'


Beh, io sicuramente d'accordo che è difficile inventare CMS che non è stato già inventato, ma in altra parte, penso che ogni CMS è (o dovrebbe essere) individuale ... forse non lo farà avere un milione di funzioni, avrà 3 funzioni ma il loro utilizzo sarà chiaro (a un utente) e farà tutto quello che un sito deve avere. Penso anche che non sia bello dare a un cliente un CMS con molte funzioni che non vengono mai utilizzate e sembra probabilmente più professionale quando il sito Web e il CMS sembrano insieme come un unico prodotto.

Vorrei anche commentare alcune parti di citazione:
"E 'troppo lavoro" - Sono d'accordo, ma quando si utilizza CMS esistente e personalizzazione alle esigenze del sito web e può essere a volte lavoro molto difficile o impossibile missione.
"Non sarà facilmente modificabile" - Non sono d'accordo con questo.

Qual è la tua opinione su questo, perché hai sviluppato o non hai sviluppato il tuo CMS?

+5

Questa dovrebbe essere una domanda wiki della comunità. – FrustratedWithFormsDesigner

+0

questa domanda può essere risolta solo da qualcuno che: 1. ha sviluppato il proprio CMS e utilizzato nella produzione e 2. ha utilizzato un CMS out-of-the-box, lo ha adattato ai requisiti precedentemente esistenti e lo ha utilizzato nella produzione. – Chris

+2

@Chris: Penso che chiunque abbia molta esperienza nello sviluppo web possa rispondere o dare un'opinione su questa domanda –

risposta

18

Questa è una domanda interessante che si applica alla maggior parte dello sviluppo, non solo durante la creazione di un CMS.

In generale, direi che è una cattiva idea reinventare la ruota (e la maggior parte degli 8 argomenti è corretta nella maggior parte dei casi), ma ci sono delle eccezioni. Il primo che viene in mente è uno da Joel Spolsky, In Defense of Not-Invented-Here Syndrome:

Se si tratta di una funzione core business - fare da te, non importa quale.

Il punto è, se stai facendo i tuoi soldi direttamente dalla costruzione di sistemi di gestione dei contenuti, non dovresti prenderne uno da qualcun altro e modificarlo finché non ti soddisfa. Preferiresti avere il pieno controllo del tuo prodotto.

Edit:

Inoltre, non dimenticate che la voglia di reinventare le cose steli (tra l'altro) da una legge fondamentale della programmazione:

E 'più facile scrivere il codice di quanto non è leggerlo

Questo non significa che dovremmo prendere la strada che sembra essere più facile ma spiega perché ci casciamo. Accetta la sfida e leggi effettivamente qualche codice, piuttosto che scriverlo, di volta in volta.

+0

Non so perché, ma sono un po 'scettico quando si tratta di usare qualcuno codice con la consapevolezza che in futuro avrò bisogno di apportare alcune modifiche, forse è questo che mi distrae dall'usarlo. Qualcuno menzionato qui, se stai costruendo CMS per impararlo e per imparare nuove tecnologie piuttosto che farlo bene. Bene, direi che sono stato anche guidato da questo. –

3

Come leader di un team che viene sempre spinto a fare di più con meno, anch'io faccio la domanda "perché dovresti scrivere da solo?"Esistono più pacchetti CMS oltre ai linguaggi di programmazione e trovo difficile credere che non ne trovi uno che soddisfi la maggior parte (se non tutti) i requisiti di clienti, business e costi.

Se trovi che il codice cambia sono necessari, optare per una soluzione open source, apportare le modifiche e condividere come necessario o desiderato

So che molte volte un sistema CMS NON è ciò che è necessario.Molti clienti hanno bisogno di un sistema di modifica del contenuto. è che qualcuno tecnico mette un sito sul posto e il cliente aggiunge/modifica/rimuove le pagine.Le pagine sono già ben progettate e formattate.In questi casi, posso vedere dove può essere più veloce progettare & implementare qualcosa da zero piuttosto che tagliare giù un arguzia CMS h diritti di accesso o rimozione/occultamento della funzionalità.

+0

come si decide quale sistema CMS è il migliore per i requisiti del proprio cliente? di sicuro hai bisogno di adattare il CMS che scegli, quindi qual è il migliore e sicuramente soddisferà tutti i requisiti? Quanto tempo hai bisogno per familiarizzare abbastanza bene con tutte le esistenti per fare quella scelta? (il migliore è economico in questo caso) – Chris

+0

Beh, non sono d'accordo sul fatto che sia così facile trovare CMS adatto, specialmente per i miei clienti quando la maggior parte di loro ha bisogno del CMS sito web (e) in lingua croata, e devo confessare che sono sempre Ho avuto un sacco di problemi con i caratteri diacritici –

+0

@ile: immagino tu voglia dire "šđćčŠĐĆČžŽ" ;-) – Chris

15

Vorrei costruire un CMS perché può essere divertente e una grande esperienza di apprendimento.

Tuttavia, qualsiasi CMS open source può essere personalizzato in base alle esigenze di qualsiasi cliente. Il problema più grande è che devi capire come funziona il CMS per poterlo cambiare bene.

In entrambi i casi vi troveremmo di fronte a un compito abbastanza grande, ma devo essere d'accordo con chi dice che non si dovrebbe ricominciare da capo (a meno che non lo si stia facendo per apprendere qualche nuova tecnologia) esattamente per i motivi indicati in la tua domanda ... Come si suol dire, non reinventare la ruota se non si desidera conoscere le ruote.

+1

"Costruirei un CMS perché può essere divertente e una grande esperienza di apprendimento" - Non l'ho scritto nella mia domanda, ma questo è stato anche uno dei motivi principali per cui ho iniziato a costruirlo. –

+2

"non reinventare la ruota se non si vuole conoscere le ruote" - questa è la risposta a tutti "Voglio scrivere il mio compilatore/os/cms/database" ecc. breve e pulito, + 10 a te! – ERJAN

7

Ho trovato che funziona quando il contesto del progetto è più grande di un semplice "sito di contenuti". Ho lavorato su numerosi siti immobiliari in cui la maggior parte del contenuto proviene da feed di dati o già presenti in database che hanno avuto la struttura impostata molto prima che venissi coinvolto. In realtà, avevamo solo una manciata di pagine di "contenuto" BS che costituivano il sito che venivano raramente aggiornate. Quello di cui avevano davvero bisogno era una semplice interfaccia per l'inserimento dei dati.È stato molto più facile costruire alcuni componenti fuori da provare e calzare un sistema esistente su un CMS fuori dalla scatola.

Come altri già menzionati, è necessario considerare i requisiti generali. C'è un flusso di lavoro coinvolto? Navigazione dinamica? Poi inizierei a puntare di più verso CMS fuori dagli schemi, ma molte volte le persone dicono che hanno bisogno di un CMS, quando hanno davvero bisogno solo di un'interfaccia WYSIWIG per un database. Ma a volte no ...

7

Mi sembra che la ragione principale per NON costruire il proprio CMS (oltre ai problemi di sicurezza) sia la mancanza di supporto e il percorso di aggiornamento. Considero un disservizio per i clienti metterli su un CMS personalizzato e quindi fare affidamento su di te solo supporto e aggiornamenti. Ancora peggio è farli pagare per lo sviluppo del CMS personalizzato: ti stanno pagando per reinventare la ruota, non importa quanto semplici siano i requisiti del sito.

Ci sono un sacco di opzioni CMS là fuori che ti permetterà di aggiungere le proprie estensioni personalizzate, se le vostre esigenze sono al di là di ciò che è costruito in.

il motivo migliore (forse solo) per costruire un CMS personalizzato è quello di impara bene una lingua. Costruire un CMS è un ottimo modo per imparare lo sviluppo del web, ma non è un ottimo modo per servire i tuoi clienti.

2

A meno che non ne costruisci uno per l'esperienza, c'è solo una vera ragione per costruirti da sola: è più economico e/o più facile rispetto all'usare uno sul mercato che soddisfi le tue esigenze.