Domanda

Avendo lavorato con ASP classico per circa 2 anni creando alcuni 100 semplici moduli web, non vedo un buon motivo per passare a .net;tuttavia, non sono molto esperto di .net, quindi sono sicuro che potrebbero mancarmi alcune cose.

Alcuni punti che sento spesso riguardo al lavoro li puoi trovare qui: http://www.packtpub.com/article/Classic-ASP (non che condivida tutti questi pensieri, ma è un buon punto di partenza)

Sono molto interessato a sentire cosa hanno da dire gli altri su questo argomento.

È stato utile?

Soluzione

Ti stai perdendo più di un paio di cose!ASP.NET è ordini di grandezza più produttivo, robusto e gestibile di quanto ASP della vecchia scuola avesse mai pensato di essere.Controlli lato server, controlli di terze parti, pagine master, autenticazione dei moduli, convalida dei moduli, un modello OO che incoraggia il partizionamento appropriato delle applicazioni, distribuzione semplice, debug e traccia integrati, gestione dello stato.

Puoi anche scegliere tra WebForms o MVC.Non è un eufemismo dire che sei semplicemente fuori di testa se non indaghi a fondo su cosa ti perdi.

Altri suggerimenti

Se ti piace ASP e desideri passare ad ASP.NET, salta i moduli Web e impara MVC.

Il problema più grande per me è che creo applicazioni, non siti Web... L'interfaccia utente è una parte minore del problema, la parte principale è scrivere il livello della logica aziendale e vari componenti di comunicazione aziendale (connettersi a SAP utilizzando SOAP?Nessun problema!).

.NET Toolkit mi consente di programmare in un meraviglioso linguaggio orientato agli oggetti (C#) e dispone di un framework robusto per aiutarmi.

VbScript è un linguaggio pessimo in cui provare a scrivere un'applicazione aziendale.

Tuttavia, se tutto ciò che fai è un semplice modulo web, allora certo, usa VbScript.

Per quanto riguarda il tuo collegamento, sostanzialmente si riduce a:

  • WaaWaa, non mi piace Visual Studio
  • WaaWaa, voglio modificare il codice di produzione sul server di produzione come un idiota.
  • WaaWaa, non so che la distribuzione di una singola DLL compilata sia tutto ciò di cui un piccolo sito ha bisogno per distribuire un'app asp.net.

Fondamentalmente, la sua ignoranza in poche parole.

Per concentrarci sulla domanda specifica ("vantaggi di Classic rispetto a .Net"), ci sono solo due cose che mi viene in mente che Classic faccia e che .Net non faccia:

1) Include.Semplicemente non funzionano come ti aspetti in ASP.Net.Naturalmente, ASP.Net offre modi molto migliori per ottenere la stessa cosa, ma è comunque una perdita e può rendere difficile la migrazione di un vecchio sito su .Net.

2) ASP.Net non supererà la cartella principale dell'applicazione.Dove mi trovo abbiamo una intranet piuttosto complessa che è ancora per lo più ASP classica, con un'infarinatura di app .Net qua e là man mano che le cose vengono aggiornate o vengono aggiunte nuove cose.Sarebbe bello poter mantenere una copia del codice comune abbastanza in alto nella gerarchia delle cartelle, ma avere comunque ogni singola app isolata nel proprio VD.Ma è a questo che serve il controllo del codice sorgente, quindi non è un grosso problema.

Per me, il vantaggio più grande passando finora da ASP classico e ASP.Net è l'IDE.È così bello poter fare clic con il pulsante destro del mouse su una chiamata di funzione e scegliere "Vai alla definizione" anziché dover cercare il file in cui la funzione è effettivamente implementata.Enorme risparmio di tempo.E anche il supporto IntelliSense e la sicurezza dei tipi quando si chiamano le funzioni sono un vantaggio.

Per quanto mi riguarda, devo dire che Classic ASP è veloce da sviluppare, semplice da usare/imparare, non eccessivamente complicato e molto capace di fare la maggior parte delle cose che gli vengono richieste.

ASP con JScript/Javascript come linguaggio principale è davvero molto divertente da programmare.VBScript è uno spreco di energia cerebrale e penso che sia ciò che dà a Classic ASP la sua cattiva nomea.Inoltre è considerato lento ma tutti gli articoli sulla velocità e sul numero di utenti si basano su server di oltre 10 anni.Gestiamo un sito che riceve 60.000 utenti al giorno su due server e la CPU tremola appena.I server moderni ti danno molta più potenza con cui giocare.

