Grin logo
de en es fr
Shop
GRIN Website
Publicación mundial de textos académicos
Go to shop › Ciencias de la computación - Programación

David gegen Goliath - Node.js vs. PHP. Serverseitige Programmierung im Vergleich

Título: David gegen Goliath - Node.js vs. PHP. Serverseitige Programmierung im Vergleich

Tesis (Bachelor) , 2014 , 41 Páginas , Calificación: 1,0

Autor:in: Matthias Neuwersch (Autor)

Ciencias de la computación - Programación
Extracto de texto & Detalles   Leer eBook
Resumen Extracto de texto Detalles

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.

Extracto


Inhaltsverzeichnis

1 Einleitung

1.1 Motivation

1.2 Ziele und Hypothese

1.3 Aufbau der Arbeit

2 Grundlagen und Begriffsbestimmungen

2.1 Serverseitige Programmierung

2.1.1 PHP

2.1.2 Node.js

2.1.3 Klassenbasierte, objektorientierte Programmierung

2.1.4 Prototypenbasierte, objektorientierte Programmierung

2.2 Datenbanksysteme

2.3 Hosting

3 PHP und Node.js im Vergleich

3.1 Technische Voraussetzungen

3.2 Synchrone vs. asynchrone Ein- und Ausgabemodelle

3.3 Klassenbasierte vs. prototypenbasierte OOP

3.4 Zusammenfassung des Vergleichs

3.5 Überprüfung der Hypothese

4 Entwicklung einer Entscheidungshilfe

4.1 Ziel

4.2 Herangehensweise

4.3 Der Entscheidungsbaum

5 Zukunftsausblick

5.1 Non-blocking I/O Modelle in PHP

5.2 Golang und weitere Konkurrenten

Zielsetzung & Themen

Die Arbeit analysiert die Unterschiede zwischen PHP und Node.js als serverseitige Technologien, um Entwicklern eine fundierte Entscheidungshilfe für die Technologiewahl bei neuen Webprojekten bereitzustellen.

  • Vergleich von PHP und Node.js hinsichtlich ihrer Architektur.
  • Untersuchung der Leistungsfähigkeit bei synchroner vs. asynchroner I/O-Verarbeitung.
  • Gegenüberstellung von klassenbasierter und prototypenbasierter objektorientierter Programmierung.
  • Entwicklung eines Entscheidungsbaums zur optimalen Technologiewahl basierend auf Projektanforderungen.
  • Evaluierung der Zukunftsaussichten serverseitiger Webtechnologien.

Auszug aus dem Buch

3.2 Synchrone vs. asynchrone Ein- und Ausgabemodelle

Eines der wichtigsten Themen, worin sich Node und PHP unterscheiden, sind sog. „blocking-I/O“ bzw. „non-blocking-I/O“ Modelle. „I/O“ steht hierbei für „Input/Output“, also für Ein- und Ausgaben. Man spricht auch von „synchron“ (blocking) und „asynchron“ (non-blocking). Die beiden Ansätze unterscheiden sich darin, ob Empfangen und Senden von Daten zeitlich versetzt sein können, oder nicht. Blocking-I/O Modelle verfolgen demnach den Ansatz, dass nach dem Senden von Daten ein Prozess solange blockiert wird, bis vom Empfänger eine Antwort kommt. Non-blocking-I/O Modelle hingegen können bis zur Antwort weitere Aufgaben durchführen. Der Prozess wird also nicht blockiert.

Node.js ist für den asynchronen Ansatz ausgelegt, Dieser ermöglicht es, mehrere Operationen nebeneinander durchzuführen. Callback Funktionen werden erst zu einem späteren Zeitpunkt ausgeführt (bspw. wenn Daten aus einer Datenbank abgefragt wurden). Bis zu diesem Zeitpunkt muss die Ausführung nicht angehalten werden, weshalb in der Zwischenzeit andere Dinge passieren können. Mit dem synchronen Ansatz erfolgen Operationen nacheinander und müssen auf die Fertigstellung der jeweils vorhergehenden warten.

Zusammenfassung der Kapitel

1 Einleitung: Beschreibt die Motivation zur Arbeit, die Zielsetzung sowie die Hypothese zum Vergleich zwischen PHP und Node.js.

2 Grundlagen und Begriffsbestimmungen: Führt in die Konzepte der serverseitigen Programmierung, Datenbanksysteme und des Hostings ein.

3 PHP und Node.js im Vergleich: Analysiert und vergleicht beide Technologien anhand technischer Kriterien, I/O-Modelle und Programmierparadigmen.

4 Entwicklung einer Entscheidungshilfe: Präsentiert die Methodik zur Erstellung und den Aufbau eines Entscheidungsbaums zur Technologiewahl.

