2011-01-02 20 views
6

Ho iniziato a chiedermi se ASP.NET Webforms/MVC abbia più spazio negli strumenti degli sviluppatori Web ... Sembra che i sistemi CMS come Umbraco abbiano sostituito il lavoro degli sviluppatori web. Sì, lo so che quei sistemi CMS sono costruiti con ASP.NET Webforms/MVC - tuttavia c'è ancora qualche ragione per imparare quelle cose se tutto quello che farai è usare comunque un sistema CMS? - Inoltre non posso trovare alcuna situazione in cui un sistema CMS possa essere sostituito dalla tua applicazione web.Se utilizzare CMS o meno

La mia domanda è quindi: c'è qualche motivo per imparare Webforms/MVC quando si utilizza un CMS?

EDIT:

La mia domanda potrebbe essere più simile a: Quando devo usare un CMS, e quando devo andare a costruire il mio web app?

+1

penso che questo sia il più adatto per http://programmers.stackexchange.com/ –

+0

Sì, se si desidera apportare modifiche al CMS/creare plugin –

+0

sì, ma questo non richiederà più delle conoscenze di base ... – ebb

risposta

20

Il problema con le soluzioni CMS, e intendo le soluzioni CMS (non solo Umbraco o altre soluzioni .NET, ma in qualsiasi lingua) è che si pagherà sempre un prezzo per l'utilizzo. Puoi guadagnare di più dal momento in risparmio offerte dalla utilizzando il CMS, ma ci sono dei compromessi da considerare:

  • Si sacrificare una grande flessibilità
  • Si può pagare una penale di prestazioni significative. Molti CMS caricano una grande quantità di moduli e codice per soddisfare ogni richiesta e gran parte di ciò non è rilevante per una particolare funzione di pagina. (sebbene alcuni CMS siano più mostruosamente pesanti di altri!)
  • Il futuro del progetto è legata ad un altro fornitore, e le proprie scelte
  • Molto spesso, si esclude la possibilità di utilizzare altri database che potrebbero avere più adatta le esigenze del cliente (Umbraco non supporta PostgreSQL , Kentico supporta solo SQL Server)

Una volta che inizi a utilizzare un CMS, sarai in grado di soddisfare le decisioni di architettura e le API del framework CMS, e alla fine potresti tornare in un angolo.

Questo può essere particolarmente problematico se il "sito" è più un'applicazione Web che un sito di consegna di contenuto puro. In questi casi può essere più sensato scegliere di costruire utilizzando la piena flessibilità del framework applicativo web, piuttosto che rischiare di finire in un angolo architettonico.

D'altra parte, se si sta creando un sito Web che ha potenzialmente centinaia di pagine, con molti contenuti forniti dagli utenti ed è molto meno un'applicazione Web, spesso un CMS è la strada da percorrere, e ha molto senso. Ma ricorda, ora hai due framework e due API da imparare e gestire (il framework della tua piattaforma e il framework CMS).

8

Non penso che Stack Overflow potrebbe essere stato costruito con un CMS. Questo risponde alla tua domanda? =)

Aggiornamento

per rispondere alla tua domanda aggiornato.

Se si desidera un normale Web aziendale contenente notizie, articoli, forum, ecc.: Andare avanti e utilizzare un CMS.

Se avete bisogno di costruire un sito web più personalizzato come StackOverflow, un'interfaccia web per un sistema o qualcosa di simile: Costruito utilizzando MVC ecc

Io personalmente uso un CMS per il nostro sito corparate e MVC framework per costruire interfacce utente e di amministrazione per i nostri prodotti.

+1

Cosa dovrebbe impedirne la creazione con un CMS? – ebb

+0

+1 @jgauffin: concordato, CMS è uno strumento per aiutare a risolvere un sottogruppo di problemi, ma è comunque necessario conoscere le basi per risolvere i grandi problemi. – jmort253

+0

@ebb StackOverflow è più di un semplice sito web. C'è un sacco di roba in corso dietro le quinte che ha coinvolto un po 'di ingegneria complessa. – jmort253