Con gli enormi passi avanti nell'utilizzo di Javascript, nella progettazione e nelle migliori pratiche negli ultimi anni, il programmatore ASP JScript può ottenere molte chicche per rendere la vita ancora più semplice.Ho portato Mootools sul lato server e con questo otteniamo un sacco di aiuti meravigliosi, modello di classe, eccellente modello di eventi e molto altro ancora.L'ASP è molto divertente.AGGIORNAMENTO:Mootools ora ha una build lato server che puoi scaricare (http://mootools.net/download).

ASP.net è SUPER potente ma ha una grande rampa sulla curva di apprendimento per fare bene, può far crollare l'intero sito quando ha uno dei suoi attacchi e, peggio per me, può sembrare davvero andare in giro per le case per ottenere il più semplice dei cose fatte.

Mi sto divertendo molto a usarli entrambi al momento, usando quello che meglio si adatta al divario.Ho un piccolo fantastico CMS Cacher e Thumbnailer build in .net utilizzato dai miei script ASP.Il meglio di entrambi i mondi.

Tanto per cominciare, prestazioni, scalabilità e un framework che fornisce una base molto migliore per il mondo stateless delle applicazioni web.

La pagina ASP.Net di Wikipedia ha una sezione sulle differenze.

Se guardi indietro al tuo vecchio codice e dici: "Cosa stavo pensando!Questa è spazzatura, ora scrivo il codice molto meglio!" allora sei sviluppato come programmatore.

Se i siti sono abbastanza temporanei (ad es.lo costruisci rapidamente, viene utilizzato per uno scopo e un periodo di tempo specifici e quindi viene effettivamente chiuso), quindi visitare questi siti nel modo più comodo per te è perfettamente accettabile.

Se hai un lungo elenco di bug, correzioni e miglioramenti di cui ora hai bisogno (o vorresti) eseguire il backport sui tuoi vecchi siti, o che i tuoi "piccoli siti" stanno diventando più grandi e più complicati e questo ti sta causando notevoli problemi, allora hai bisogno per fare un passo indietro e rivalutare il modo in cui strutturi e supporti questi siti.

Sono molto d'accordo sul fatto che ASP.NET sia un ambiente di programmazione molto più maturo ed efficace.Tuttavia, come ogni strumento, devi conoscere (o imparare) il modo giusto per usarlo poiché non ti trasformerà automaticamente in un "super programmatore" dall'oggi al domani.

Un modo per rompere il ghiaccio è concordare con il tuo capo che il prossimo "sito" che creerai sarà sviluppato in ASP.NET.Spiegagli che ci vorrà molto più tempo rispetto al modo in cui distribuisci attualmente i siti perché devi "capire" ASP.NET, ma i vantaggi sono x, y e (esercizio lasciato al lettore!)

Personalmente, sono ancora nella fase di transizione (e ho iniziato a utilizzare ASP.NET dalla v1!) poiché dispongo di un framework ASP classico abbastanza robusto con cui mi sento sviluppato e con cui mi sento a mio agio.Tuttavia, ho utilizzato ASP.NET in modo strategico e l'ho trovato MOLTO potente e alla fine la tua scrittura richiede meno codice, poiché molto è integrato nel framework .net, purché sia ​​possibile trovarlo nella documentazione.

Ti consiglio anche di NON usare VB.NET e di stringere i denti per usare C#.Il cambio di lingua è piuttosto lieve, ma riduci le possibilità di scrivere i tuoi siti esattamente come prima.Aiuta a rompere le cattive abitudini e ti dà la possibilità di apprendere nuove tecniche.

Buona fortuna!

Ho una parola "debug": non vorresti mai doverla usare ma lo fai sempre.In .Net, se utilizzi Visual Studio, hai un debugger fantastico rispetto al tentativo di eseguire il debug del codice su ASP.

Per i siti semplici, in realtà preferisco ASP vs.ASP.NET, soprattutto se conosci bene l'HTML.Tuttavia, con ASP, separare la logica aziendale dalla vista è difficile;il codice che scrivi sarà probabilmente difficile da leggere e mantenere.

PHP è comunque migliore di ASP e in qualche modo simile a livello base.E potresti sempre andare su Rails o Django, se sei interessato a uno stack di sviluppo web autonomo (ma con una curva di apprendimento molto più lunga).

Un vantaggio di ASP.NET è che hai la possibilità di codificare il tuo sito esattamente come facevi con ASP classico, oltre all'accesso alla ricchezza del framework .NET.È possibile mantenere le funzionalità esistenti e aggiungere nuove funzionalità ASP.NET se necessarie.Si mescolano bene.

Purtroppo l'autore del riferimento articolo non è molto esperto della tecnologia alla base di ASP.NET, come evidente dalle sue osservazioni (e forse nemmeno del classico ASP).La maggior parte dei suoi punti non sono validi o semplicemente sbagliati.

Tutti qui hanno espresso punti validi.

Ero un classico sviluppatore ASP fino a 3 anni fa quando sono passato a .NET 2.0.

Non potrei tornare indietro (anche se devo ancora sistemare una manciata di siti ASP classici).

Mi manca avere un oggetto recordset, i ripetitori di dati sono ottimi per visualizzare rapidamente i dati, ma i set di dati, pur offrendo funzionalità meravigliose, sono dannatamente orribili quando si tratta di prestazioni su siti "grandi".In tutta onestà, ho creato set di dati in modo indiretto con gli array in ASP classico.L'unica volta che utilizzo i set di dati è per i carrelli del mio sito di e-commerce.Mi manca rs.movenext, ecc...

FlySwat ha commesso uno dei più grandi errori che vedo commettere da molti sviluppatori.

Sì, logica aziendale, OO ecc...ciò che .NET offre è eccezionale (scalabilità con cui non sarei d'accordo al 100%, ma sicuramente più estensibile), ma quando usi ASP.NET stai comunque creando un SITO WEB.Dimentica l’assurdità di usare la terminologia “applicazione”.Ho incontrato molti ottimi sviluppatori .NET che creano siti OO a più livelli, ma non hanno una reale comprensione dell'unicità della creazione di un sito Web;come lo stato, o il maledettamente fastidioso problema che fanno eccessivo affidamento su Javascript.La maggior parte di questi sviluppatori creano siti di tipo MS che normalmente non soddisfano il W3C, non sono compatibili con tutti i browser e non si degradano mai con garbo.E no, non è accettabile nemmeno che le applicazioni di back office siano compatibili solo con IE.

.NET tende anche a "ingrassare" i siti semplici..NET in molti modi è stato un modo per convincere gli sviluppatori WinForm a iniziare a creare siti Web (o, come preferiscono, app Web).Il problema era che questo portava con sé un gruppo di sviluppatori che potevano permettersi il lusso di non doversi preoccupare dello stato, degli standard, ecc...

Continuo a sostenere che qualsiasi sito .NET può essere realizzato in ASP classico ed essere eseguito più velocemente (tempi di risposta della pagina) per l'utente finale....

...MA anche se ho bei ricordi del classico ASP, quello che posso fare con .NET in termini di imaging, crittografia, compressione, facile integrazione dei servizi web, OO corretto, n-tier decente, estensibilità, ecc... è ciò che dà a .NET il vantaggio.Anche cose stupide come aggiungere semplicemente una riga di codice a web.config per dirgli di scrivere il sessionID nella querystring se l'utente non accetta i cookie (questo era un problema nell'ASP classico) sono fantastiche.

Passa a .NET, non te ne pentirai, ma concediti un po' di tempo (in particolare se non conosci OO (ereditarietà, astrazione, polimorfismo e incapsulamento).Non iniziare a creare siti .NET in modalità compatibilità classica, è solo un modo economico di realizzare .NET e finirai comunque per utilizzare le classiche pratiche ASP.Se VBScript fosse il tuo linguaggio di sviluppo principale, il salto non sarebbe così facile come MS o altri vorrebbero farti credere.

La cosa più importante per me è che ho portato avanti, dai miei classici giorni ASP, la progettazione fondamentale dell'applicazione del sito web (;-)) e questo non dovrebbe mai cambiare da una lingua all'altra.

Raramente una risposta in questo thread risponde alla domanda.Invece di prendere la via più semplice, ci proverò:

Alcuni vantaggi che non sono stati menzionati (incentrati su JScript):

  • Puoi imparare l'intera lingua e tienilo in memoria se lo usi abbastanza: non conosco nessuno che affermi di conoscere l'intero framework .NET;questo rende la codifica molto rapida.
  • Digitazione debole - questo può consentirti di programmare più rapidamente quando sbatti qualcosa velocemente, ad esempio, ti interessa davvero la differenza tra char E string La maggior parte delle volte? (inserisci qui la guerra religiosa con le fiamme)
  • Val:questa parola chiave tanto diffamata è in realtà incredibilmente potente e ti consente di manipolare il tuo codice in fase di esecuzione in modi davvero interessanti
  • Compatibilità lingua client/server:La somiglianza di JScript con Javascript significa che puoi utilizzare lo stesso file di inclusione per la convalida lato server che usi per il lato client.

Se tutto ciò che crei sono semplici piccole pagine web, allora fai qualunque cosa.O meglio ancora impara PHP.La maggior parte delle risposte che otterrai provengono da persone che creano applicazioni web, e per questo asp.net fa saltare i pantaloni al classico asp in termini di potenza e manutenibilità.

Sono d'accordo con tutti qui tranne quello che ha detto di saltare i moduli web e di andare direttamente a MVC.Questo non è utile.I moduli Web sono molto utili per le applicazioni basate su database che eseguono molte visualizzazioni di tabelle, ecc.Ho lavorato su alcune applicazioni di moduli web molto grandi e funziona bene.MVC è utile per applicazioni di tipo "Web 2.0" più interattive.

Avendo fatto un port "rinomina asp in aspx e cambia finché non viene compilato" di un'applicazione su asp.net, direi che anche asp classic stile programmare in .NET è migliore di ASP Classic.VS ovviamente ti incoraggerà a cadere nell'abisso del successo e ti guiderà verso i moduli web e il modo code-behind di fare le cose, ma il linguaggio è abbastanza espressivo da replicare gli schemi di asp classic (vale a dire un sacco di pepite d'oro/inline codice, pagine di cross posting, ecc.)

Penso di aver già sentito dire che puoi scrivere COBOL in qualsiasi lingua.Questo è vero per l'aspide classico.

Uso sempre ASP classico, funziona magnificamente.

Ho provato ASP.net per un paio d'anni ma era troppo complesso per la maggior parte dello sviluppo di siti Web.Anche ai miei clienti non piaceva perché non riuscivano a capirlo.A loro piace anche sapere di non essere vincolati a un unico sviluppatore.

ASP.NET continua a cambiare e richiede una curva di apprendimento enorme/costante per mantenersi aggiornato.MS ha cambiato la lingua principale in C#, il che ha reso la transizione ancora più difficile.

La mia produttività è rallentata a passo d'uomo con .net perché ero sempre alla ricerca di tutorial o esempi su come fare tutto.

Visual Studio è lentooooooo.

PHP ha una brutta sintassi e troppi framework diversi che rendono impossibile l'apprendimento per scopi di sviluppo.A mio avviso va bene solo per l'uso intranet con personale dedicato.

L'ASP classico è bloccato e funziona perfettamente oggi proprio come anni fa.Con pochi file di libreria, scrivere codice è facilissimo e gli esempi su Internet sono illimitati.

Scritto correttamente, cosa che la maggior parte delle persone non fa, vbscript è un codice efficiente, leggibile e pulito.Lascio il materiale lato client per librerie come jQuery e scopro di essere molte volte più produttivo.

Se a questo punto utilizzi l'asp classico (senza un mandato del tuo CTO), allora dovrai vedere uno strizzacervelli.oppure sei un masochista.O come satanista, nel qual caso ti piacerebbe perché saresti all'inferno!:P

Sul serio...per le applicazioni web utilizzare WebForms.

Per siti Web leggeri, veloci e sporchi, utilizzare ASP.NET MVC.

L'aspetto positivo di ASP è che puoi utilizzare VB.NET, C#, Eiffel, Boo o PHP per il tuo linguaggio!Per PHP controlla Phalanger...

Dato che sono pagato per creare soluzioni e non per scrivere codice, preferisco semplicemente ASP.NET rispetto al classico ASP.Sebbene l'ASP classico sia ancora pratico per siti molto piccoli e semplici, ASP.NET offre ancora molta potenza quando si scrivono siti un po' più complessi.Inoltre, anche con ASP.NET potresti semplicemente utilizzare Blocco note per scrivere tu stesso i file .aspx, incluso il codice vb o c# incorporato.Visual Studio fornisce semplicemente molte funzionalità aggiuntive che eliminano la necessità di scrivere più codice da soli.E, come ho detto, non vengo pagato per scrivere codice...

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