5 Zukunftsausblick: Diskutiert zukünftige Trends, insbesondere die Entwicklung von I/O-Modellen in PHP und aufkommende Konkurrenten wie Golang.

Schlüsselwörter

PHP, Node.js, Serverseitige Programmierung, Webentwicklung, Asynchrone Programmierung, Non-blocking I/O, Objektorientierte Programmierung, Klassenbasierte OOP, Prototypenbasierte OOP, Entscheidungsbaum, Webhosting, Datenbankanbindung, Event-Loop, Skalierbarkeit, Push-Notifications.

Häufig gestellte Fragen

Was ist das grundlegende Thema der Bachelorarbeit?

Die Arbeit untersucht und vergleicht die beiden serverseitigen Technologien PHP und Node.js, um deren Stärken und Schwächen für verschiedene Webprojekt-Szenarien aufzuzeigen.

Welche zentralen Themenfelder werden bearbeitet?

Die Schwerpunkte liegen auf der technischen Architektur, den Unterschieden zwischen synchroner und asynchroner Ein- und Ausgabeverarbeitung sowie den objektorientierten Programmiermodellen der beiden Technologien.

Was ist das primäre Ziel oder die Forschungsfrage?

Das Hauptziel ist die Entwicklung eines Entscheidungsbaums, der Webentwicklern hilft, basierend auf konkreten Projektanforderungen zwischen PHP und Node.js zu wählen.

Welche wissenschaftliche Methode kommt zum Einsatz?

Die Arbeit basiert auf einem detaillierten theoretischen Vergleich der Technologien, der Herleitung von Entscheidungskriterien und der daraus resultierenden Modellierung eines Entscheidungsbaums für die Praxis.

Welche Inhalte dominieren den Hauptteil?

Der Hauptteil befasst sich mit der technischen Gegenüberstellung, der Analyse der I/O-Verarbeitung (Blocking vs. Non-blocking) und dem Vergleich von klassenbasierter (PHP) gegenüber prototypenbasierter (Node.js) Programmierung.

Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?

Die zentralen Begriffe sind serverseitige Webentwicklung, Asynchronität, Node.js, PHP, Event-gesteuerte Programmierung und objektorientierte Paradigmen.

Warum wird Node.js besonders für interaktive Echtzeit-Anwendungen hervorgehoben?

Aufgrund des non-blocking I/O-Modells kann Node.js effizient mit sehr vielen gleichzeitigen Verbindungen umgehen, was es ideal für Anwendungen mit hoher Interaktivität und Push-Features macht.

Was unterscheidet das objektorientierte Modell von PHP von dem von Node.js?

PHP nutzt einen klassenbasierten Ansatz mit restriktiveren Strukturen, während JavaScript (und damit Node.js) auf prototypenbasierter Vererbung basiert, die flexiblere und dynamischere Strukturen ermöglicht.

Welche Rolle spielt der Kostenfaktor bei der Technologieentscheidung?

Da Hosting für PHP aufgrund der größeren Verbreitung oft günstiger ist, wird dies als ein Kriterium im Entscheidungsbaum berücksichtigt, wobei Node.js für spezifische Performance-Anforderungen trotz höherer Kosten bevorzugt werden kann.

Was ist das "Diamond Problem" im Kontext dieser Arbeit?

Es handelt sich um ein Problem bei der Mehrfachvererbung, das bei prototypenbasierten Modellen auftreten kann und den Grund darstellt, warum PHP zur Vermeidung solcher Fehler auf Mehrfachvererbung verzichtet.

Final del extracto de 41 páginas  - subir

Detalles

Título
David gegen Goliath - Node.js vs. PHP. Serverseitige Programmierung im Vergleich
Universidad
University of Applied Sciences Oberösterreich, Hagenberg
Calificación
1,0
Autor
Matthias Neuwersch (Autor)
Año de publicación
2014
Páginas
41
No. de catálogo
V276829
ISBN (Ebook)
9783656701767
ISBN (Libro)
9783656702658
Idioma
Alemán
Etiqueta
node.js node php serverseitige programmierung web vs prototypenbasiert non-blocking I/O javascript serverseitig hosting
Seguridad del producto
GRIN Publishing Ltd.
Citar trabajo
Matthias Neuwersch (Autor), 2014, David gegen Goliath - Node.js vs. PHP. Serverseitige Programmierung im Vergleich, Múnich, GRIN Verlag, https://www.grin.com/document/276829
Leer eBook
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
  • Si ve este mensaje, la imagen no pudo ser cargada y visualizada.
Extracto de  41  Páginas
Grin logo
  • Grin.com
  • Envío
  • Contacto
  • Privacidad
  • Aviso legal
  • Imprint