Zum Inhalt springen

ASP.NET oder PHP?


ricardo1885

Empfohlene Beiträge

Hallo,

sicherlich mag es den Ein oder Anderen geben, der entweder ASP.NET oder PHP aus bestimmten Gründen bevorzugt. Wer kann mir da mal ein paar nennen?

Ich stehe zur Zeit nämlich vor der Entscheidung, ob meine Webentwicklung wirklich mit PHP weitergehen soll oder aber, ob ich auf ASP.NET umsteige.

Was denkt ihr darüber?

Gruß,

ricardo1885

Link zu diesem Kommentar
Auf anderen Seiten teilen

sicherlich mag es den Ein oder Anderen geben, der entweder ASP.NET oder PHP aus bestimmten Gründen bevorzugt. Wer kann mir da mal ein paar nennen?

Kommt darauf an wo und wie du das einsetzt.

Privat: Spricht auf jeden Fall für PHP die weitere Verbreitung bei den Webhostern und damit der günstigere Preis.

Hab mal die 2 günstigsten Angebote der Webhostlist (PHP5 + MySQL und ASP-MySQL):

500 MB + PHP + MySQL

...

Kosten

Einmalige Einrichtungsgebühr in Euro 0.00

Monatliche Kosten in Euro 0.55

Link zu diesem Kommentar
Auf anderen Seiten teilen

du kannst auch Ruby, Perl, Java (JSP) und blub verwenden. Tut sich eigentlich nicht so viel.

Von ASP an sich würde ich aber abraten, hauptsächlich eben wegen der geringen Unterstützung bei Unixservern. Die meisten IDE's werden auch auf Windows angewiesen sein - gut, das geht sicher auch mit nem Texteditor, aber ich bezweifle das es sehr effektives Arbeiten wäre.

PHP wird so schnell sicher nicht verschwinden, schon allen wg. der bestehenden Produkte die darauf basieren. Alles weitere ist dann eine Frage der Weiterentwicklung von PHP...nur leider ist meine Kristallkugel gerade in der Werkstatt.

Wenn du dir alternativen zu PHP ansehen willst, würde ich eher zu Java/JSP raten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mh... JSP bzw. Java macht mir im Augenblick den Anschein, als das es auf älteren Rechnern noch etwas träge läuft. Werde mir dies aber auch nochmal ansehen. Doch auch hier brauch man wieder eine etwas teuere JSP-Unterstützung, wie Tomcat, was nicht gleich in allen Paketen drin ist, also bei Hosteurope zumindestens.

ASP besser gesagt ASP.NET rennt unter Umständen schon auf Unix-Machinen, hier muss nur das Mono-Dingensbums installiert sein, allerdings ist das dann genau das selbe, wie wenn ich PHP auf einer Windows-Kiste laufen lassse...

Was mir bei ASP.NET wirklich sehr gut gefällt, ist die ausgereifte IDE, mit dem man als verwöhnter Windows-Programmier genauso viel anstellen kann, wie als wenn man eine normale Software programmiert.

Super wäre natürlich eine IDE, die vom Funktionsumfang genauso mächtig ist, wie die von .NET.

Eclipse habe ich mir auch schonmal angesehen, aber im Zusammenhang mit PHP gefällt mir dies überhaupt nicht... Werde es mir wohl nochmla im Zusammenhang mit JSP ansehen müssen....

Wie ist das eigentlich überhaupt mit der Sicherheitsarchitektur der einzelnen Skriptsprachen? Gibt es da irgendwo eine Analyse?

Link zu diesem Kommentar
Auf anderen Seiten teilen

ASP besser gesagt ASP.NET rennt unter Umständen schon auf Unix-Machinen, hier muss nur das Mono-Dingensbums installiert sein, allerdings ist das dann genau das selbe, wie wenn ich PHP auf einer Windows-Kiste laufen lassse...

