Come posso presentare ASP.NET su PHP a un potenziale client? [chiuso]


26

Lavoro in un negozio Microsoft principalmente nello sviluppo web.

Abbiamo avuto un cliente che ci ha chiesto di rivedere (migliorare) il modello di dati per la sua app Web, ma ha detto che vuole sviluppare la sua app in PHP (conosce "un ragazzo" che può farlo).

Quando gli ho chiesto perché voleva andare con PHP, mi ha dato la serie standard di argomenti degli anni '90:

  1. Microsoft è malvagia e PHP è gratuito
  2. La scrittura di un'app ASP.NET è più costosa (per quanto riguarda il software)
  3. Perché Facebook dovrebbe usare PHP se fosse una cattiva idea? [classico]

Aveva qualche altro commento sui costi associati all'utilizzo di .NET.

La verità è che "Microsoft è costoso" non trattiene più l'acqua, con la sua suite "Express", puoi sviluppare un'app ASP.NET senza pagare nulla per il software.

Quando si tratta di hosting, è possibile risparmiare qualche soldo con PHP su .NET, ma questa è una piccola frazione dei costi di sviluppo previsti (abbiamo citato 10-15k).

Tornando alla mia domanda, quali argomenti darei a un client a favore di ASP.NET su PHP? [si prega di fornire fonti per reclami quantitativi]


22
Non direi ASP.NET su PHP a meno che non avessero sistemi esistenti nella tecnologia MS con cui avevano bisogno di interfacciarsi.
Josh K,

10
mostragli intellisense!
CamelBlues,

9
poi digli di farlo fare al suo "ragazzo"
Jim,

6
Il problema "Microsoft è costoso" entra in gioco maggiormente nelle aree del sistema operativo e del server di database, piuttosto che negli strumenti di sviluppo.
Chris Farmer,

2
C'è sempre Linux + Mono per ASP.NET, anche se non so quale sia il suo stato attuale.
luiscubal,

Risposte:


104

Digli semplicemente la verità .. Non sei un negozio PHP. (Questo è un motivo sufficiente per cui NON puoi farlo in PHP)

Questo è il prezzo che stai quotando per .Net. Se riesce a batterlo altrove, così sia.

È una tattica di vendita orribile per abbattere la concorrenza in base alla piattaforma utilizzata. (Anche se ha molto peso nella mente dei clienti)

Vendi te stesso, Vendi i tuoi punti di forza, ammetti dove non hai esperienza. Vincerai il lavoro per i tuoi meriti.

"Siamo in grado di costruire grandi siti Web, guardare il nostro portafoglio, guardare il nostro track record, controllare i nostri riferimenti. Possiamo fare quello che ci chiedi e possiamo farlo a un prezzo equo e competitivo, ma non possiamo farlo in PHP. "


3
Ma non penso che riguardi davvero i meriti relativi di PHP. Penso che si tratti davvero di assumere "un ragazzo". Chi quasi sicuramente non addebita $ 10.000 (dal momento che, dopo tutto, non è un affare con spese effettive, è "un ragazzo"). Sì, ci sono già passato.
Scott C Wilson,

3
Sono d'accordo con questo. Sebbene PHP sia una tecnologia popolare, con la mia attuale esperienza mi ci vorrebbe circa 3 volte di più per costruire un sito Web in PHP che sarebbe per me farlo in ASP. Potresti farlo in PHP, ma ci vorrebbe più tempo, sarebbe più soggetto a bug e sarebbe più difficile aggiornarlo perché sei un ragazzo ASP.
Kratz,

Questo è esattamente quello che stavo pensando quando ho visto questa domanda. Ovviamente vuoi provare a guidare un cliente verso ciò che conosci. Non serve a nulla lanciare ASP.NET, entrambi hanno la loro utilità e ora entrambi possono essere utilizzati nello sviluppo aziendale. Mi sento più a mio agio in .NET, ma faccio tutto ciò che un cliente desidera.
stephenbayer,

