ASP.net oder PHP was hat mehr Zukunft?

5 Antworten

Ich bin der Meinung, dass man besser nach Anwendungsfall urteilen sollte. Denn ein pauschales besser/schlechter gibt es m.E. nicht.

Eine PHP-Anwendung hat den Vorteil, auch im Produktionsbetrieb leicht änderbar und generell schnell entwickelbar zu sein. Angenommen, ein großes Unternehmen möchte eine zeitweilige Kampagne starten (z.B. via One Pager mit einem Gewinnspiel), dann ist die Wahrscheinlichkeit, dass die Wahl auf PHP fällt, größer, als für C# / ASP.NET. Ein passendes Umfeld (Webserver mit passender Konfiguration) aufzubauen, gestaltet sich unkompliziert. Etliche Webhoster bieten günstigen Service an.

Der finanzielle Faktor zählt daher ebenso stark mit hinein. So kann es also auch passieren, dass eine Webseite, die auf ASP.NET basiert, für eine spezielle Kampagne eine PHP-Seite als iFrame o.ä. inkludiert. Statt das eigentliche Wartungs-/Entwicklungsteam mit der Aufgabe zu beauftragen, kann eine externe Firma die Arbeit viel preiswerter verrichten.

Für eine E-Commerce-Lösung mit Enterprise-Zügen (wo also im Hintergrund noch ein riesiges System anhängt: z.B. ein Logistiksystem, ERPs, Media-Asset-Plattformen, diverse APIs, usw.) wären hingegen eher C# / ASP.NET oder Java die Wahl. Diese Systeme sind meist schwergewichtiger, teurer und aufwendiger in Entwicklung und Wartung, aber ebenso stabiler. Einfache Beispiele dafür sind die statische Typisierung, bessere Möglichkeiten der Parallelisierung oder der präzisere, vertrauenswürdigere Umgang mit numerischen Typen (was gerade bei einem internationalen Shopsystem nicht gerade unwichtig ist).

(...) dann meinte er PHP Zeit ist vorbei (...)

Völlig am Ende ist PHP noch lange nicht. Die Sprache wird (so wie diverse Frameworks / CMS, die PHP nutzen) aktiv weiterentwickelt und gehört generell wohl mit zu den meist gewählten Einstiegssprachen für junge Programmierer. Das es einen starken Zuwachs an Webseiten, die auf andere Technologien aufbauen, gibt, lässt sich allerdings genausowenig bestreiten. Und da sind gerade JavaScript und C# / ASP.NET (Core) vorn mit dabei. Als kleinen Beleg dazu kannst du dir ja einmal die erste Grafik hier anschauen (basierend auf einer Umfrage Ende 2020, mehr zur Quelle steht im Artikel).

Ich denke, eine Zerstreuung wird sich fortsetzen, allerdings anwendungsfallorientiert. PHP wird sich demzufolge auch noch lange als beständige Webtechnologie halten. Selbst wenn sie in den Nutzungsstatistiken überholt werden sollte.

(...) wer hat recht ich oder der Chef mit dem ich geredet habe?

Hierzu noch eine Bemerkung: Diese Quelle könntest du selbst schon etwas präziser einschätzen, indem du einfach einmal überlegst, mit wem du da geredet hast. Wenn er bspw. in der Webentwicklungsbranche arbeitet und du sein Alter ungefähr schätzen kannst, sollte es möglich sein, eine ungefähre Vorstellung davon zu bekommen, wie lange er bereits Praxiserfahrung gesammelt haben könnte.

BeamerBen  03.08.2021, 01:06

Du hast ja recht, aber

Eine PHP-Anwendung hat den Vorteil, auch im Produktionsbetrieb leicht änderbar und generell schnell entwickelbar zu sein. Angenommen, ein großes Unternehmen möchte eine zeitweilige Kampagne starten (z.B. via One Pager mit einem Gewinnspiel), dann ist die Wahrscheinlichkeit, dass die Wahl auf PHP fällt, größer, als für C# / ASP.NET. Ein passendes Umfeld (Webserver mit passender Konfiguration) aufzubauen, gestaltet sich unkompliziert. Etliche Webhoster bieten günstigen Service an.

Wenn du dutzende Leute hast die C# / ASP.NET beherrschen und damit genau so schnell ne Webpage hochziehen wie mit PHP, warum sollte man dann PHP nehmen?

Genau so beim Rest, eine "große Firma" die Erfahrung mit ASP.NET und C# hat wird keine Probleme haben ein Webserver für den Stack hinzustellen den sie eh nutzen. Vielleicht gibt es sogar bestehende Automatisierungstools die das einfacher machen als für eine Technologie die man nicht so gut kennt.

Und n günstigen Webhoster der PHP kann braucht man auch nicht wenn man dutzende eigene Server hat oder in der Cloud hosted.

Statt das eigentliche Wartungs-/Entwicklungsteam mit der Aufgabe zu beauftragen, kann eine externe Firma die Arbeit viel preiswerter verrichten.

Und genau das sind die Leute die PHP nutzen, für die der Anwendungsfall passt. Webargenturen die einem schön günstig ne Lösung mit WordPress hinklatschen :)

