Domanda

Sto lavorando su un'applicazione web-based che è destinato ad avere almeno una vita di 6 anni. Quando l'applicazione è consegnato, è probabile che non sarà modificato durante tale intervallo di tempo.

Stiamo pensando di utilizzare l'asp.net framework MVC e jQuery, ma mi chiedo se questo è una buona scelta. Il cliente non è probabilmente andando a voler spendere tempo e denaro aggiuntiva lungo la strada perché JavaScript, gli standard del browser, ecc sono cambiati.

Qual è la soluzione migliore per ridurre al minimo le possibilità che l'applicazione avrebbe bisogno di manutenzione per i prossimi 6 anni?

È stato utile?

Soluzione

  

cliente non è probabilmente andando a voler spendere tempo e denaro aggiuntiva lungo la strada perché JavaScript, gli standard del browser, ecc sono cambiate.

È lei, o è lei no? Riesci a convincerla che il mondo intorno a lei continua a muoversi, e lei sarà necessità per aggiornare la sua applicazione per lavorare con le principali piattaforme di futuro?

Presumo che questa è un'applicazione Intranet, non un (Internet fronte) applicazione pubblica. Perché se si tratta di Intranet Credo che 6 anni non è realistico, ma la modalità di guasto è probabile che sia abbastanza benigna. Ma Internet, 6 anni e nessun aggiornamenti di sicurezza per l'applicazione stessa -. Nessun modo, non vorrei partecipare che per evitare di danneggiare la mia reputazione professionale

Vorrei provare difficile vendere un fermo (canone di manutenzione del software) per mantenere l'attuale applicazione. E con questo, un buon documento legale che delinea chiaramente ciò che ottiene il cliente (cioè correzioni di compatibilità e la sicurezza, non nuove funzionalità) la commissione. Manutenzione Software non è in genere che difficile da vendere se non la ospita pure.

Per amor di discussione, assumendo la domanda deve essere 'congelato' per 6 anni:

Vorrei assolutamente non utilizzare JavaScript su tutto ciò che si doveva durare 4+ generazioni del browser. Credo jQuery è grande, ma ... nessun modo, motori JavaScript stanno cambiando troppo in fretta. Per l'uscita, vorrei bastone a solo:

  • HTML 4.01 Strict e CSS 2 (stavo pensando di XHTML 1.0 Strict, che è essenzialmente HTML 4.01 Strict resa conforme con le regole di XML. Ma HTML 4.01 ha la più grande base installata, mi e' m nessun fan di XML. E 'una chiamata di giudizio.)
  • PNG e GIF.

Per quanto riguarda mantenendo cosa statica, questo semplice uscita è probabilmente il più grande vittoria.

Per l'ambiente server, vorrei provare a specificare Windows 2008 R2; NET 4.0 e ASP.NET MVC 2, ed una configurazione del server 'quasi congelato' (vale a dire gli aggiornamenti di sicurezza solo). Windows 2008 R2 avrebbe dovuto estendere il supporto per circa noreferrer 10 anni da oggi. La generazione precedente (Win 2008 NET 3.5SP1 e MVC 1.0) potrebbe anche funzionare; ma ASP.NET MVC 2 è alla ricerca soo bello, quindi preferirei usare quella per il mio funfactor personale.

I grandi progetti open source con un buon track record di 'esserci' sarebbe bene troppo -. NHibernate, NUnit, StructureMap eccetera

Oh, e la buona chiamata utilizzando ASP.NET. Microsoft è ancora bravo a mantenere la compatibilità all'indietro e backport correzioni di sicurezza. ASP.NET e Java sono i due soli ambienti Mi piacerebbe prendere in considerazione per qualcosa di simile.

Altri suggerimenti

Probabilmente non dovrete preoccuparvi di questo. C'è un enorme investimento come nel lavoro con JQuery da diverse grandi imprese che dubito si andrà in contro quei tipi di problemi. Il web sarà probabilmente sempre destinata a rimanere compatibile (e questo significa con roba che è uscito 10 anni fa oggi) in modo sospetto la vostra applicazione basata JQuery dovrebbe andare bene. Se si ottiene andando bene con IE7 / 8, l'ultimo Firefox e Safari, si dovrebbe essere tutto a posto. Cioè, se quelli non sarà sufficiente allora probabilmente c'è altra soluzione basata sul Web sia.

Ma io sicuramente consiglia di utilizzare jQuery per nasconderti da molte delle questioni specifiche del browser in termini di interazione Javascript. Per quanto riguarda ASP.NET MVC, ancora una volta si tratta di una piattaforma piuttosto solido che penso che molti impresa continuerà a sostenere negli anni a venire.

Per jquery, proprio non ti preoccupare, come ha detto bobbyshaftoe.

Per ASP.NET MVC, non sta per morire presto; ma la vera, dal momento che è molto giovane e la tecnologia destinata a cambiare frequentemente nelle prime uscite, ci si può aspettare problemi di manutenzione.

Lo stesso avveniva con le rotaie:. Un'applicazione scritta con guide 1.x necessarie alcune modifiche per lavorare ° rotaie 2.x

Questo può essere un problema o no: un app scritto con rotaie 1.x continuerà a lavorare con le rotaie 1.x, e un app scritto con MVC 1 continuerà a lavorare con MVC 1.

Credo che sia ancora troppo presto per dire quanto MVC 2 sarà diverso da MVC 1: MVC 2 Preview 2 è fuori, ma deve essere osservato che molte molte classi, metodi, interfacce ecc cambiato nome e comportamentali più volte tra MVC 1 RC1, RC2 MVC1 etc.

D'altra parte, se la vostra applicazione è abbastanza complessa, utilizzando MVC può essere ancora la scelta giusta, anche considerando lo sforzo supplementare necessario per aggiornare alle versioni più recenti (che di solito non è così grande): un app MVC è più mantenibile (a mio parere).

Una considerazione finale: si prega di notare che 6 anni sono un tempo molto lungo nel mondo del web selvaggio, quindi non è possibile dire in anticipo che cosa cambierà e cosa no.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top