30

Probabilmente stai perdendo tempo. Se la prospettiva sta prendendo in considerazione un lavoro da $ 10-15K e ha difficoltà a scegliere tra una ditta professionale rispetto a "un ragazzo", probabilmente non ha effettivamente $ 10-15K. (Se stesse pensando di mantenere la propria società di servizi professionali utilizzando ASP e un'altra società di servizi professionali utilizzando PHP, sarebbe una storia diversa.)


3
Avendo lavorato in una piccola bottega di lavoro, c'è molto di vero in questo.
Anthony Pegram,

10
L'unica cosa più fastidiosa di "un ragazzo" è "il figlio del mio vicino", che fa anche siti web. Mi piace chiedere se il bambino ha frequentato un corso di contabilità - forse potrebbe anche pagare le tasse!
Scott C Wilson,

9
Questo è fondamentalmente. Quando un "cliente" dice "Conosco un ragazzo .." ciò che realmente intende è "Mio cugino / figlio del vicino / compagno di college / ragazzo che ho incontrato giocando a golf / cane conosce PHP e lo farà per poche centinaia di dollari / un caso di birra / un bar / lumache Klondike ". È meglio allontanarsi da persone così, probabilmente non le vuoi come clienti.
Wayne Molina,

1
Se il cliente fa riferimento a "figlio del mio vicino" probabilmente non ha bisogno né si aspetta un sito Web da $ 10-15.000.
The Muffin Man,

@Nice: Una volta ho fatto un tentativo per un ragazzo che ha costantemente messo in discussione le stime ecc. Perché suo nipote "conosceva anche i computer" e aveva letto alcuni dei suoi libri "Impara VB in 24 ore". Ha pagato bene, ma Jebus era così tremendamente fastidioso, il lavoro gli è costato più di € 15.000. Sfortunatamente quei gimp sono là fuori. PS Suppongo di essere stato il ragazzo :)
Binary Worrier

16

Sono d'accordo con i commenti "perché sei un negozio asp.net" e "(un ragazzo) == bandiera rossa", ma ho alcune cose da aggiungere, alcune a favore e altre contro asp.net. Nota che sono un MVP MS ASP.Net attuale, quindi potrei avere un pregiudizio qui:

  • Sta usando stand-out come Facebook come esempio di risultati tipici di PHP. La realtà è che la natura altamente disponibile di PHP significa che ci sono molti sviluppatori PHP scadenti in giro. In questo caso, lo stand-out è molto lontano dal tipico. In effetti, PHP è il nuovo VB.

  • Sta inoltre equiparando milioni di dollari di investimenti in codice e design fatti da Facebook con ciò che può aspettarsi dal suo "ragazzo". Mele e arance qui. Se ci metti abbastanza tempo e denaro, potresti lanciare Facebook su COBOL e Paradox. Questo non è né per ASP.Net né contro PHP. Sta a te assicurarti che apprezzi ciò che sta comprando: il tempo del programmatore. E forse un certo livello di professionalità che puoi offrire a lui e il ragazzo PHP potrebbe non farlo.

  • Hai menzionato una parità di costo negli strumenti per sviluppatori. Nel migliore dei casi stai dicendo "Assumici perché non siamo molto peggio". Davvero, questo non significa niente per lui. Non gli interessa il costo degli utensili. Tutto ciò che vede è un costo di offerta e un costo operativo, e qui il costo operativo (hosting) leggermente più elevato può farti del male. Non è molto, ma non è zero. Se sta suggerendo che potresti essere in grado di ridurre la tua offerta passando a PHP, è fuorviato.

  • Il "php guy" probabilmente non ha intenzione di costruire un sito da zero, e forse non dovresti neanche tu. È molto più probabile che stia pensando che lascerà cadere un'installazione di Joomla con un bel modello preesistente per portarlo per lo più lì e andarsene con tutti i soldi per quasi nessun lavoro. A volte questa è una truffa e il prodotto consegnato non è buono. A volte c'è un vero valore qui ... se conosce davvero il prodotto, il sito è adatto per il CMS e si prende il tempo per fornire un risultato raffinato, non c'è niente di sbagliato in questo. Assicurati di non trascurare l'opzione di utilizzare un bel CMS basato su .Net come punto di partenza e forse migliorare la tua offerta in questo modo.