0
regex9  03.08.2021, 01:48
@BeamerBen

Ich beziehe mich auf folgenden Anwendungsfall:

Eine Firma A wartet für einen Großkunden die Online-Präsentation, die auf ASP.NET fußt, mit einem CMS u.ä.. Der Kunde möchte nun eine zeitweilige Kampagnenseite, heuert dafür aber eine Firma B an, da diese preiswerter als Firma A ist und flexibler reagieren kann. Solche B-Firmen arbeiten in der Regel mit einfachen Sprachen wie PHP oder Ruby und haben sich auf entsprechende Anwendungsfälle spezialisiert. Eine Implementation mit ASP.NET ist hierbei aufwendiger, schon allein weil du in der Regel einen komplexeren Deploymentprozess dazwischen hast. Zuzüglich können Strukturvorgaben bremsen (Bsp.: Die Kampagnenseite muss in die bestehende Anwendung integriert werden, o.ä.).

Das größte Gewicht spielt der Kostenfaktor. Firma B setzt sich meist durch, da sie kostengünstiger sind als Firma A.

0

:D

Das Interesse an PHP wird seit Jahren weniger. Es gibt zwar ein paar gute Neuerungen und Frameworks aber abseits von bestehenden Projekten und Dingen wie Wordpress würde ich sagen nutzen die Leute eher andere Sprachen.

Ich würde sagen ASP.net (Core) hat definitiv eine größere Zukunft als PHP, mit ASP ohne ".net" war übrigens die Technik davor und wohl ziemlich furchtbar.

Ob es sich lohnt… ich habe in der Vergangenheit eher keine Website sondern eher eine http API im Backend gebaut und da würde ich sagen lohnt es sich definitiv. Ich würde das niemals freiwillig mit PHP machen. Im Gegensatz zu anderen gehassten Sprachen die ich eventuell noch für bestimmte Dinge freiwillig nutzen würde wie Java würde ich PHP überhaupt nie freiwillig nutzen. Und bis auf wenige Ausnahmen sehen das auch alle Entwickler von denen ich etwas halte so.

NodeJS ist so ne Sache, das wäre auch nicht meine erste Wahl aber ich hab es schon für sehr kleine Prototyp artige Projekte genutzt und für so etwas kanns doch ganz cool sein.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops
triopasi  02.08.2021, 21:44

Mit node.js kann man extrem geile Sachen machen wenn man z.B. in Front- und Backend TypeScript nutzt. Dann kann man Code Server- und Clientseitig importieren. Wenn man sich dann noch gut mit dem Javascript gehacke auskennt kann man da coole Sachen selbst bauen, RPC calls z.B.

Das Problem dabei ist nur das "selbst bauen". Man muss sehr viel selbst machen

1
BeamerBen  03.08.2021, 00:46
@triopasi

Ja, habe in den Fällen auch NodeJS genutzt weil man sehr frei ist wie man seinen Code schreibt.

Aber muss sagen dieses Codesharing zwischen Client und Server überzeugt mich jetzt gar nicht so, in der Theorie ganz nett aber in der Praxis habe ichs persönlich nie so wirklich vermisst. Kommt aber natürlich stark aufs Projekt an.

Ich würde aber vermutlich eher schauen ob man eine gemeinsame Lib mit Webassembly nutzen könnte als extra dafür JS im Backend zu nutzen.

0

Hallo erstmal.

Meiner Meinung nach hat Php mehr zukunft da man sehr viel eigenbeständigkeit hat. Man muss aber sich damit aus kennen.

Woher ich das weiß:eigene Erfahrung

Ich finde auch, dass PHP inzwischen etwas veraltet ist. PHP hat einfach viele historische Probleme und was Microsoft mit C# vorantreibt ist schon geil. Oder was mit node.js möglich ist wenn man das in Front- und Backend einsetzt.

Woher ich das weiß:Studium / Ausbildung – Informatikstudium

ASP.NET ist keine Programmiersprache (wie PHP) sondern ein Framework, was weit mehr als nur HTML zusammen stückelt (wie PHP). Für PHP gibt's sowas natürlich auch, Du müsstest also eher diese PHP-Frameworks mit ASP.NET vergleichen und nicht PHP selber.
Der entscheidende Punkt bei ASP.NET ist aber das ".NET" bzw. in den meisten Fällen C#, was um einiges weniger Fallstricke oder Langzeitschwierigkeiten oder Wartungsprobleme mit sich bringt, als PHP (oder noch schlimmer: Perl).

Dein Chef hat recht: PHP stirbt aus ("sterben" bei Programmiersprachen heißt nicht, dass sie wirklich sterben, sondern nur dass sie langsam an Verbreitung verlieren)
Du hast aber auch recht: Die meisten Websites sind mit PHP gebaut.
Dein Argument ist aber nichts positives, sondern einfach nur die notwendige Konsequenz bei einer so alten Sprache, die zur richtigen Zeit entwickelt wurde und das liefert, was gebraucht wurde ;)
Jahrelang wurden viele Websites mit PHP entwickelt, es gibt also noch viele alte Websites, die man nicht einfach neu entwickeln kann. Oder es gibt noch viele PHP-Entwickler-Teams, die Du nicht einfach so an ein C#-Projekt setzen kannst, da fehlt die sehr wertvolle Erfahrung und Zeit für das Lernen.

