ASP.NET versus PHP: Was ist besser für die Webentwicklung?
ASP.NET und PHP sind zwei extrem populäre Technologien um Webanwendungen zu programmieren.
Zudem muss man erwähnen, dass der direkte Vergleich nicht unbedingt zu 100 Prozent richtig ist. Denn PHP ist eine Programmiersprache, während ASP.NET ein Web Framework ist, welches auf der Programmiersprache C# (gesprochen “C Sharp”) basiert. Dennoch werden wir in diesem Beitrag den direkten Vergleich gebrauchen, da mit C# auch Desktop Applikationen erstellt werden.
Agenturen und Softwareunternehmen
Agenturen scheinen einen stärkeren Fokus auf PHP zu haben. Grund dafür ist sicherlich auch, dass die Komponenten (Linux, Apache, MySQL und PHP), für die Entwicklung mit PHP kostenfrei sind.
PHP bietet auch sehr viele Web Frameworks (wie zum Beispiel Laravel, Zend, etc.) an. Hiermit lassen sich sehr flexibel Anwendungen entwickeln.
Softwareunternehmen, welche Softwareprodukte entwickeln und vertreiben, haben dagegen eher die Tendenz auf ASP.NET zu setzen. Die Komponenten für die Erstellung von solchen Applikationen ist hierbei wiederum kostspielig. Der notwendige Microsoft Windows Server und der Microsoft SQL Server sind zum Teil sehr teuer. Je nach Nutzung (Anzahl Nutzer, etc.) können diese Kosten enorm steigen.
Da Agenturen nach Projekt, von ihren Kunden, bezahlt werden, macht eine Entwicklung mit PHP mehr Sinn. Da es hier eine bessere Kostenübersicht gibt und der Kunde gleichzeitig auch nicht mit komplizierten Lizenzierungsmodellen konfrontiert werden muss.
Softwareunternehmen können die Kosten jedoch schon eher in ihre Standardprodukte einpreisen, und somit wird es für den Endkunden auch bezahlbarer, da nicht nur ein Kunde die Lösung nutzt.
Performance
Jede der beiden Technologien bekommt in regelmässigen Abständen ein Upgrade. Somit ist die Performance der beiden identisch. Es kann sein, dass in einem Upgrade, ASP.NET in der Performance besser wird, nur um dann in der nächsten PHP Version überholt zu werden.
Es kommt auch stark auf die Fähigkeiten der Entwickler an. Ein guter Entwickler wird den Programm Code so schreiben, dass das System performant, wartbar und skalierbar bleibt.
Auf der anderen Seite ist bei ASP.NET alles viel geordneter als bei PHP, da PHP verschiedenste Frameworks bereitstellt, während die Entwickler des Ersteren überwiegend entweder auf die Frameworks MVC oder Web API setzen.
Struktur
ASP.NET ist von Microsoft mit einem Gesamtkonzept entwickelt worden. Daher passen alle Komponenten ineinander und arbeiten effizient. PHP hat sich dagegen eher über die Jahre hinweg zu einer robusten Technologie entwickelt. Dabei haben sehr viele Entwickler aus der PHP Gemeinschaft ihren Input hinzugegeben.
Aus diesem Grund kann man auch behaupten, dass ASP.NET eine bessere und durchdachtere Struktur hat, als PHP.
PHP Frameworks wie zum Beispiel YII, Laravel und Zend schaffen es diesen Nachteil teilweise auszugleichen.
Erlernbarkeit
Der Einstieg in PHP ist um ein vielfaches einfacher als in ASP.NET. Relativ schnell kann man sich hier die Ersten einfachen Applikationen bauen und mit dem Code experimentieren.
Gleichzeitig muss man dazu sagen, dass es einiges an Erfahrung braucht, um eine performante und skalierbare Applikation mit PHP zu entwickeln. Wenn man es aus dieser Sichtweise betrachtet, dann braucht es etwa gleich lange, für beide Technologien, bis man gute Programme schreiben kann.
Populäre Anwendungen
Viele populäre Anwendungen laufen auf PHP. Facebook, Wikipedia und WordPress.com sind nur einige bekannte und weltweit genutzte Webanwendungen.
ASP.NET wird dagegen eher von Business Applikationen genutzt, welche zwar in der Business-Gemeinschaft grosse Bekanntheit haben, jedoch im privaten Alltag, wenig oft zum Gebrauch kommen.
Microsoft
Die Tatsache, dass ASP.NET von Microsoft, einem multinationalen Softwareunternehmen, gelenkt wird, hält den einen oder anderen Entwickler davon ab, auf diese Technologie zu setzen. Microsoft ist grundsätzlich auch dazu da, um Geld zu verdienen und somit zahlt man auch für fast alle Komponenten, welche man für die Entwicklung in ASP.NET benötigt. (Zusatzinformation: Es werden jedoch immer mehr Bereiche als Open Source und damit Lizenzfrei bereitgestellt)
PHP hat hier einen “Freieren”-Ansatz. Man kann hier ohne Einschränkungen von einer “Firma” seinen Code weiterentwickeln und auch viele eigene Ansätze mit einbringen.
Editoren
Für PHP gibt es viele Editoren für die Entwicklung.
Für ASP.NET wird hauptsächlich Microsoft’s Visual Studio (VS) genutzt. Laut Aussagen vieler Entwickler, gibt es kaum Editoren für PHP, welche so umfangreich sind, wie VS.
Fazit
Wenn es darum geht Applikationen zu Schreiben, welche über den Webbrowser aufgerufen und hauptsächlich von privaten Endnutzern gebraucht wird, dann sollte die Überlegung eher in Richtung PHP gehen. Viele Websiten, wie Facebook und WordPress.com haben gezeigt, dass man hiermit grosse Anwendungen schreiben und betreiben kann.
Geht es darum, Geschäftsanwendungen zu Schreiben, dann sollte man eher auf ASP.NET setzen. Da hier auch meistens eine Integration in bestehende Softwareumgebungen möglich wird. Ein einfaches Beispiel wäre hier die Integration einer Anwendung in Microsoft Outlook, welches von den meisten Firmen, sei es Kleine oder Grosse, verwendet wird.
Kostenseitig ist es besonders für Freelancer und Agenturen sinnvoll auf PHP zu setzen. Da hier auch einzelne Projekte, welche nicht als Produkte vertrieben werden, den eigenen Kunden günstiger angeboten werden können, da Lizenzierungen für Entwicklungssoftware/ Werkzeuge und Datenbanken entfallen.
Auf Produktbasis wird es wiederum sinnvoll auf ASP.NET zu setzen, da man durch die Nutzung von Werkzeugen wie Visual Studio, schneller entwickeln kann und dadurch Zeit und dadurch auch Kosten spart. Auch wenn es kurzfristig teurer in der Anschaffung ist.
Welche Erfahrungen habt Ihr mit beiden Technologien gemacht?
Interessanter Link:
Vorteile von ASP.NET gegenüber PHP
Bilder: Flickr.com/ Kinney/ Jimmie
Der Autor: Sascha Thattil arbeitet bei YUHIRO und hilft Unternehmern und Unternehmen beim einfachen Aufbau von Programmier-Teams in Indien. YUHIRO ist ein deutsch-indisches Unternehmen welches IT Firmen, Agenturen und IT Abteilungen Softwareentwickler bereitstellt.
„Für PHP gibt es viele Editoren für die Entwicklung.
Für ASP.NET wird hauptsächlich Microsoft’s Visual Studio (VS) genutzt. Laut Aussagen vieler Entwickler, gibt es kaum Editoren für PHP, welche so umfangreich sind, wie VS.“
was ist bspw. mit https://www.jetbrains.com/phpstorm/ ?
unter https://en.wikipedia.org/wiki/List_of_PHP_editors gibt es eine lange liste 🙂
Danke für den Hinweis 🙂
Visual Studio ist schon ein sehr mächtiges Werkzeug. Wir arbeiten seit so vielen Jahren erfolgreich damit. In den vergangen Jahren haben sich viele erfolgreiche ASP.NET basierende Projekt etabliert. DNN als Content Management System oder nocomerce als Webshop stehen PHP-Lösungen dabei in nichts nach.
.net ist mitnichten kostenpflichtig (kann jeder frei nutzen), ASP.NET Core ist auf GitHub gehostet, 100% open source und akzeptiert auch pull-requests von nicht-Microsoft-Mitarbeitern.
Dazu kommt, dass es keinen(!) Windows Server als Betriebssystem braucht: es läuft auf Windows, Linux und Mac (mit Xamarin/Mono auch auf Android und iOS, das ist für Web-Entwicklung aber nicht so relevant).
Weiterhin braucht man auch weder für die Entwicklung, noch für das Kompilieren Visual Studio (welches in der Community-Edition auch kostenfrei zur Verfügung gestellt wird), sondern kann auch z.B. VSCode (ebenfalls von Microsoft, 100% open source und auf Linux/Mac/Windows lauffähig) nutzen, ohne einen Cent Lizenzgebühren zahlen zu müssen (es gibt auch noch weitere Entwicklungs-Umgebungen für .net, wie René schon erwähnt hat).
Auch einen MS-SQL-Server (der mittlerweile auch für Linux zu haben ist) wird nicht benötigt – man kann von ASP.NET Core problemlos auf MySQL, MariaDB oder andere DBMS zugreifen.
Auch im Bereich Content-Management-Systeme als Basis für eine Webseite gibt es im Bereich .net einiges an Auswahl – meine Favoriten sind Orchard.net, DNN und Umbraco.
Danke für die Informationen.
Genau dasselbe wollte ich eben auch anmerken. 🙂