11

Ti sbagli anche tu. Asp.Net non è "migliore" per tutti e quindi non è migliore. Sono un sviluppatore C # / ASP.Net e lo sono da 10 anni. Ho anche creato siti PHP professionali e app realizzate in Javascript, Ruby e Objective-C.
Nessuno di questi è strettamente "migliore" degli altri. Tutti soddisfano un'esigenza e possibilmente PHP si adatta perfettamente alle esigenze dei tuoi clienti.


13
Dove ha detto l'OP, o addirittura sottintendere, che Asp.Net è "migliore"?
Quentin-starin,

1
Penso che robusto sia una parola migliore che migliore.
The Muffin Man,

@qes: cercando di convincere qualcuno a fare A piuttosto che B, ciò implica chiaramente che pensi che A sia un'opzione migliore.
Nickf

3
@nickf: in uno scenario particolare, vale a dire "Lavoro in un negozio Microsoft principalmente per lo sviluppo web", mentre James qui estende questo presupposto con un senso di assoluta bettosità che l'OP non implicava.
Quentin-starin,

9

La mia risposta standard era la vecchia massima: "Veloce, economico, buono. Scegli due." Sei un pro shop ASP.NET, non "un ragazzo". Il vantaggio effettivo per lui non è nella lingua che sceglie, ma nel supporto che ottiene quando il progetto esce dalla produzione e su un server live. "Qualcuno" sarà in giro per aiutarlo quando il suo sito si blocca?


1
Anche se l'idio non è vero che puoi avere solo 2. puoi avere solo tutti e 2 devi decidere quanto di ciascuno sei disposto a sacrificare per ottenere un po 'dell'altro.
SoylentGray,

5

Solo per toglierlo di mezzo, ci sono motivi legittimi per avere un requisito per un particolare stack tecnologico. Questi potrebbero variare dall'infrastruttura (spesso derivata da "deve funzionare su hardware X, sistemi operativi Y") alla manutenzione ("abbiamo sviluppatori in Z, ma solo abbastanza da mantenere, non da costruire, quindi abbiamo bisogno che tu lo costruisca e quindi possiamo supportarlo a lungo termine ").

Come ingegnere del software, i tuoi clienti dovrebbero fidarti di te per creare il miglior software possibile per i soldi che ti stanno pagando. È necessario richiedere tutti i requisiti del sistema, da quelli funzionali a quelli non funzionali, insieme a eventuali vincoli. Documenta anche le ipotesi che fai. Una volta che hai una buona idea del quadro generale, puoi lavorare sulla finalizzazione dei requisiti e dei vincoli.

Alla fine, spetta a te dare una raccomandazione e una proposta e il tuo cliente accettarla. Vuoi compromettere il tuo miglior giudizio per un cliente (o qualsiasi datore di lavoro)? Non vorrei.


4

Ho appena visto una società pagare quasi $ 200.000 per un sito Web di e-commerce PHP non ancora pronto per la prima serata (ho perso il contratto un anno fa con questi pagliacci). Sono stati oltre 10 mesi di tempo di sviluppo. Il sito sembra meraviglioso, ma mancano così tante "basi" di e-commerce, è uno scherzo. Lo ammetto, sono un pessimo marketer - ma ecco il tono usato dalla compagnia PHP: è "gratuito" e "open source"! Facebook lo usa! Linux e MySQL è "gratuito"! È più veloce di ASP.Net! È più veloce da sviluppare!

