Diese Arbeit vergleicht PHP mit Node.js auf technischer Ebene und bietet einen Entscheidungsbaum zur richtigen Technologiewahl für ihr Webprojekt. Es wird erklärt, unter welchen Umständen Node.js Performancevorteile bringt, und wie diese im Detail entstehen. Non-blocking I/O vs. blocking I/O werden auf verständliche Weise erklärt und beispielhaft dargestellt. Es wird aber auch auf einige andere Unterschiede wie prototypenbasierter vs. klassenbasierter Objektorientierung, Unterschiede wie bspw. immutable classes von PHP vs. mutable prototypes von JavaScript oder Mehrfachvererbung vs. Einfachvererbung eingegangen. Auch enthalten ist ein Exkurs zum Hosting (Unterschiede, Marktangebot, etc.).
In der Arbeit sind Codesnippets enthalten, welche die Thematik beispielhaft näher bringen.
Node.js ist ein sehr junger Konkurrent am Markt der serverseitigen Programmierung, konnte aber bereits viel Aufmerksamkeit erwecken. In dieser Arbeit erfahren Sie den Grund dafür.
Inhaltsverzeichnis
- Einleitung
- Motivation
- Ziele und Hypothese
- Aufbau der Arbeit
- Grundlagen und Begriffsbestimmungen
- Serverseitige Programmierung
- PHP
- Node.js
- Klassenbasierte, objektorientierte Programmierung
- Prototypenbasierte, objektorientierte Programmierung
- Datenbanksysteme
- Hosting
- PHP und Node.js im Vergleich
- Technische Voraussetzungen
- Synchrone vs. asynchrone Ein- und Ausgabemodelle
- Klassenbasierte vs. prototypenbasierte OOP
- Zusammenfassung des Vergleichs
- Überprüfung der Hypothese
- Entwicklung einer Entscheidungshilfe
- Ziel
- Herangehensweise
- Der Entscheidungsbaum
- Zukunftsausblick
- Non-blocking I/O Modelle in PHP
- Golang und weitere Konkurrenten
Zielsetzung und Themenschwerpunkte
Die Arbeit befasst sich mit dem Vergleich von PHP und Node.js im Kontext serverseitiger Web-Technologien. Ziel ist es, die Vor- und Nachteile beider Technologien herauszuarbeiten und einen Entscheidungsbaum für die Wahl der geeigneten Technologie zu entwickeln.
- Vergleich der technischen Voraussetzungen von PHP und Node.js
- Analyse von synchronen und asynchronen Ein- und Ausgabemodellen
- Untersuchung von klassenbasierter und prototypenbasierter objektorientierter Programmierung
- Entwicklung eines Entscheidungsbaums für die Wahl der geeigneten Technologie
- Diskussion der Zukunftsperspektiven von Node.js und PHP
Zusammenfassung der Kapitel
Die Einleitung führt in die Thematik ein, beschreibt die Motivation für die Arbeit und definiert die Ziele und die Hypothese. Kapitel 2 behandelt die Grundlagen und Begriffsbestimmungen, wobei PHP und Node.js im Detail vorgestellt werden. Außerdem werden verschiedene Programmierkonzepte wie klassenbasierte und prototypenbasierte objektorientierte Programmierung erläutert.
In Kapitel 3 erfolgt der Vergleich von PHP und Node.js anhand ihrer technischen Voraussetzungen, Ein- und Ausgabemodelle und objektorientierten Programmierkonzepte. Kapitel 4 widmet sich der Entwicklung eines Entscheidungsbaums, der die Auswahl der geeigneten Technologie für ein Web-Projekt vereinfachen soll. Das letzte Kapitel beleuchtet den Zukunftsausblick und behandelt die Entwicklung von Non-blocking I/O-Modellen in PHP sowie alternative Technologien wie Golang.
Schlüsselwörter
Node.js, PHP, Serverseitige Programmierung, JavaScript, Objektorientierte Programmierung, Entscheidungsbaum, Web-Entwicklung, Non-blocking I/O, Golang, Vergleich
- Quote paper
- Matthias Neuwersch (Author), 2014, David gegen Goliath - Node.js vs. PHP. Serverseitige Programmierung im Vergleich, Munich, GRIN Verlag, https://www.grin.com/document/276829