Nicht ganz. Mono ist .net reverse engineered, PHP für Windows ist eine Kompilierung des original Codes unter windows. Ein kleiner (nicht für die, die das reverse engineeren), aber sehr entscheidender Unterschied. Mono gibt es, weil MS nichts dagagen macht. Keine ahnung ob sie das könnten, aber frei von .net ist nur Version 1.0 (ohne Winforms und Netwerkzeugs). Bin da nicht auf dem neuesten Stand, aber so ung. sieht das aus.

.net ist theoretisch plattformunabhängig, aber das ist IMHO nur das Feigenblatt was MS davorhängt. Unterstützt wird von MS nur Windows für .net, alles andere wird allenfalls geduldet.

Von sich aus unsicher ist keines, würd ich sagen. Es kommt immer darauf an was du daraus machst. Bei PHP kann man eine Menge an Lücken einbauen in seinen Code, aber ich denke das liegt vorallem daran, dass du dabei ein Programm hast, was mehr oder weniger frei übers Internet zugänglich ist und von da Daten empfängt und verarbeitet. Ich kenne ASP.net nicht, aber da kann man bestimmt auch ne Menge sch** mit programmieren, wenn man das wirklich will (oder nicht besser weiß).

Könnte allerdings sein, dass eine entsprechende IDE da bissl auspasst und zumindest auf die gröbsten Fehler aufmerksam macht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mh...

Naja, wenn ich z.B. mit PHP auf einem Windows-Server auf Dateien zugreife und dort reinschreiben will, geht die Geschichte da ja schon wieder los, da es von Hause aus ja bekanntlich nur das Dateisystem von Linux unterstützt. Soviel zum Thema Kompitibilität.

Naja, ich denke, ich werde mich mal mit ASP.NET außeinander setzen. Da werden wir in der Firma in naher Zukunft auch noch einiges mit zu tun haben und von daher ist das dann sicherlich eine gute Entscheidung.

Link zu diesem Kommentar
Auf anderen Seiten teilen

naja, nichts gegen deine Entscheidung ;) aber wenn du auf Dateien auf einem Windows-Server zugreifen willst, dann sollte da ein entsprechender Dienst laufen. z.B. RPC, SOAP, eigener Webserver, der unabhängig vom PHP läuft. Von PHP, wenn es nicht gerade selbst schon auf Windows läuft auf einen Windows-Dateiserver zu zu greifen ist glaube ich nicht sinn der sache.

Nur meine Meinung natürlich ;)

zu den Sprachen:

php hat den Vorteil, das man einfachen Zugriff auf lowlevel-Funktionen (der PHP-Umgebung) hat. ASP und java verwenden bibliotheken in denen nur die IDE's wissen welche Funktionen es gibt und wie sie wirken. Noch schlimmer wenn sie native DLL / (wie heißt noch gleich das Unix-Format dazu .so ?) verwenden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Naja, wenn ich z.B. mit PHP auf einem Windows-Server auf Dateien zugreife und dort reinschreiben will, geht die Geschichte da ja schon wieder los, da es von Hause aus ja bekanntlich nur das Dateisystem von Linux unterstützt. Soviel zum Thema Kompitibilität.

:confused: Kapier ich jetzt nicht was du meinst.

z.B.

Hinweis: Zusätzlich kann mode der Buchstabe 'b' hinzugefügt werden, der die Behandlung von Binärdateien erlaubt. Dies ist nur auf Systemen sinnvoll, welche zwischen Binär- und Text-Dateien unterscheiden (z.B. Windows. Ist bei Unix sinnlos). Wenn das Feature nicht gebraucht wird, wird es einfach ignoriert. Sie sollten den 'b' Flag verwenden, um Ihre Skripte portabler zu machen.

auf Dateien zugreifen ist also kompatibel.

Und beim Schreiben:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moment:

Wenn ich PHP auf einem Windows-System laufen lasse kann ich Probleme, wegen chmod bekommen, weil es ja entsprechend konzipiert ist.

