Quando utilizzare PHP o ASP.NET? [chiuso]

46

Ho lavorato a lungo nello sviluppo di applicazioni web usando PHP e ASP.NET, ma una delle domande che mi vengono poste costantemente dai clienti è se andare avanti con un sito Web php o un sito Web asp.net.

Quindi, naturalmente, la prima cosa che viene in mente è di rispondere alla domanda in questo modo:

PHP is open-source and ASP.NET is from Microsoft.

Di solito, dopo che qualcosa del genere è stato detto, il cliente ha un aspetto vuoto. Apparentemente il fatto che uno sia open source e l'altro no non li disturba veramente. E per una buona ragione, perché quando l'ho sentito per la prima volta, in realtà non mi dice molto.

So di lavorare con entrambi che hanno le loro differenze quando si tratta di sviluppare siti web.

La mia domanda è quali sono le differenze tra ASP.NET e PHP per quanto riguarda

  1. Caratteristiche
  2. Sicurezza
  3. Estensibilità
  4. Strutture
  5. Tempo di sviluppo medio

Sto cercando di compilare un elenco di fatti per poterli confrontare con il cliente in modo da poter fare una scelta informata sulla piattaforma di sviluppo appropriata.

    
posta Edward 05.04.2011 - 21:51
fonte

5 risposte

39

Funzioni , Sicurezza e Estendibilità saranno più o meno le stesse. Quello che può essere fatto con PHP può essere fatto con ASP.NET.

Framework - Di nuovo, quando si tratta di caratteristiche di framework, sarà più o meno lo stesso. Tuttavia, essendo più specifico rispetto alla lingua stessa, ti consigliamo di prendere in considerazione:

  • Ciò a cui i tuoi sviluppatori sono più a tuo agio. Conoscenza = efficienza .
  • Sulla base di un progetto per progetto, un quadro in una lingua potrebbe essere un adattamento naturale migliore di un quadro in un altro. Essere più specifici della lingua stessa significa che un framework non può essere di aiuto per alcuni compiti e meno adatto agli altri.

Tempo di sviluppo medio - Il tempo di sviluppo medio per un progetto molto piccolo potrebbe essere migliore con PHP poiché gli host Web sono così facili da trovare e le macchine di sviluppo sono così facili da impostare su. Tuttavia, con qualcosa di più grande, a patto che tu abbia dei buoni sviluppatori o sia già configurato per entrambi, sarà probabilmente un lavaggio.

La considerazione principale che dovresti fare è quale stack tecnologico desideri che il tuo cliente sia legato ad andare avanti. Né si mescola bene (facilmente) con l'altro. Possono avere sviluppatori che hanno familiarità con l'uno o l'altro.

  • Se al tuo cliente piace l'idea di essere connesso a Microsoft, allora vai con ASP.NET. Alcuni clienti avranno più conforto riguardo il supporto futuro, gli aggiornamenti, ecc. con MS.

  • Se a loro piace l'idea dei server open source e Linux, vai con PHP . Ciò potrebbe interessare alcuni client a causa della trasferibilità di host web, software libero, ecc.

E infine, se non gli interessa, quindi vai con ciò che ti è più comodo . Non c'è molto altro oltre a questo.

    
risposta data 05.04.2011 - 22:08
fonte
29

Solo per dare una base su quello su cui sto basando le mie risposte, ho fatto lo sviluppo PHP professionalmente per 6+ anni, ho giocato con ASP.NET MVC per circa 3-4 mesi, e ho ho fatto programmazione in C # per circa il tempo di programmazione PHP.

Per me è più un argomento PHP vs C # che uno PHP vs ASP.NET.

Feature / Estensibilità
Penso che ASP.NET vinca qui e questo è più dovuto alla possibilità di usare un linguaggio come C #. C # è un linguaggio molto migliore di PHP con il supporto OO. Sono anche una persona che preferisce un linguaggio tipizzato staticamente (anche se si pensa con C # 4.0, credo che si possano fare variabili digitate dinamicamente). L'unica cosa che PHP aveva su C # per quanto riguarda la funzione di un linguaggio erano i parametri facoltativi, ma questa è un'altra cosa che è stata aggiunta in C # 4.0 (non sono sicuro di quanto funzioni bene, dato che non l'ho ancora provato).

Sicurezza
Probabilmente direi che è un lavaggio tra i due. Penso che entrambi abbiano funzionalità per aiutare con la sicurezza, ma in definitiva è compito del programmatore assicurarsi che la loro applicazione sia sicura.

