Ich arbeite in einem Microsoft-Shop und entwickle hauptsächlich Webinhalte.
Wir hatten einen Kunden, der uns gebeten hat, das Datenmodell für seine Web-App zu überprüfen (zu verbessern), aber er sagte, dass er seine App in PHP entwickeln möchte (er kennt "einen Mann", der das kann).
Als ich ihn fragte, warum er mit PHP arbeiten möchte, gab er mir die Standardargumente aus den 90ern:
- Microsoft ist böse und PHP ist kostenlos
- Das Schreiben einer ASP.NET-App ist (softwaremäßig) teurer
- Warum sollte Facebook PHP verwenden, wenn es eine schlechte Idee war? [klassisch]
Er hatte noch ein paar Anmerkungen zu den Kosten, die mit dem Umstieg auf .NET verbunden sind.
Die Wahrheit ist, dass "Microsoft ist teuer" kein Wasser mehr hält. Mit der "Express" -Suite können Sie eine ASP.NET-App entwickeln, ohne etwas für Software zu bezahlen.
Wenn es um das Hosting geht, können Sie mit PHP über .NET ein paar Dollar sparen, aber das ist ein kleiner Bruchteil der geplanten Entwicklungskosten (wir haben 10-15.000 angegeben).
Zurück zu meiner Frage: Welche Argumente würde ich einem Client zugunsten von ASP.NET gegenüber PHP geben? [bitte Quellen für quantitative Angaben angeben]
quelle
Antworten:
Sag ihm einfach die Wahrheit. Du bist kein PHP-Shop. (Das ist Grund genug, warum SIE es nicht in PHP tun können)
Dies ist der Preis, den Sie für .Net angeben. Wenn er das anderswo schlagen kann, dann sei es so.
Es ist eine schreckliche Verkaufstaktik, Ihre Konkurrenz auf der Grundlage der verwendeten Plattform niederzuschlagen. (Auch wenn es viel Gewicht im Kopf des Kunden hat)
Verkaufen Sie sich selbst, verkaufen Sie Ihre Stärken, geben Sie zu, wo Ihnen Fachwissen fehlt. Sie werden den Job nach Ihren Verdiensten gewinnen.
"Wir können großartige Websites erstellen, unser Portfolio anschauen, unsere Erfolgsgeschichte einsehen und unsere Referenzen überprüfen. Wir können das tun, was Sie verlangen, und das zu einem fairen und wettbewerbsfähigen Preis. Aber wir können es nicht in PHP tun." "
quelle
Sie verschwenden wahrscheinlich Ihre Zeit. Wenn die Aussicht auf einen Job im Wert von 10 bis 15.000 US-Dollar erwägt und es schwierig ist, zwischen einer professionellen Firma und einem "Typ" zu wählen, hat er wahrscheinlich keine 10 bis 15.000 US-Dollar. (Wenn er erwägen würde, Ihre Firma für professionelle Dienstleistungen mit ASP und eine andere Firma für professionelle Dienstleistungen mit PHP beizubehalten, wäre das eine andere Geschichte.)
quelle
Ich stimme den Kommentaren "weil du ein asp.net-Shop bist" und "(ein Typ) == rote Fahne" zu, aber ich habe ein paar Dinge hinzuzufügen, einige für und einige gegen asp.net. Beachten Sie, dass ich ein aktueller MS ASP.Net MVP bin. Daher kann es sein, dass ich hier einen Bias habe:
Er verwendet herausragende Funktionen wie Facebook als Beispiel für typische PHP-Ergebnisse. Die Realität ist, dass aufgrund der hohen Verfügbarkeit von PHP viele minderwertige PHP-Entwickler im Umlauf sind. Das Herausragen ist in diesem Fall weit vom Typischen entfernt. Tatsächlich ist PHP das neue VB.
Er setzt außerdem Millionen von Dollar an Investitionen in Code und Design, die Facebook getätigt hat, mit dem gleich, was er von seinem "Typ" erwarten kann. Äpfel und Orangen hier. Wenn Sie genug Geld und Zeit investieren, können Sie Facebook auf COBOL und Paradox betreiben. Dies ist weder für ASP.Net noch gegen PHP. Sie müssen sicherstellen, dass er weiß, was er kauft: Programmiererzeit. Und vielleicht ein gewisses Maß an Professionalität, das Sie ihm bieten können, und der PHP-Typ vielleicht nicht.
Sie haben eine Kostenparität bei Entwicklertools erwähnt. Bestenfalls sagen Sie: "Stellen Sie uns ein, weil wir nicht viel schlimmer sind." Wirklich, das bedeutet ihm überhaupt nichts. Die Werkzeugkosten sind ihm egal. Alles, was er sieht, sind Gebots- und Betriebskosten, und hier können Ihnen die geringfügig höheren Betriebskosten (Hosting) schaden. Es ist nicht viel, aber es ist nicht null. Wenn er vorschlägt, dass Sie möglicherweise Ihr Gebot senken können, indem Sie zu PHP wechseln, ist er falsch.
Der "PHP-Typ" plant wahrscheinlich nicht, eine Site von Grund auf neu zu erstellen, und vielleicht sollten Sie dies auch nicht tun. Es ist viel wahrscheinlicher, dass er denkt, dass er in einer Joomla-Installation mit einer bereits vorhandenen Vorlage vorbeischauen wird, um ihn größtenteils dorthin zu bringen und mit dem ganzen Geld für kaum Arbeit davonzukommen. Manchmal ist dies ein Betrug, und das gelieferte Produkt ist nicht gut. Manchmal gibt es hier einen echten Wert ... wenn er das Produkt wirklich kennt, passt die Site gut zum CMS und er nimmt sich die Zeit, um ein poliertes Ergebnis zu liefern, daran ist nichts auszusetzen. Stellen Sie sicher, dass Sie nicht die Option übersehen, ein nettes .Net-basiertes CMS als Ausgangspunkt zu verwenden, und verbessern Sie möglicherweise Ihr Gebot auf diese Weise.
quelle
Du liegst auch falsch. Asp.Net ist nicht für alle "besser" und daher auch nicht besser. Ich bin ein C # / ASP.Net-Entwickler und seit 10 Jahren. Ich habe auch professionelle PHP-Sites erstellt und Apps in Javascript, Ruby und Objective-C erstellt.
Keiner von diesen ist streng "besser" als die anderen. Sie alle erfüllen ein Bedürfnis und möglicherweise passt PHP perfekt zu den Bedürfnissen Ihrer Kunden.
quelle
Meine Standardantwort war die alte Maxime: "Schnell, billig, gut. Wählen Sie zwei." Sie sind ein ASP.NET-Pro-Shop, nicht "irgendein Typ". Der eigentliche Vorteil für ihn liegt nicht in der Sprache, die er wählt, sondern in der Unterstützung, die er erhält, wenn das Projekt aus der Produktion auf einen Live-Server verlagert wird. Wird "irgendein Typ" da sein, um ihm zu helfen, wenn seine Website abstürzt?
quelle
Nur um es aus dem Weg zu räumen, gibt es berechtigte Gründe, eine Anforderung für einen bestimmten Technologie-Stack zu haben. Diese reichen von der Infrastruktur (häufig abgeleitet von "Sie muss auf X-Hardware und Y-Betriebssystemen ausgeführt werden") bis zur Wartung ("Wir haben Entwickler in Z, aber nur genug für die Wartung und nicht für die Erstellung. Sie müssen sie also erstellen , und dann können wir es langfristig unterstützen ").
Als Softwareentwickler sollten Ihre Kunden darauf vertrauen, dass Sie die bestmögliche Software für das Geld entwickeln, das sie Ihnen zahlen. Sie sollten alle Anforderungen an das System ermitteln, von funktionsfähig bis nicht funktionsfähig, sowie alle Einschränkungen. Dokumentieren Sie auch alle Annahmen, die Sie machen. Sobald Sie eine gute Vorstellung vom Gesamtbild haben, können Sie daran arbeiten, die Anforderungen und Einschränkungen festzulegen.
Am Ende kommt es darauf an, dass Sie eine Empfehlung und einen Vorschlag abgeben und Ihr Kunde dem zustimmt. Möchten Sie Ihr bestes Urteilsvermögen für einen Kunden (oder einen Arbeitgeber) aufs Spiel setzen? Ich würde nicht wollen.
quelle
Ich habe gerade gesehen, wie ein Unternehmen fast 200.000 US-Dollar für eine noch nicht einsatzbereite PHP-E-Commerce-Website gezahlt hat (ich habe den Vertrag vor einem Jahr an diese Clowns verloren). Es ist über 10 Monate Entwicklungszeit gewesen. Die Seite sieht wundervoll aus, aber es fehlen so viele "Grundlagen" für E-Commerce, es ist ein Witz. Ich gebe zu, ich bin ein mieser Vermarkter - aber hier ist die Tonhöhe, die das PHP-Unternehmen verwendet hat: Es ist "kostenlos" und "Open Source"! Facebook nutzt es! Linux & MySQL ist "kostenlos"! Es ist schneller als ASP.Net! Es ist schneller zu entwickeln!
Die Originalwebsite (in ASP.NET geschrieben) hatte die doppelte Funktionalität und wurde von einem einzelnen Entwickler in 3 Monaten zu einem Preis von 25.000 USD (einschließlich der Kosten für eine vollständige Einzel-CPU-Lizenz von SQL Server 2008 R2) fertiggestellt & Visual Studio Pro). Die 200.000-Dollar-Site hatte ein Entwicklerteam, und STILL ist nach 10 Monaten noch nicht fertig, also halb so schnell (mit Cache) wie die alte Site.
Wenn Sie sie verkaufen möchten, sagen Sie "LAMP ist zwar kostenlos, aber Ihre Entwicklungszeit kostet mehr ... VIEL MEHR!" Facebook läuft mit PHP, stimmt, aber sie fingen in einer Wohnung an, in der das Geld knapp und die Zeit frei war. Facebook verwendet heutzutage Oracle- und MANY-kompilierte Programme (daher ist dieser Punkt umstritten).
Wenn Sie Wiederverwendbarkeit und einfache Codewartung benötigen, können Skriptsprachen schnell zum Albtraum werden (einschließlich ASP auch hier).
Wenn Sie Leistung benötigen, entscheiden Sie sich für eine kompilierte Sprache - keine Skriptsprache wird jemals mit kompiliertem Code konkurrieren und wird dies niemals tun, da der Interpreter immer zusätzlichen Aufwand verursacht. Zwischenspeichern hilft enorm, aber ASP.Net hat auch Zwischenspeichern.
Sicher, Linux ist kostenlos, aber Linux-Experten sind sehr teuer, wenn etwas schief geht. Win-Server kostet im Vorfeld US-Dollar, aber Experten sind billig zu finden (und fast überall zu finden), wenn etwas schief geht. Die Konnektivität zu Win-Netzwerken ist einfach und solide, sodass die Integration in andere Geschäftssysteme mit der besten Benutzerkontoverwaltung, die ich je gesehen habe, ein Kinderspiel ist (obwohl MS viel von Novell geliehen hat). .
Der GUI-Overhead, den Linux-Leute als großen Ressourcenverschwender bezeichnen, ist mit der heutigen Hardware fast kein Problem. Wenn Sie ein Problem damit haben, gibt es die Nicht-GUI-Versionen von Windows Server ("Core" -Version), die mit PowerShell verfügbar sind.
quelle
Der Hauptgrund, warum Sie PHP nicht verwenden müssen, ist, dass es Ihren Shop viel mehr Zeit kostet.
Anstatt nur "Nein" zu sagen, haben Sie jedoch eine andere Option. Sie können dies in PHP anbieten, solange der Kunde bereit ist, die zusätzlichen Kosten für das Erlernen einer neuen Sprache / Plattform durch Ihre Entwickler zu bezahlen.
Dadurch würde sich die Zeit für Sie lohnen, und tatsächlich würde er für die zusätzliche Ausbildung Ihrer Entwickler aufkommen. Einige Entwicklungsarbeiten in PHP werden ihnen nicht schaden, sie werden wahrscheinlich einige Dinge lernen.
Wenn er nicht bereit ist, die zusätzlichen Kosten zu bezahlen, sucht er nach jemand anderem.
quelle
Das tust du nicht. Wenn dies die Dinge sind, über die der Client streit, bevor das Projekt überhaupt gestartet wird, sollten Sie den Client entlassen. Selbst wenn Sie ihn davon überzeugen, den .NET-Weg zu gehen, wird er / sie niemals glücklich sein. Wenn der Kunde "jemanden kennt", sollte er ihn benutzen. Sie haben sich bereits entschieden.
quelle
Überprüfen Sie den Hosting-Preis für Windows und Linux. Die Lücke ist ziemlich eng. Jetzt ist SQL Server ein weiteres Preisproblem. Plant er, für die Entwicklerwerkzeuge zu bezahlen? Warum sollte es ihn interessieren, wie viel Sie in Visual Studio investiert haben?
Kann Ihre Firma mit dem Argument "Ich kenne einen Mann" mithalten, indem Sie so viele qualifizierte Entwickler wie nötig bereitstellen und den Umsatz während der Laufzeit des Projekts verwalten? Nicht, dass Sie qualifizierte PHP-Entwickler nicht finden können.
Facebook konvertiert jetzt ihr PHP in C + Code . Die SO-Sites kommen mit ASP ziemlich gut zurecht. Jeff und Joel würden niemals etwas Böses tun.
quelle