Wenn ich nun ASP.NET unter Linux mit Mono laufen lassen würde, sollte dies doch eigentlich ohne Probleme funktionieren, da doch die API von Mono die selbe sein sollte, wie die unter dem NET-Framework.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn ich nun ASP.NET unter Linux mit Mono laufen lassen würde, sollte dies doch eigentlich ohne Probleme funktionieren, da doch die API von Mono die selbe sein sollte, wie die unter dem NET-Framework.

Leider ist die Rechtestruktur unter Win und unter Unix unterschiedlich. Eine von MS hauptsächlich für Win konzipierte API für Rechteverwaltung funktioniert deshalb nicht zwangsläufig auch woanders.

Sonst wäre es ja auch kein Problem chmod bei PHP entsprechend zu patchen...

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es geht mir nicht darum etwas zu patchen, sondern darum wirklich mal geklärt zu bekommen, welchen der vielen Skriptsprachen man überhaupt noch vertrauen schenken soll!

Ich für meinen Teil bin privat total irritiert, da es bei Einem dies gibt und bei dem Anderen das aber keines, das mir wirklich perfekt scheint...

Link zu diesem Kommentar
Auf anderen Seiten teilen

man kann sie alle Benutzen. (fast ^^)

Du beschwerst dich ja auch nicht das es mehrere Autohersteller gibt, obwohl dir keines richtig gefällt ^^.

PHP hat den Vorteil es ist offen, häufig verwendet, vergleichbar leicht zu erlernen, aber staubt langsam an. Zieht viele Funktionen mit sich und viele Möglichkeiten, die meiner Meinung nach das Arbeiten schwieriger machen.

Was mir fehlt sind übergreifende Ressourcen, die nicht bei jedem Aufruf neu geladen werden müssen.

Java hat generell den Vorteil das viele Funktionen auch lokal genutzt oder getestet werden können. Im Vergleich zu PHP ordentlicher (Grundsprache) aber nicht so flexibel. Einziges Problem bei java ist für mich das Chaos das durch riesige Pakete und Projekte verursacht wird, die dann eigene Konfigurationen und Regeln in sich tragen, eigene Formate für irgendwelche Dateien mit sich bringen. Und natürlich endlose Exceptions mit denen man am ende nicht mehr viel anfangen kann *gg*

ASP.NET habe ich selber nur kurz getestet, daher muss ich da ein paar Vermutungen anstellen. MS-Produkt, was mich zu der Vermutung bringt das einige Funktionen die in Zukunft kommen auch wieder an Windows gebunden sind. Effektives Arbeiten setzt die IDEs von MS vorraus. Ich versuche eigentlich auch recht tief in die jeweiligen Programme einzusteigen, was hier dann nur schwer möglich wäre. Ich lese häufiger von ASP in verbindung mit Widget-Klassen die ganze Seitenelemente fertig generieren. Das denke ich ist der falsche Weg, wenn man sich daran gewöhnt nur noch damit zu arbeiten.

Und dann gäbe es da noch Perl, Python, Ruby

Perl ist schrecklich *g* gut für Programme in denen man den Code verstecken will, so kryptisches Coden habe ich nirgendwo sonst gesehen. Python wenig Erfahrung mit, wird in vielen Programmen als Plugin-Sprache angeboten.

und

Ruby hat(te) seinen Hype gerade erst, kann ich nichts zu sagen, muss ich mir erst noch ansehen.

Mein Fazit ?, mit PHP und Java eigentlich alles abgedeckt. PHP hat etwas Weiterentwicklung nötig. Java mehr ein aufräumen.

ich hoffe das hilft dir irgendwie tiefer in deine Verwirrung ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

PHP [...]

Was mir fehlt sind übergreifende Ressourcen, die nicht bei jedem Aufruf neu geladen werden müssen.

Das liegt aber an der Art, wie HTTP aufgebaut ist und wie PHP für ein HTTP Request eben implementiert ist.

