Ich habe intensiv an der Entwicklung von Webanwendungen mit PHP und ASP.NET gearbeitet, aber eine der Fragen, die mir Kunden ständig stellen, ist, ob ich mit einer PHP-Website oder einer Asp.net-Website weitermachen soll.
Das erste, was mir in den Sinn kommt, ist natürlich die Beantwortung der Frage wie folgt:
PHP ist Open Source und ASP.NET ist von Microsoft.
Normalerweise hat der Kunde, nachdem so etwas gesagt wurde, einen leeren Gesichtsausdruck. Offensichtlich ist die Tatsache, dass einer Open Source ist und der andere nicht, nicht wirklich beunruhigend für sie. Und das aus gutem Grund, denn als ich es zum ersten Mal hörte, sagt es mir wirklich nicht viel.
Ich weiß aus der Zusammenarbeit mit beiden, dass jeder seine Unterschiede bei der Entwicklung von Websites hat.
Meine Frage ist, was sind die Unterschiede zwischen ASP.NET und PHP so weit
- Eigenschaften
- Sicherheit
- Erweiterbarkeit
- Frameworks
- Durchschnittliche Entwicklungszeit
Ich versuche, eine Liste mit Fakten zusammenzustellen, um mit dem Kunden vergleichen zu können, damit eine fundierte Auswahl auf der entsprechenden Entwicklungsplattform getroffen werden kann.
quelle
Antworten:
Funktionen , Sicherheit und Erweiterbarkeit werden mehr oder weniger gleich sein. Was mit PHP gemacht werden kann, kann mit ASP.NET gemacht werden.
Frameworks - Auch in Bezug auf Features von Frameworks wird es mehr oder weniger dasselbe sein. Da Sie jedoch spezifischer sind als die Sprache selbst, sollten Sie Folgendes berücksichtigen:
Durchschnittliche Entwicklungszeit - Ihre durchschnittliche Entwicklungszeit für ein sehr kleines Projekt ist mit PHP möglicherweise besser, da Webhosts so einfach zu finden und Entwicklungsmaschinen so einfach einzurichten sind. Wenn Sie jedoch etwas Größeres haben, solange Sie gute Entwickler haben oder für beides bereits eingerichtet sind, wird es wahrscheinlich eine Wäsche sein.
Die wichtigste Überlegung, die Sie anstellen sollten, ist, an welchen Technologie-Stack Ihr Kunde zukünftig gebunden sein möchte. Keiner mischt sich gut (leicht) mit dem anderen. Sie können Entwickler haben, die mit dem einen oder anderen vertraut sind.
Wenn Ihr Client die Idee mag, mit Microsoft verbunden zu sein, entscheiden Sie sich für ASP.NET. Einige Kunden werden mehr Komfort bezüglich zukünftiger Unterstützung, Upgrades usw. mit MS haben.
Wenn sie die Idee von Open Source- und Linux-Servern mögen, entscheiden Sie sich für PHP . Dies kann einige Kunden aufgrund der Übertragbarkeit von Webhosts, freier Software usw. interessieren.
Und wenn es ihnen egal ist, dann entscheiden Sie sich für das, womit Sie sich am wohlsten fühlen . Darüber hinaus steckt nicht viel dahinter.
quelle
Um einen Hintergrund zu geben, worauf ich meine Antworten stütze, habe ich über 6 Jahre lang professionell PHP entwickelt. Ich habe in den letzten 3 bis 4 Monaten mit ASP.NET MVC herumgespielt und C # gemacht. Programmierung ungefähr so lange wie PHP-Programmierung.
Für mich ist dies eher ein PHP-gegen-C # -Argument als ein PHP-gegen-ASP.NET-Argument.
Feature / Erweiterbarkeit
Ich denke, das ASP.NET gewinnt hier und das liegt eher an der Fähigkeit, eine Sprache wie C # zu verwenden. C # ist eine weitaus bessere Sprache als PHP, da es OO-Unterstützung bietet. Ich bin auch eine Person, die eine statisch typisierte Sprache bevorzugt (obwohl ich mit C # 4.0 glaube, dass Sie dynamisch typisierte Variablen erstellen können). Das einzige, was PHP als Sprachfeature über C # hatte, waren optionale Parameter, aber das ist eine weitere Sache, die in C # 4.0 hinzugefügt wurde (nicht sicher, wie gut es funktioniert, da ich es noch nicht ausprobiert habe).
Sicherheit
Ich würde wahrscheinlich sagen, dass es eine Wäsche zwischen den beiden ist. Ich denke, dass beide Funktionen vorhanden sind, um die Sicherheit zu verbessern, aber es ist letztendlich Aufgabe des Programmierers, sicherzustellen, dass ihre Anwendung sicher ist.
Frameworks
Nun, PHP scheint viel mehr Mainstream-Frameworks (CakePHP, Codeigniter, Symfony, Zend Framework) und viele andere kleinere Frameworks als ASP.NET zu haben. ASP.NET hat 2 Haupt-Frameworks von Microsoft, WebForms (ein absoluter Mist) und ASP.NET MVC (der Grund, warum ich mich mit der ASP.NET-Entwicklung befasst habe). Während PHP mehr Frameworks hat, finde ich, dass ASP.NET MVC 3-Framework besser ist als jedes der PHP-Frameworks.
Durchschnittliche Entwicklungszeit
Ich denke, dass für kleinere Projekte die Entwicklungszeit in PHP viel besser ist, aber wenn Ihr Projekt größer wird, skaliert C # diesbezüglich besser.
Kosten
Einige, die erzogen werden sollten, sind Kosten. PHP gewinnt zweifellos an dieser Front. Sie können ASP.NET unter Linux unter Mono ausführen, es gibt jedoch auch eigene Probleme.
Wenn Sie ein kleines bis mittelgroßes Projekt durchführen und / oder die Kosten eine Rolle spielen, gewinnt PHP. Wenn Sie ein umfangreiches Projekt durchführen, würde ich ASP.NET mit C # und ASP.NET MVC auswählen.
quelle
PHP vs ASP.NET ist wie der Vergleich von Äpfeln und Apfelsinen, da gezielt nach unterschiedlichen Lösungen gesucht wird.
PHP ist ein besser geeignetes Framework für kleine Startup-Lösungen. PHP läuft oder Linux, Windows ohne zu viele Anforderungen. Microsoft ASP.NET ist ein leistungsfähiges Framework, das alles bietet, was Sie sich vorstellen können. ASP.NET ist eine funktionsreiche, sofort einsatzbereite Umgebung. Viele werden argumentieren, dass ASP.NET teuer ist, was vor ein paar Jahren der Fall war, aber nicht mehr. Zunächst sind die Tools kostenlos (Express-Editionen), die Datenbankoptionen sind kostenlos (SQL Compact oder SQL Server 2005 oder höher Express). Der Kauf von Hosting ist jetzt sehr günstig. Die Frage ist also nicht, welches besser ist, sondern welches für Ihre Lösung geeignet ist. Persönlich bevorzuge ich ASP.NET, aber das liegt daran, dass ich in einer Unternehmensumgebung arbeite, in der Flexibilität und Skalierbarkeit sehr wichtig sind. Daher bestimmen die Lösungen das Framework.
Eine sehr wichtige Sache ist, in welcher Sprache bist du am besten? Dies sollte der letzte Faktor bei der Entscheidung sein.
Wenn Sie einen Kunden überzeugen möchten, ist asp.net die bessere Option. Wenn ein großer Firmenname eine Sprache unterstützt, fühlt sich ein Kunde wohl. In diesem Fall sind die besten Optionen (Microsoft) ASP.NET und (Oracle) Java JSP.
BEARBEITEN: Reich an Funktionen - ASP.NET bietet zwei Alternativen zum Erstellen einer Website mit WebForms und dem MVC-Ansatz. Neben dem .NET-Framework stehen sehr leistungsfähige Funktionen zur Verfügung, z. B. WF (Workflow), DLR (Dynamic Language Runtime), paralleles Linq, Linq, Routing und verschiedene Formen der Verwaltung des Datenzustands: HTTPContext-Elemente, ViewState, Runtime-Cache, Seite Ausgabecache, drei verschiedene Arten der Sitzungsimplementierung InProc, State und SQL Server. ASP.NET implementiert verschiedene Formen der Sicherheit, z. B. Mitgliedschaftsanbieter und Rollenanbieter. Ich möchte PHP nicht verkaufen, aber ASP.NET spielt in einer anderen Liga.
quelle
Nachdem Sie ausgiebig mit beiden gearbeitet haben, wissen Sie bereits, dass die Antworten je nach Problem und Kunde unterschiedlich ausfallen werden. In einem sehr allgemeinen Sinne:
Wenn Sie eine Liste mit Fakten für Ihre Kunden erstellen, stützen Sie sich auf das, was Sie wissen. Ihre Nachforschungen, egal wie voreingenommen Ihre Ergebnisse sind, sind in Ordnung, um Ihre Stichpunkte zu erhalten.
quelle
.net-Steuerelemente sind viel besser als das, was Sie mit einer PhP-Plattform finden können. Schauen Sie sich zum Beispiel Infragistics an, was ist das Äquivalent für eine LAMPE?
quelle