La verità è che il sito Web originale (scritto in ASP.NET) aveva il doppio delle funzionalità ed è stato completato da un singolo sviluppatore in 3 mesi al costo di $ 25.000 (incluso il costo per una licenza CPU COMPLETA e singola di SQL Server 2008 R2 E Visual Studio Pro). Il sito da $ 200K aveva un team di sviluppatori e STILL non è finito dopo 10 mesi, è metà della velocità (con cache) del vecchio sito.

Se vuoi venderli ASP.Net, dì "LAMP potrebbe essere gratuito, ma il tempo di sviluppo costerà di più ... MOLTO ALTRO!" Facebook gestisce PHP, vero, ma sono partiti da un appartamento in cui i soldi erano bassi e il tempo era libero. Oggigiorno Facebook utilizza Oracle e MOLTI programmi compilati (quindi quel punto è discutibile).

Se hai bisogno di riusabilità e semplice manutenzione del codice, i linguaggi con script possono rapidamente trasformarsi in un incubo (incluso ASP anche qui).

Se hai bisogno di prestazioni, scegli un linguaggio compilato: nessun linguaggio con script potrà mai competere con il codice compilato e mai lo farà perché l'interprete aggiungerà sempre un overhead. La memorizzazione nella cache aiuta enormemente, ma ASP.Net ha anche la memorizzazione nella cache.

Certo, Linux è gratuito, ma gli esperti di Linux sono molto costosi quando qualcosa va storto. Vincere il server costa $ in anticipo, ma gli esperti sono economici da trovare (e quasi onnipresenti) quando qualcosa va storto. La connettività con win-networks è stupida, semplice e solida, quindi l'integrazione in altri sistemi aziendali è un gioco da ragazzi (pacchetti di contabilità, spedizionieri, ecc.) Con la migliore gestione degli account utente che abbia mai visto (tuttavia, MS ha preso molto in prestito da Novell) .

Il sovraccarico della GUI che la gente di Linux dice sia un grosso dispendio di risorse è quasi un problema con l'hardware di oggi. In caso di problemi, sono disponibili le versioni non GUI di Windows Server (versione "Core") con powerShell.


2

Il grande motivo per cui non devi usare PHP è perché costerà molto più tempo al tuo negozio.

Tuttavia, invece di dire semplicemente "no", hai un'altra opzione. Puoi offrirti di farlo in PHP, purché il cliente sia disposto a pagare il costo aggiuntivo dei tuoi sviluppatori per imparare una nuova lingua / piattaforma.

Ciò renderebbe il tempo utile per te e, in effetti, pagherebbe per una formazione aggiuntiva per i tuoi sviluppatori. Fare qualche lavoro di sviluppo in PHP non li danneggerà, probabilmente impareranno alcune cose.

Se non è disposto a pagare il costo aggiuntivo, sta cercando qualcun altro.


1

Non Se queste sono le cose su cui il client sta cavillando prima ancora che il progetto abbia inizio, dovresti licenziarlo. Anche se lo convincerai a seguire la strada .NET, non sarà mai felice. Se il cliente "conosce un ragazzo", allora dovrebbe usarlo. Hanno già deciso.


0

Controlla il prezzo dell'hosting per Windows e Linux. Il divario è abbastanza vicino. Ora, SQL Server è un altro problema di prezzo. Prevede di pagare per gli strumenti di sviluppo? Perché dovrebbe interessarsi a quanto hai investito in Visual Studio?

La tua azienda può competere con l'argomento "I know a guy" fornendo tutti gli sviluppatori qualificati necessari e gestire il turn-over durante la vita del progetto? Non che non sia possibile trovare sviluppatori PHP qualificati.

Facebook ora converte il loro PHP in codice C + . I siti SO funzionano abbastanza bene con ASP. Jeff e Joel non farebbero mai niente di male.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.