ASP Classico o ASP.NET ?
17
Lug
2007
Inserito da: Andrea Lanfranchi in: Programmazione
Quasi tutti i programmatori che abbiano basato le loro applicazioni web su ASP (VBScript) arrivano prima o poi a porsi seriamente questa domanda nel momento in cui devono partire con un nuovo progetto. La risposta, almeno nel mio caso (o meglio per l’azienda per cui lavoro), non è proprio facile e merita un qualche approfondimento.
Innanzitutto è bene sgombrare il campo da inutili allarmismi riguardanti la prevista morte futura del supporto ASP Classico sulle piattaforme Microsoft. Dal momento che IIS 7.0 supporta ASP classico perfettamente (con qualche accorgimento come spiegato in questo Tips and Tricks for Classic Asp Developers on IIS 7) è lecito pensare che la deadline di ASP classico sarà portata in avanti almeno fino al 2017 il che, rispetto alla data attuale, mette a disposizione un’ulteriore finestra di 10 anni per prendere una decisione.
Il problema quindi si sposta automaticamente sulle differenze di contenuto tecnologico offerte dai due linguaggi, anche se, è bene dirlo, è assolutamente improprio tentare di mettere sullo stesso piano di “linguaggio” le due modalità. Sono infatti profondissime le differenze tra i due e lontanissimi i presupposti su cui si basano.
ASP classico è un linguaggio di scripting: ovvero una sequenza di istruzioni scritte su normalissimi file di testo (modificabili con un qualsiasi editor – a me piace moltissimo Crimson Editor) che vengono interpretati al volo (on-the-fly) da una dll di sistema, la ASP.dll. In quanto tale la sintassi prevista per le pagine ASP (Active Server Pages) è una qualsiasi tra quelle supportate da Microsoft ovvero VBScript, JScript e PHPScript anche se la stragrande maggioranza dei casi di utilizzo prevede l’impiego di VBScript
ASP.NET (aspx), al contrario, è una completa riprogettazione del modello Active Server Pages basato sull’utilizzo del Framework .NET (versione 1 oppure 2): il codice scritto (che può essere implementato nel linguaggio che si ritiene più consono : VB, C#, C++, J#) non è più interpretato ma “tradotto” in un linguaggio intermedio (MSIL – Microsoft Intermediate Language) le cui istruzioni vengono direttamente elaborate dal framework .NET. Molti credono che le pagine ASP.NET siano pagine compilate (ovvero dei binari in linguaggio macchina) ma ciò non è vero e può indurre a conclusioni errate. Il prodotto di compilazione di un codice .NET è, come detto, di fatto una traduzione che ha bisogno comunque di un ambiente di run-time per poter funzionare: il framework .NET appunto. Per i programmatori VB (pre .NET) è immediata l’analogia con lo pseudo-code di VB che necessitava delle librerire VBRun per poter funzionare.
Ma la vera rivoluzione copernicana, di fatto quella che crea i maggiori problemi di approccio ad ASP.NET per i vecchi programmatori ASP, sta nella completa rivisitazione della sintassi e della struttura del codice. Mentre con ASP classico si è abituati a pensare al normale flusso di programma top-down, con ASP.NET bisogna cambiare completamente il proprio approccio alla progettazione ed allo sviluppo: le classi diventano l’oggetto atomico del codice.
In aggiunta a ciò è anche utile osservare che mentre VBScript è una versione light del supporto Visual Basic con un numero molto limitato di funzioni e quasi nessun oggetto nativo (per algoritmi complessi infatti i programmatori devono spesso riferirsi ad oggetti COM esterni), ASP.NET è un VB pieno (oppure un C# pieno ecc) con tutte i modelli di oggetto (e relativi metodi e proprietà) offerti dal framework .NET: in altre parole, e semplificando all’estremo, con i linguaggi .NET praticamente non si ha bisogno d’altro. Per rendere l’idea è un po’ come avere un coltellino svizzero con solo una lama ed un paio di forbici (VBScript) contro un utensile con 5 lame diverse, forbici per la carta e per la plastica, un set completo di brugole, cacciaviti di varia natura, chiavi inglesi e chiavi tubolari, seghe, martelli e chi più ne ha più ne metta ( .NET ). Tutto questo, ovviamente, rende più difficoltoso l’approccio al linguaggio quanto meno sotto il profilo dell’apprendimento mnemonico di tutti gli spazi dei nomi. Come se ciò non bastasse ogni singolo metodo può disporre di diversi override (ovvero modi di invocare il metodo con sequenze di parametri diverse) il che ha reso, nel mio personalissimo caso, praticamente impossibile avvicinarsi alla programmazione .NET senza l’ausilio di un IDE Microsoft con tanto di intellisense: per fortuna Microsoft ha reso pubblicamente disponibili e gratuite le versioni “light” del suo celeberrimo Visual Studio grazie alle versioni Visual Studio Express.
Fatte queste debite e stringatissime premesse, è forse ora di cominciare ad analizzare i perchè di una scelta a favore di ASP Classico o di ASP.NET per l’avvio di un nuovo progetto. Ci tengo però a sottolineare che le domande e risposte che sto per proporvi si basano sull’assunto di un approccio ad un progetto di sviluppo di medio piccole dimensioni: l’analisi di un progetto di grandi dimensioni che abbia tempi di sviluppo e manutenzione molto lunghi, elevate complessità e necessità di integrazione particolarmente articolate, potrebbe (anzi sicuramente richiede) un’analisi completamente diversa.
- ASP non sarà più supportato molto presto: come visto questa affermazione non è vera e anche se non è realistico pensare che una nuova applicazione ASP potrà vivere in eterno, è sicuramente verosimile affermare che il problema, al momento, non si pone.
- ASP.NET è più potente di ASP: in linea di massima ed in via assoluta di principio questo è vero ma nello sviluppo di un progetto conta anche (forse soprattutto) la potenza del team di programmatori. Una squadra ASP già rodata e con diversi progetti alle spalle disporrà certamente di un repository di codice già bello che pronto, testato e rivisto più volte, conosciuto a menadito che li renderà molto spediti nello sviluppo. Al contrario se il team si trova alla sua prima esperienza di sviluppo allora perchè non spendere un po’ di tempo in formazione su .NET ?
- ASP.NET consente uno sviluppo visuale: questo è completamente falso. E’ possibile scrivere applicazioni ASP.NET con un semplice editor di testo anche se si potrebbero incontrare le difficoltà di cui ho detto sopra. Ciò che rende possibile lo sviluppo visuale è Visual Studio (appunto) e nel caso in cui (come vedremo oltre) non sia possibile affidarsi alle versioni Express è necessario prepararsi ad un discreto esborso di denaro per acquisire la versione full. Tra l’altro lo sviluppo visuale non è sempre un bene: il codice generato automaticamente da VS per, ad esempio, un posizionamento assoluto degli oggetti su un form non è proprio il massimo. Preferisco ancora avere il controllo dell’HTML prodotto … anzi dell’intero codice senza routine nascoste.
- ASP.NET è più veloce perchè è compilato: si e no. Innanzitutto abbiamo visto sopra come il prodotto di una compilazione ASP.NET non generi propriamente un binario eseguibile. D’altro canto è anche vero che la velocità di esecuzione di diverse routine è assai più veloce (basti pensare alla concatenazione di stringhe). Eppure mi chiedo … la velocità di una applicazione da cosa è data ? Sono molti i fattori che concorrono. Se pensiamo all’esecuzione del codice server dobbiamo anche pensare al numero di istanze da sopportare ognuna delle quali occupa memoria: un’occupazione di memoria minore (ASP) permette un maggior numero di thread prima che, ad esempio, il sistema inizi a far largo uso della memoria SWAP e quindi a far degradare in generale le performance. Con ASP.NET i processi server che sottendono alla esecuzione del codice .NET sono molto più dispendiosi e quindi raggiungono una massa critica molto prima. Inoltre è bene notare che quasi sempre i punti di criticità maggiore stanno nelle pesanti query sui database che nulla hanno a che vedere con l’adozione di un linguaggio basato su .NET o di scripting.
- Con ASP.NET si usano interfacce AJAX di ultima generazione: vero ma questo si può fare anche con ASP Classico. AJAX è una tecnica mista di codice client e di processi server che dialogano attraverso flussi XML. AJAX non è legato a doppio filo con .NET. E’ vero invece che esistono moltissimi componenti di interfaccia utente (griglie, tabs, combo ecc) implementabili dall’interno di Visual Studio con dei semplici drag-and-drop ma la quantità di codice autogenerato mi piace sempre meno e non sono sicuro che sia ottimizzato per tutte le situazioni.
- Le applicazioni ASP.NET sono compilate e quindi non manipolabili dai clienti: solo parzialmente vero. Programmatori esperti potranno sempre decompilare gli assembly generati. Anche se il vostro cliente non lo farà non è detto che il vostro codice sia al sicuro come in una cassaforte. Inoltre la “compilazione” (e relativo deploy dei soli assembly) comporta, quale rovescio della medaglia, che per fare modifiche anche infinitesimali dovrete sempre avere a disposizione l’intero codice (in ufficio), compilare il tutto, e mandare l’applicazione compilata al cliente. Con ASP classico vi basta notepad dal cliente e … voilà.
- Con ASP.NET si mantiene il controllo di stato: anche con ASP Classico. ASP.NET è solo un modo di produrre codice HTML che verrà interpretato dal browser client. Le comunicazioni HTTP non hanno cognizione di stato. Il solo “valore aggiunto” di ASP.NET in questo ambito è la memorizzazione delle informazioni di stato nel campo nascosto _VIEWSTATE: ad ogni post del form, l’intero contenuto di _VIEWSTATE viene ritrasmesso al server il quale ricreerà la situazione di stato antecedente la richiesta e quindi elaborerà i nuovi dati inviati. E’ un giochino che si può implemetare tranquillamente anche con ASP Classico (ecco qui un bel Framework per ASP Classico).
- ASP.NET fa più scena: parrebbe una considerazione inconsistente ma nella realtà dei fatti è spesso (non sempre) talmente vera da annullare tutti i “contro” elencati fino ad ora. Un nuovo cliente (poco esperto) sarà sempre benevolmente impressionato dall’adozione di tecnologie di ultima generazione per il solo fatto che … sono di ultima generazione. Fa figo (perdonate l’espressione) sbrodolare che si sviluppa in ASP.NET anzichè in ASP Classico (magari diffamando il caro vecchio ASP che ci ha dato da mangiare per tanti anni): e questo in genere accade ogni volta che non si hanno argomenti a sostegno della bontà della propria applicazione in termini di efficacia e funzionalità. L’esaltazione della tecnologia adottata mettendo in secondo piano le peculiarità del prodotto è sempre una pessima tecnica commerciale.
Per ora mi fermo qui … ogni commento è bene accetto.
16 Commenti
Diego
16-Lug-2009 1Grazie della spiegazione!
mi sono fatto una conoscenza maggiore in merito!!
Jonathan
18-Lug-2009 2Complimenti per l’articolo, sono un sviluppatore asp e sono assolutamente d’accordo.
Asp.net va utilizzato per nuovi progetti solo se lo si conosce profondamente altrimenti vista la complessità del Framework si può incorrere in problematiche gravi come sovraccarichi di memoria non liberata nel server ecc…
Asp lo trovo un’ottimo prodotto tutt’ora, versatile e snello, poi come dici tu, se vogliamo parlare di velocità prima apriamo gli occhi sulla macchina su cui girerà la nostra applicazione e su come abbiamo scritto le query ai database.
Il mio consiglio è…
Hai del tempo? Studia bene asp.net e realizza applicazioni di test nel tempo libero, ma intanto utilizza il linguaggio che conosci da anni, soprattutto se lavori in team.
Quando sarai bello formato allora sarai pronto a valutare se utlizzare asp.net per la tua applicazione potrà portarti dei vantaggi.
Marco
23-Set-2009 3Io stò sviluppando una applicazione in asp.net 3.5 e mi trovo adesso un muro davanti al quale ancora non ho trovato risoluzione.
Una pagina asp.net con una decina di campi di testo e 6 combobox , un menù laterale e un controllo di navigazione del sito… pesa solo di codice la bellezza di 900kb. Inaccettabile!
Andrea Lanfranchi
23-Set-2009 4Ciao Marco,
non è chiaro se la dimensione di 900kb cui fai riferimento è la dimensione del file .aspx oppure si tratta della dimensione complessiva dei dati che riceve il browser visualizzando quella pagina (dati di response). In ogni caso, sì … hai ragione: in generale un file .aspx (.NET) è notevolmente più corposo di un file .asp (classico). Specialmente nel caso in cui “lasci un po’ fare a Visual Studio” nella gestione di stili, formattazioni. Francamente però un file .aspx di 900K non l’ho mai visto, per quanto complesse possano essere le gui …
Marco
24-Set-2009 5900kb è il file html generato, e solo il codice (quindi senza immagini e eventuali librerie javascript).
Solo togliendo l’hidden VALUESTATE recupero 400kb. Ok c’è una combo che va come items le città italiane e quello potrei toglierlo e trovare un’altro modo per farglieli inserire, ma comunque è proprio la gestione di asp.net che secondo me non tiene conto che sono pagine inaccettabili per essere usate su web.
Calcola che togliendo le combo e mettendo al posto dei campi testo (quindi togliendo tutti gli item delle combo) il file scende a 100kb che comuqnue è troppo. Sopra i 50k di file è già pesante e non capisco come in M$ non abbiano tenuto conto di ste cose, visto che hanno implementato chaching e di tutto di + per migliorare le prestazioni.
Andrea Lanfranchi
13-Nov-2009 6Ciao Marco,
scusa se ti rispondo solo adesso ma ho avuto pesanti impegni di lavoro.
Dunque per tornare al tuo problema … le dimensioni che lamenti sono sicuramente esagerate ma forse hai trascurato qualche cosa.
In VIEWSTATE asp.net “carica” tutto quello che non dovrà essere “ricalcolato” o “riottenuto” da interrogazioni database dopo un postback. Sei tu che decidi cosa. Se per esempio disabiliti il salvataggio in VIEWSTATE per la combo delle città … hai già risparmiato spazio. Ovviamente però al postback della pagina dovrai ricaricare tu nella combo l’elenco delle città italiane andandole a predere dalla tua sorgente di dati (che presumo essere un db). E’ chiaro che se nel caso di un postback non rifai estrazioni dal db l’unico modo che ha la pagina asp di conoscere il suo “stato precedente” è quello di ricevere dal client tutte le informazioni che gli aveva precedentemente mandato (che sono appunto nel viewstate).
Dimensioni come quella che lamenti sono spesso dovute ad un errore di “logica” non alle funzionalità intrinseche di asp.net.
Massimo
22-Feb-2011 7Salve a tutti,
ho letto con molta attenzione l’articolo e i commenti. Sono d’accordo con tutto quello che avete detto. Sarà anche per me un bel problema poichè ho 2 piattaforme realizzate in classic asp. Tutti i nostri clienti stanno lavorando con le nostre piattaforme. E’ tutto rodato e ben funzionante. Sia i programmatori che i clienti conoscono benissimo rispettivamente il codice e le interfacce. Tutto va a meraviglia.
Ma da quest’anno sto valutando quale sia la strada migliore e molto spesso mi vien da dire che adotterei un cms open source.
Purtroppo per le piccole web agency e con i tempi che corrono è impensabile lavorare un anno gratis per far fare la formazione e riscrivere poi le 2 piattaforme.
E’ un bel dilemma e un bel problema.
Andrea Lanfranchi
22-Feb-2011 8Ciao Massimo,
se fossi in te non inserirei nello spettro delle possibili soluzioni il passaggio ad un CMS: o per meglio dire non lo inserirei senza una attenta valutazione di cosa tu intenda fargli fare.
Premetto che non conosco le tue caratteristiche di programmatore ma in generale ti posso dire che nel mondo dei CMS “open” troverai tante soluzioni scritte in PHP e molto poche in linguaggi a te familiari (leggasi VB). Questo ti porta immediatamente alla prima valutazione : la manutenzione del codice diventa di per se difficoltosa.
Inoltre, se le tue applicazioni sono già ben rodate, sei “padrone” della logica e quindi è più facile “riscriverla” magari con uno sforzo di apprendimento di una sintassi poco familiare (VB.NET) piuttosto che impazzire a trovare moduli che facciano più o meno ciò che ti aspetti.
Personalmente ho tentato l’avvicinamento a CMS “avanzati” come UMBRACO con la speranza che, almeno a livello di back-office, potessero offrire qualche facilitazione: ma ti devo dire che quando entri nel merito di personalizzazioni o funzionalità particolari la difficoltà di implementazione diventa talmente alta che fai molto prima a scrivere il TUO codice
Massimo
22-Feb-2011 9Ciao Andrea,
grazie per la celere risposta.
Diciamo che per fortuna le piattaforme riguardano siti aggiornabili e siti di e-commerce, quindi per esempio con Joomla e Magento avrei già risolto il problema. Infatti le funzionalità di queste modalità di applicazioni web sono quasi tutte uguali. C’è ben poco da personalizzare se non la grafica (CSS). Infatti un carrello alla fine rimane sempre un carrello. Quindi diciamo smetterei di fare il programmatore e mi dedicherei alla grafica ma soprattutto al web marketing Seo Sem. L’idea di non fare più il prgrammatore però non mi piace ma allo stesso tempo i tempi e costi di nuove implementazioni sono troppo onerosi.
Quindi il dilemma continua…
Andrea Lanfranchi
22-Feb-2011 10Ti prego di non pensare che io possa essere un pessimista nato … ma le cose non sono così semplici.
Abbiamo avuto un paio di esperienze con Magento e parecchie con Joomla : sul primo posso dirti che alcune cose sono a dir poco “cervellotiche” e poco funzionali (basti pensare che inserire la differenziazione tra codice fiscale e partita iva per gli acquirenti è un dramma, se modifichi un ordine dopo che è stato effettuato il pagamento la gestione dei rimborsi o degli abbuoni è molto difficile, gestire il flusso di check-out è un dramma – ci sono esercenti che non emettono fattura ma tengono il registro dei corrispettivi ecc. ecc.) sul secondo invece – data la sua struttura a “moduli componibili” – non ti da mai la garanzia che gli stessi livelli di sicurezza siano rispettati (Joomla è stato uno dei CMS più defacciati della storia). Insomma … devi valutare bene i pro e i contro … soprattutto per quanto riguarda upgrade e aggiornamenti che non sono più sotto il tuo diretto controllo (verificare la compatibilità di un template Magento con una major release è cosa non immediata).
Come in tutte le cose … provare prima … tante volte.
Massimo
24-Feb-2011 11Ciao Andrea,
se volessi studiare da zero Asp.Net cosa mi consiglieresti?
C’è asp.net 1.1 – 2.0 – 3.5 – 4.0
Ho installato Visual Web Developer 2010
So già utilizzare bene Sql Server 2008
Rimane “solo” da imparare asp.net 🙂
Poi un altro dubbio che ho è che da quanto leggo in giro ci sono vari modi di approccio ad asp.net, cioè puoi fare un sito in visuale utilizzando i “pezzi” già pronti oppure puoi programmare ad oggetti con la modalità a 3 strati.
Ma per il web questo modello OOP a 3 strati non è troppo?
Andrea Lanfranchi
24-Feb-2011 12Prima di tutto un po’ di precisazioni: asp.net è uno solo ed è la tecnica di progettazione di “Active Server Pages” codificate con linguaggi basati su framework .NET. E’ il framework .NET che è disponibile in diverse versioni (1.1, 2.0, 3.5, 4.0) e per ognuna di queste versioni è implementabile in uno qualsiasi dei linguaggi compilabili (VB, C#, J# ecc). Quindi le combinazioni di linguaggi e versioni sono veramente molte. Il primo passo quindi è orientarsi verso il linguaggio con cui si ha maggiore familiarità : per chi arriva da VBScript l’evoluzione naturale è certamente VB.NET. Come ho detto nel mio post certamente la difficoltà più grande che si incontra quando si approccia un linguaggio .NET è lo “sterminato” spazio di nomi (metodi, proprietà, classi) offerti dal framework e quindi la presenza di un ambiente di sviluppo con un IDE Microsoft è essenziale: giocoforza bisogna passare da Visual Studio o nei suoi “sub-componenti” gratuiti della serie Express come Web Developer.
La difficoltà maggiore che incontrerai è cambiare la logica con cui “leggi” e scrivi il codice delle pagine: nel modello ASP classico lo sviluppo è tipicamente “procedurale” : si è abituati a concepire le prime righe del codice come le prime che verranno eseguite. Con ASP.NET non è così: ogni routine va associato ad un evento che viene abbinato a degli oggetti di una classe (la pagina). E così ti troverai a dover familiarizzare con eventi in sequenza come Page_Init, Page_Load, Page_PreRender ecc.
Altro argomento, totalmente separato, è come progettare l’architettura dell’applicazione: il modello a 3 strati (presentation, business logic, data access) è indipendente dal linguaggio o dalla sintassi scelta. Puoi tranquillamente implementare i 3 strati con ASP Classico (dove hai degli script VB che compongono la pagina, degli oggetti COM che gestiscono la logica e, tipicamente, un database e tante stored procedures per la gestione dei dati). E inoltre non ha nulla a che vedere con la programmazione “visuale”: utilizzando Visual Web Developer puoi anche “disegnare” il layout della tua pagina in modo visuale mettendo una griglia qua, una tab la, dei campi allineati qui ecc. ma sempre dovrai scrivere il codice per popolare i campi e gestire l’interazione con l’utente.
Ad ogni modo TUTTO è sempre relativo a ciò che si sta facendo o che si intende raggiungere: sforzarsi di tenere separati i 3 livelli può risultare una scelta vincente per applicazioni di discreta complessità dove team di programmatori specializzati (ci sono i grafici da una parte, quelli che si occupano del db dall’altra, quelli che gestiscono le regole dall’applicazione da un’altra ancora) non hanno interesse a conoscere il codice che non gli compete e quindi, per esempio, richiedono solo di avere un metodo del tipo Cliente.Save per salvare l’anagrafica di un cliente fregandosene di cosa “ci sta dietro”. E’ anche molto utile come processo di astrazione: se prevedi che la tua applicazione possa o debba essere compatibile con diversi database dovrai necessariamente pensare allo strato dati come indipendente ed intercambiabile (queste librerie se uso MySQL, queste altre se uso Oracle, queste altre ancora se uso MSSQL).
Tuttavia volersi fissare sulla separazione a strati dell’applicazione può essere molto controprudente: se il team di sviluppo è fatto di una o due persone, se l’applicazione è altamente customizzata per uno specifico cliente, se non si prevede che l’interfaccia utente cambi con frequenza nel tempo … pensare di lavorare a 3 livelli introduce solo delle complessità inutili che non fanno altro che allungare i tempi di sviluppo.
Insomma … forse cercavi indicazioni precise e mi dispiace di non potertene dare ma come qualsiasi programmatore di esperienza ti può dire esistono mille modi per affrontare e risolvere un problema ma nessuno è “il migliore” : la valutazione dipende sempre da cosa si conoscosce, quanto approfonditamente e quanto rapidamente è stata “intuita” una soluzione.
Certamente però puoi partire da una buona lettura : http://www.apogeonline.com/libri/88-7303-936-7/scheda (forse i migliori 55 euro che puoi spendere per cominciare).
A presto.
Massimo
24-Feb-2011 13Grazie mille delle preziose informazioni.
Ho guardato il libro che mi consigli e incredibile, l’autore ha fatto il libro “Commercio elettronico con Asp” che è proprio il manuale che mi ha insegnato tutto su Classic Asp.
Quindi da quanto capisco il libro parla di Asp.Net in generale poichè la versione dipenderà da quale Framework decido di usare e soprattutto da quale versione ha installato il fornitore di spazio web. Mi sembra che Aruba supporti fino alle 3.5 quindi se avessi un sito fatto in Asp.Net 4 per ora non funzionerebbe su Aruba.
Correggimi se sbaglio.
Ultima cosa.
Ho trovato online una serie di video corsi gratuiti che spiegano la differenza tra programmare in Asp.Net con le Form oppure con il paradigma MVC che sarebbero alla fine i 3 strati di cui parlavamo prima.
E cosa bella è che nel video dicono che è più facile per chi arriva da Classic Asp imparare Asp.Net MVC poichè ti scrivi ancora l’htmol a mano e hai il pieno controllo di tutto, css compresi.
Mentre se lavori con le Web Form e usi i controlli lato server hai poche proprietà da poter configurare e quindi poco controllo nell’output html.
Se tutto questo discorso è come l’ho capito allora senza dubbio mi lancio su MVC 2.
Che ne pensi tu?
Andrea Lanfranchi
24-Feb-2011 14Mmmhhhhh … MVC e 3-layer-apps non sono sinonimi: sono due argomenti completamente diversi.
Ed inoltre il controllo sull’output è identico (e totale) sia per WebForms che per MVC.
Questa frase :
“E cosa bella è che nel video dicono che è più facile per chi arriva da Classic Asp imparare Asp.Net MVC poichè ti scrivi ancora l’htmol a mano e hai il pieno controllo di tutto, css compresi.
Mentre se lavori con le Web Form e usi i controlli lato server hai poche proprietà da poter configurare e quindi poco controllo nell’output html.”
E’ totalmente inesatta … non so se te la hanno suggerita o se l’hai dedotta da solo … ma sei molto fuori strada. (giusto per fare un esempio le proprietà controllabili di una webgrid in un web form sono migliaia e puoi anche intercettare l’evento di rendering per farla apparire esattamente come vuoi).
Massimo
24-Feb-2011 15L’avevo dedotta io.
Ma quindi mi sconsigli di adottare il paradigma MVC?
Che differenza c’è allora tra MVC e 3-layer-appa?
Rimpiango il caro vecchio Classic Asp
Andrea Lanfranchi
24-Feb-2011 16Non ho detto che sconsiglio … ho solo detto che non sono sinonimi.
Leggi qui
http://en.wikipedia.org/wiki/Model-view-controller#.NET
http://en.wikipedia.org/wiki/Multitier_architecture
Specialmente il secondo articolo ti spiega la differenza tra architettura a 3 livelli e MVC.
Comunque … l’unico vero consiglio che ti do è di provare cose nuove, diverse tra loro, “pasticciare” e creare programmi partendo da “Hello World”, perchè sicuramente non troverai da nessuna parte una risposta “assoluta” che ti dica cosa è meglio : se esistesse utilizzeremmo tutti le medesime tecnologie non credi ?
Categorie
Tag
Copyright © 2007 - bloginfo('name'); ?> - is proudly powered by WordPress
InSense 1.0 Theme by Design Disease hosted by Isiweb S.r.l.