Strutture
Bene, PHP sembra avere molti framework mainstream (CakePHP, Codeigniter, Symfony, Zend Framework) e molti altri framework più piccoli di ASP.NET. ASP.NET ha 2 framework principali di Microsoft, WebForms (un pezzo di merda totale) e ASP.NET MVC (il motivo per cui ho iniziato ad entrare nello sviluppo di ASP.NET). Mentre PHP ha più framework, trovo che il framework ASP.NET MVC 3 sia migliore di qualsiasi framework PHP.

Tempo di sviluppo medio
Penso che per i progetti più piccoli il tempo di sviluppo sia molto meglio in PHP, tuttavia, dato che il tuo progetto cresce di dimensioni, C # si adatta meglio a questo proposito.

Costo
Alcuni che dovrebbero essere allevati sono i costi. PHP hand down vince su questo fronte. Mentre è possibile eseguire ASP.NET su Mono in Linux, viene fornito con i propri problemi.

Se stai facendo un progetto di dimensioni medio-piccole e / o il costo è un fattore, PHP vince. Se stai facendo un progetto su larga scala, sceglierei ASP.NET w / C # & ASP.NET MVC.

    
risposta data 06.04.2011 - 21:07
fonte
8

PHP vs ASP.NET è come confrontare mele e arance, lì mirate a soluzioni diverse.

PHP è un framework più adatto per soluzioni di start-up su piccola scala. PHP funzionerà o Linux, Windows senza troppi requisiti. Microsoft ASP.NET è una struttura di forza industriale, che ha tutto ciò che potresti mai immaginare e altro ancora. ASP.NET è molto ricco di funzionalità, pronto all'uso. Molti sostengono che ASP.NET è costoso, come avveniva qualche anno fa ma non più. Innanzitutto gli strumenti sono gratuiti (edizioni esplicite), le opzioni del database sono gratuite (SQL Compact o SQL Server 2005 o superiore Express). L'acquisto di hosting è ora molto economico, quindi la domanda non è la migliore, ma ciò che si adatta alla tua soluzione. Personalmente preferisco ASP.NET, ma è perché lavoro in un ambiente aziendale in cui la flessibilità e la scalabilità sono molto importanti, quindi le soluzioni dettano il quadro.

Una cosa molto importante è in quale lingua sei più bravo? Questo dovrebbe essere l'ultimo fattore nella decisione.

Se il tuo obiettivo è convincere un cliente, allora asp.net è un'opzione migliore. Il nome di una grande azienda che supporta un linguaggio fa sentire a proprio agio il cliente. In questo caso le opzioni migliori sono (Microsoft) ASP.NET e (Oracle) Java JSP.

EDIT: Ricco di funzionalità: ASP.NET offre due alternative alla creazione di un WebForms di un sito Web e dell'approccio MVC. Dato che si distingue dal framework .NET, devi disporre di funzionalità molto potenti, ad es. WF (flusso di lavoro), DLR (dynamic Language Runtime), Parallel Linq, Linq, routing, varie forme di gestione dello stato dei dati: elementi HTTPContext, ViewState, cache di runtime, cache di output delle pagine, tre diversi tipi di implementazione di sessione InProc, State e SQL Server. ASP.NET implementa varie forme di sicurezza, ad es. Provider di appartenenze e fornitore di ruoli. Non voglio comprare PHP, ma ASP.NET è in una lega diversa.

    
risposta data 06.04.2011 - 01:31
fonte
6

Avendo lavorato a lungo con entrambi, sai già che le risposte saranno diverse a seconda del problema e del cliente. In un senso molto generico:

  • PHP è ottimo per i progetti che devono lavorare su un budget. Ad esempio, non sarai colpito da costi elevati per le licenze del database.
  • ASP.NET è ideale per progetti che richiedono il tipo di supporto e la cultura di sviluppo fornita da Microsoft.

Se stai compilando un elenco di fatti per i tuoi clienti, basalo su ciò che sai. La tua ricerca, non importa quanto distorta le tue scoperte, va bene per ottenere i tuoi punti elenco.

    
risposta data 05.04.2011 - 22:15
fonte
1
I controlli

.net sono molto più belli di quelli che puoi trovare con una piattaforma PhP. Guarda Infragistics ad esempio, qual è l'equivalente per una LAMP?

    
risposta data 07.04.2012 - 07:20
fonte

Leggi altre domande sui tag