HTTP ist statuslos, eine Anfrage besteht immer nur aus einer Anfrage und der antwort darauf. Dann ist das vorbei. die nächste Anfrage ist völlig unabhängig von jeder vorhergegangenen Anfrage und kann dieser auch nicht zugeordnet werden. Ein PHP Skript wird nur bei einer HTTP-Anfrage aufgerufen. Wenn die Anfrage durch ist, ist auch PHP wieder weg.

Um diesen statuslosen Zustand etwas zu verbessern (manchmal will bzw muss man eben mehrere anfragen miteinander Verknüpfen können) hat man Cookies erfunden (bzw die Session auf der Serverseite). Damit kannst du also zum einen mehrere Anfragen einem anfrager zuordnen und zum anderen Daten über mehrere Anfragen speichern. Nicht alle Daten sind aber so speicherbar.

Wegen der Art, dass PHP ein Skript nur ausführt, wenn eine HTTP-Anfrage kommt, kommt es auch dazu, dass nach dem Skriptaufruf eben nichts mehr davon da ist. Eine weitere Anfrage kann kommen, muss aber nicht.

Das einzige was (meistens) im speicher bleibt, ist der Interpreter selber (wenn PHP als DLL bzw. SO eingebunden ist).

Was man machen könnte (jetzt nur mal so als Überlegung, keine Ahnung was dem technisch im Weg steht o.ä.) wäre, eine Art Shared Mem für PHP, also ein Speicherbereich der ähnlich wie die Sessions arbeitet und eben Objekte beinhaltet, die man über mehrere aufrufe dann nutzen könnte.

Das wäre aber auf jeden Fall ressourcenintensiver und außerdem müsste dazu ja auch eine komplett neue Syntax eingeführt werden (ablegen von Objekten im SharedMem bzw laden von dort. Wobei, das könnte man auch über funktionen machen...).

Das würde IMHO vielleicht gehen, aber einen so tiefen Einblick in PHP hab ich dann auch wieder nicht um das wirklich beurteilen zu können.

Die entwickler Mailingliste oder Newsgroup wäre dafür vielleicht ein Anlaufpunkt um das mal vorzuschlagen bze zu fragen.

Falls du das tust bitte Infos dazu hier, würde mich auch interessieren ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

mir geht es vor allem um Konfigurationen, Pfade, Templates, values, whatever.

In Java gibt es ja auch den Servlet-Livecycle der erlaubt bestimmte werte bei erster Initialisierung im speicher zu behalten bis das Servlet abstürzt / beendet wird.

...was dann den gesamtspeicherbedarf erheblich reduziert, da dies nicht mehr für jeden aufruf geladen werden muss.

Die techniken die ich bisher kenne, können nur strings speichern, so das man doch wieder in nutzbaren Code transformieren muss....und dann kann ich auch aufs filesystem zugreifen ^^

Link zu diesem Kommentar
Auf anderen Seiten teilen

In Java gibt es ja auch den Servlet-Livecycle der erlaubt bestimmte werte bei erster Initialisierung im speicher zu behalten bis das Servlet abstürzt / beendet wird.

Bei Java gibt es soweit ich weiß die Server, Application und Session Umgebung. Daten aus der Server-Umgebung sind für alles was auf dem Server läuft verfügbar, Application für die jeweilige application (so lange sie läuft) und Session eben für eine Session.

Dafür sind sie aber nach dem Skriptdurchlauf auch wieder weg und belegen dann keinen Speicher. Gerade bei nicht readonly Daten spielt ja dann auch die Threadsicherheit etc. eine Rolle wenn sie von vielen Skripten verwendet werden.

Das ist eben nicht so einfach getan mit: In den Speicher kopieren und einfach benutzen (auch wenn dir das jetzt reichen würde ;) ).

EDIT:

Bei Java kümmert sich da ja die VM drum. Und PHP braucht deutlich weniger Ressourcen als die Java-VM und der Gesamtspeicherbedarf dürfte selbst beim größten PHP-Skript geringer sein als der von Java :D

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...