2

Concordato. Un CMS come Umbraco fornisce una (molto) buona soluzione pronta all'uso per le applicazioni più elementari. Qualsiasi tipo di scopo specifico richiederà conoscenze di programmazione aggiuntive. Più, però, e il tuo maggiore, se non primario, bisogno sarà una buona comprensione delle necessità del business. Penso che ci stiamo allontanando dalla costruzione dei Lego stessi e dalla costruzione di giocattoli puliti con i Lego. Saluti!

+0

"le applicazioni più semplici" o la maggior parte delle applicazioni di base? Una tonnellata di differenza tra i due ... – Avi

1

Un CMS (o un framework di applicazione simile) offre molte funzionalità e molti di essi hanno anche una buona libreria di plug-in. Tuttavia, dovrai aggiungere codice WebForm/MVC se desideri aggiungere funzionalità personalizzate.

18

Scrivere un CMS è come invadere l'Afghanistan.

Ognuno ottiene un turno ma nessuno vince.

4

Non tutti i problemi richiedono un CMS. Allo stesso modo, non tutti i problemi richiedono un sito Web MVC/Webform personalizzato. Dipende da quali sono le tue esigenze. Scegli la tecnologia per risolvere il problema.

Build vs buy è la decisione più difficile da prendere. Come una build per sviluppatori sembra sempre la migliore. Puoi fare meglio di quel mucchio di carpe che vogliono comprare. Non importa che tu stia reinventando la ruota, l'axel, il carrello, ecc. Per gli utenti/dirigenti, l'acquisto sembra sempre il migliore. Non devono pensare a quello che vogliono e possono averlo ora, non 3 mesi dopo averlo scritto. Dimenticano che costerebbe di nuovo lo stesso per personalizzare & rendere impossibile l'aggiornamento.

Ora smetterò di farmi beffe.

3

Umbraco è un CMS minimo piuttosto semplice. Per personalizzarlo (ad es. Versione 7+) è necessario conoscere Heavy MVC, JSON, XML, Sql, ecc.

In effetti un sito basato su Umbraco 7+ è interamente basato su visualizzazioni MVC che imposti e assegni a SurfaceControllers (che sono i controller MVC) e tutto ciò che ottieni è la possibilità per gli utenti di modificare le informazioni sulle tue pagine e fare in modo che Umbraco le gestisca in un DB.

In breve, hai ancora bisogno di sviluppatori web esperti per costruire un sito su Umbraco, risparmiano un sacco di tempo non costruendo l'intero backend da zero.

Si utilizza Umbraco per organizzare i tipi di documento che definiscono quali modelli (MVC Views) vengono utilizzati per il rendering di diversi tipi di documenti (ad esempio pagine Web) e quindi si è creato il modello da zero con il controllo del 100% sull'HTML, Css e Javascript che ottengono l'output.

Imo Umbraco è più di un framework come Django che un CMS completo.

Certo è possibile costruire un sito in Umbraco e non personalizzare nulla, ma sarebbe un sito piuttosto cremoso.

L'intero punto di Umbraco è quello di fornire agli sviluppatori esperti .Net una buona piattaforma per costruire un sito su di esso, ma devono ancora costruirlo.

Ora sharepoint sarebbe più di un CMS completo pronto per l'uso, ma vediamo alcuni problemi con SharePoint ...

  1. Resource pesante, mangia di 50+ Gig installare
  2. Eats 16 GB di RAM solo per l'avvio in su (Sharepoint 2013)
  3. richiede SQL Server 2008 R2 o equivalente (licenza enterprise, $$ chaching)
  4. Richiede Windows Server ($$ chaching)
  5. È fondamentalmente un mostro, se tutto ciò che serve è una piattaforma blod modificabile dall'utente ... uomo che spreco di soldi. La fondazione è gratuita, ma non include elementi come il modello di sito blog, quindi si acquista una licenza aziendale server ($$ grande cachinge, 40.000 $ + in alcuni scenari ...)
Problemi correlati