Deine zweite Behauptung stimmt aber nicht. Ja, es gibt Möglichkeiten, Backend-Systeme mit JavaScript zu entwickeln, das heißt aber nicht, dass "der Trend in diese Richtung geht" - zumindest wenn ich das mal allgemein betrachte. Außerdem löst es nicht die Schwierigkeiten, die JavaScript hat, sondern erleichtert es nur den Entwicklern, die mehr Erfahrung mit JavaScript als mit Alternativen haben.
Hier gilt das gleiche wie bei PHP: Du kannst nicht einfach ein Team oder altes Projekt mit wichtiger JavaScript-Erfahrung auf eine neue Programmiersprache setzen, sowas geht schief.

Das sind natürlich nicht die einzigen Punkte, nach denen man sich entscheiden sollte, z.B. sind alle skriptbasierten Sprachen leichter bzw. schneller anzupassen, immerhin reicht es, eines der Skripte zu ändern, man muss nicht kompilieren und hat keine (kaum) Downtime. Ob das nun wirklich leichter oder einfach nur riskanter ist, muss jeder für sich entscheiden.
Oder man legt wert auf die Flexibilität von PHP und JavaScript, da kann man viel eher "schmutzige" Umwege suchen, die vielleicht nicht ideal, aber vor allem schnell entwickelt sind. C# ist in vielen Punkten viel strenger und - wenn die nötige Erfahrung fehlt - sorgt schnell mal für unnötig komplexe Strukturen oder andere Probleme.

Was nun die bessere Wahl ist, muss man also je Fall entscheiden, eine falsche Entscheidung ist ASP.NET aber definitiv nicht. Der Nachteil von ASP.NET ist aber die Komplexität im Detail, es liefert eine sehr einfache und klare Struktur für eigentlich komplexe Prozesse, aber zum Preis der weniger offensichtlichen Hintergründe.
Außerdem ist ASP.NET nicht "nur" ein bisschen Web-Framework, sondern auch ein vollständiges Rahmen-Framework für Web-Anwendungen jeder Art, das kann am Anfang schnell überrollen, besonders wenn man die Prinzipien dahinter nicht versteht. Wenn man sie verstanden und etwas Erfahrung damit hat, können diese Prinzipien aber viel Arbeit, Zeit und Stress ersparen oder einfach nur für "schöneren" Code sorgen.

Ich halte ASP.NET für ein sehr gelungenes Framework, muss aber auch dazu sagen: nimm dir Zeit, lieber zu viel als zu wenig. Die Prinzipien sind gerade für Einsteiger (und leider auch viele angeblich Erfahrene) schwer zu begreifen und noch schwerer zu verinnerlichen, bieten dafür aber viele Vorteile. ASP.NET bietet für diese Prinzipien eine in sich geschlossene Implementierung, die aber dennoch sehr flexibel erweitert werden kann - und aus der Community oder von Microsoft selber gibt es auch zahllose solcher Erweiterungen.
So positiv ich das finden mag, kann das in anderen Situationen aber zum Problem werden, z.B. wenn jemand mit "Vorbelastung" ASP.NET nutzen und seine Gewohnheiten "rein zwingen" möchte - solche Projekt fahren garantiert vor die Wand, eher früher als später.
Richtig angewandt kann man damit aber komplexe Web-Anwendungen mit relativ wenig Aufwand und immer einer gewissen Grundstruktur entwickeln, gerade Letzteres kann für die Zukunft viel wert sein.

ASP.NET muss aber nicht alles sein, z.B. kann man auch mit Angular TypeScript die eigentliche Website entwickeln, ASP.NET ist dann nur das reine Backend. Oder umgekehrt, man nutzt die UI-Funktionen, die direkt verfügbar sind, z.B. Razor. Oder man entwickelt MicroServices (Vorsicht: Komplexer als es klingt, sollte man sich gut überlegen), teilweise mit ASP.NET Core, teilweise PHP und ein Client mit Java, je nachdem, welche Umstände und Anforderungen man hat.

Ach ja und verwechsle nicht ASP.NET mit ASP.NET Core. Oft werden die als Synonyme für "altes ASP.NET" und "neues ASP.NET" genutzt, tatsächlich nennt Microsoft das "neue ASP.NET" auch einfach nur "ASP.NET". Zugegeben, das ist verwirrend, aber was soll man machen.

> ASP.NET ist die Marke
> ASP.NET WebAPI ist ein (eingestelltes) Produkt in der ASP.NET Familie. Wird in den Dokus nur noch aus historischen Gründen so bezeichnet.
> ASP.NET Core ist das Framework, in das u.a. auch das ehemalige Produkt "WebAPI" integriert wurde (schon seit MVC 1.0!).

Zitat von hier.
Wichtig ist, dass Du dir das Neue anschaust, das Alte wird zwar noch eingesetzt, wird aber nicht mehr weiterentwickelt.

Woher ich das weiß:Berufserfahrung