Ho letto tutto questo 3d e devo dire che finora mi sembra di leggere (a parte qualche intervento del dielleello) dei pareri da persone che non hanno ben chiaro di cosa stanno parlando.
Mi sembra che chi ha dato il proprio parere non conosca, o non conosca veramente a fondo, le potenzialità di asp.net.
Dunque premetto che sarò lungo ma dall' alto dei miei 4 e passa anni su asp.net e in particolare sul framework vorrei chiarire alcuni concetti.
Come premessa devo pure aggiungere che ho programmato un po in php ai tempi di php 4, e son passato al 5 ancora quand' era nella fase beta, poi ho iniziato a lavorare in asp.net con asp 1.1 e 2.0/3.5, recentemente ho ripreso in mano php per fare un sito, e me lo sto rivedendo, a mio parere dalle prime versioni di php 5 qualcosina è migliorato, ma come linguaggio è ancora grezzo
(una su tutte, manca l' overload dei metodi, anche se è simulabile con __call) mentre C# ha fatto (parlo del linguaggio e del compilatore) passi da gigante portando il linguaggio non solo alla pari con java (già dalla versione 2.0), ma cercando di distinguersi e di innovare (Linq su tutti, ma anche extension method ecc..)
allora iniziamo a chiarire un po di cose:
A parte che come ho già detto C# nella sua versione 3.0 è un passo più in là di java grazie alle syntactic sugar introdotte (comunque questo preciso è alquanto personale e opinabile)alcio74
Se vuoi un ambiente di sviluppo rapido e più o meno affidabile (ma che lascia davvero poco spazio alla fantasia), pensa ad orientarti verso Asp.Net e C# (peraltro copia carbone di Java).
In questo commento si stà sbagliando l' obiettivo, infatti si stà confrontanto un linguaggio specificamente per il web (PHP)
con un IDE di lavoro (Visual studio) che può lavorare in più linguaggi e che può, udite udite, venir completamente inutilizzato per programmare in Asp.net
Tralasciando la poca professionalità dell' esempio (sarebbe come dire che siccome prima di Copernico tutti dicevano che la terra era ferma, allora la terra DEVE necessariamente essere ferma) potrei citarti moltissimi siti che usano asp.net, e altrettanti che usano jsp, ad esempio myspace è in asp.net, stackoverflow è in asp.net (in particolare usa l' MVC),mtx_maurizio
PHP fa così schifo, che è la teconologia che gestisce tutti i siti più visitati al mondo
- wikipedia, facebook, amazon solo per citarne alcuni. E' alla base dei software più scaricati ed utilizzati del web: wordpress, joomla, phpBB, Gallery.
moltissimi siti della microsoft son in asp.net (tra cui i servizi live).
Comunque essendo questo un discorso che di tecnico ha pressocchè nulla mi fermo qui.
Sia php che jsp che asp.net hanno diversi framework a loro disposizione, spring ad esempio esiste sia per jsp che per asp.net,... vari discorsi sul framework ...
per .net esiste castle ed altri ancora...
Mi sembra inutile elencare la miriade di framework esistenti per php, sia perchè non son la persona adatta essendo stato a lungo assente dalla scena php, sia perchè mi pare che daniele abbia già elencato i principali
(@dielloello: il framework che ricorda asp.net si chiama prado comunque.. e tra i non nominati io attualmente sto usando kohana che mi sembra fatto bene)
Il fatto che esistano o meno i framework non ha nessuna valenza per dire che A è meglio di B, significa solo più scelta, il framework .net è stato riscritto nel 2005 perchè andava riscritto, infatti dalla versione 1.1 alla 2.0 hanno fatto un lavoro ottimo ed hanno creato un core talmente solido che i futuri aggiornamenti (3.0 e 3.5) sono "a cipolla" e non vanno ad intaccare il funzionamento del 2.0, il compilatore c# 3.0 infatti compila nello stesso MSIL del 2.0 tant'è che è possibile usare VS 2008, non solo usare il targeting e dire di compilare per il framework 2.0, ma adirittura si può programmare con le stesse aggiunte del linguaggio introdotte nella versione del compilatore 3.0 usando linqbridge(http://www.albahari.com/nutshell/linqbridge.aspx)
SI e NO, allora c'è da fare un distinguo, normalmente le aziende "tirano su" dei ragazzi in stage/apprendicoso e danno loro la possibilità di usare visual studio,l' impaiolato
Personalmente non apprezzo il .net perchè quel poco di codice che ho visto genera schifezze lato client ( che poi è il mio lavoro, il lato client )
per facilitare il lavoro aziendale è possibile, e plausibile, che gli vengano insegnati gli automatismi che rendono veloce lo sviluppo di archittetture intranet,
cioè , nella stragrande maggioranza di casi, per gestionali/tabelle con sorting/paging eccetera esistono i controlli fatti apposta che utilizzano delle tecniche (tipo viewstate) che possono appesantire la pagina,
oppure creare codice poco elegante, però è possibile replicare interamente lo stile di scrittura delle pagine php in asp.net,
cioè è possibile scrivere interamente le pagine, mettendo l'html a mano eccetera, utilizzare una sintassi embedded nell' html oppure usare un framework mvc per la generazione
dell' output a video, io stesso ho scritto un proxy che si intrapone tra una form di ricerca e un motore di ricerca interno, elabora l'input, lo valida, autentifica l utente,
dispone una sessione per l' utente, chiama il motore di ricerca con parametri diversi a seconda dei diritti dell utente ed elabora l'output xml del motore xml utilizzando dei fogli
xslt diversi a seconda dell' utente.
In soldoni, con asp.net si può fare tutto quel che si può fare in php e in maniera molto simile.
Allora, già dalla versione 2005 di visual studio i controlli generano codice xhtml strict (provare per credere),Emulman
infatti, è quello che non capisco: nell'editor di VS è sì facile crearfe un form, mettere un calendario, ecc, basta qualche click sulle sue proprietà e sembra tutto fatto: ma nesusno pensa atuto quello che ci sta dietro! per creare un textbox in VB NET o C# c'è una intera classe che deve essere compilata per generare un HTML non tanto compatibile W3!
il fatto è che, come ho già detto, è possibile anche in asp.net creare le pagine come si fa con php,
che "normalmente" non si faccia è dovuto al fatto che per ravelocizzare i tempi di sviluppo si usano dei controlli già pronti, che per le esigenze delle aziende, il più delle volte, và bene così!
Esiste la possibilità di crearsi dei custom control (come in jsp si possono fare i custom tag) che possono poi essere importati nell' ide una volta pronti per un semplice drag&drop nella pagina, siccome poi
internamente Visual studio renderizza il componente è possibile visualizzare a video in fase di creazione della pagina aspx il componente esattamente
(o quasi, dipende da chi ha curato la resa cross-browser).
Di norma posso dare ragione a questa frase, ma recentemente ho controllato ed esistono diversi siti di hosting affidabili che perbo?!?!
Un server Asp.net costa di media di piu di un server apache
15 euro al mese ti danno un buon hosting asp.net, con delle caratteristiche tecniche tutto sommato decenti...
... almeno sai che cosa ci trovi dentro, chi fornisce host asp.net ha installato di norma l'ultima versione del framework (3.5).
Quindi si sà già cosa funziona e cosa no, a differenza di host php che non si sà che cosa caricano come estensione...
In definitiva:
Php conviene per il prezzo concorrenziale degli hosting (però attenzione che ci son tante fregature),
come linguaggio ha molte lacune rispetto ai concorrenti a livello soprattutto di OOP (namespacing, overloading etc)
inoltre le funzioni "Core" sembrano non avere una logica standard ben definita, tipo il naming delle funzioni o, ad esempio, alcune funzioni tornano tipi diversi di dato, cosa che può essere fuorviante per chi è abituato a sfruttare appieno la programmazione Object Oriented.
Asp.net dal canto suo può vantarsi di poter lasciare una "libertà" maggiore al fine della programmazione, non solo è possibile programmare pagine asp.net
in qualsiasi linguaggio supportato dal framework (c#, vb.net in primis, j#, ironruby,ironpython, f#, managed javascript, boo, etc..)
permette degli stili di programmazione diversificati, permette al newbie di affacciarsi al framework .net utilizzando i controlli di base ed imparare il linguaggio di programmazione, permette, se uno si vuol far male, di scrivere pagine completamente col Response.Write come nel vecchio asp 3.0, permette
la scelta di utilizzare MVC piuttosto che l'MVP di default, ha dalla sua dei tool potentissimi come rhino mocks, subsonic piuttosto che linq integrato, framework come Castle e Spring.
Inoltre rimane a suo ENORME vantaggio il fatto che lo stesso codice può esser riutilizzato sia sul web che in windows forms,
piuttosto che in compact framework(considerando le limitazioni del cf, ovviamente); cosa significa quest' ultima mia affermazione?
Immaginate di creare dei Webservice, per esempio per la trasmissione di grossi file a distanza,
i file devono venir passati a pezzi tramite un protocollo criptato...
Basta sviluppare la routine di criptazione e decrittazione una sola volta, basandosi anche su classi base del framework (esempio rijndael)
e poi il codice funzionerà sia sul webservice che sul client windows (o su un palmare se necessario), stessa cosa per le routine di upload/download del file.
![]()

Rispondi quotando

?
