Webprogrammierung - from troos import marcel
So könnte ein sehr simpler Befehl in der Programmiersprache Python lauten.
Der Zweck der Webprogrammierung besteht darin, das Verhalten von Webseiten zu steuern: "Was passiert wenn ich auf Absenden klicke?".
Beim Erstellen eines Beitrags in einem Forum werden beispielsweise unmengen von Daten aus der HTTP-Anfrage ausgelesen, überprüft, die Benutzerdaten aus der Datenbank gelesen, Zugriffsrechte geprüft und gegenfalls ein neuer Beitrag in der Datenbank erstellt. Dies ist allerdings noch eine sehr vereinfachte Darstellungsweise der ablaufenden Operationen.
Für viele Webseiten sind kaum Neu-Programmierungen nötig, da es inzwischen soviele frei verfügbare Systeme gibt, dass die meisten Bereiche abgedeckt sind. Es kommt aber auch immerwieder vor, dass ein Problem sehr spezifisch ist. So habe ich beispielsweise eine Datenbank für Handballvereine entwickelt, die Daten über Mannschaften, Spieler und Spiele sammelt und zusätzlich Statistiken berechnet oder eine Verwaltung für einen Immobilienmakler geschrieben.
Wenn man ein individuelles Projekt ins Leben rufen möchte, kommt man häufig nicht drum rum, in eine Neu-Programmierung zu investieren. Diese ist zwar recht zeitaufwändig, bietet dafür aber auch genau die gewünschten Funktionen und Verhaltensweisen.
Nachfolgend werde ich einige Techniken, Programmiersprachen und Begriffe der Programmierung erklären.
PHP
PHP ist seit Jahren die meist verbreitete Programmiersprache für Internetanwendungen. Im Zusammenhang mit MySQL bietet sie die Möglichkeit zur schnellen Darstellung von dynamischen Inhalten. Aufgrund der Einfachheit von PHP programmieren allerdings auch viele unerfahrene Entwickler in dieser Programmiersprache. Daher gibt es im Internet leider viele unsichere und fehlerbehaftete PHP-Anwendungen. Eine ordnungsgemäße Programmierung in PHP kann jedoch genauso performant und sicher wie eine in Python, Java oder ASP geschriebene Webseite sein.
Die größte auf PHP-basierende Webseite ist Wikipedia.
MySQL
MySQL ist eine beliebte Datenbank, die viel in Verbindung mit PHP verwendet wird.
PostgreSQL
Dies ist eine weitere Datenbank, die leider nicht ganz so verbreitet wie MySQL ist, jedoch mehr Funktionen, Stabilität und Konsistenz der Datenbank bietet. In manchen Geschwindigkeitstests schneidet PostgreSQL bei simplen Abfragen langsamer als MySQL ab. Bei großen Anwendungen würde ich dieses System dennoch MySQL bevorzugen.
Python / Pylons
Seit Anfang 2007 programmiere ich in Python und würde es seitdem in eigenen Neuprogrammierungen immer PHP vorziehen. Die Webentwicklung ist besonders mit dem MVC-Framework Pylons sehr schnell durchführbar und bietet trotzdem eine sehr hohe Sicherheit und Kompatiblität zu viele anderen Techniken.
Javascript / Ajax
Dieses ist im Gegensatz zu den bisher vorgestellten Techniken eine Clientseitige Programmiersprache. Das heisst, dass der Geschrieben Programmiercode auf dem Rechner des Seitenbenutzers ausgeführt wird, anstatt auf dem Server. Die Vorteile liegen auf der einen Seite in der besseren Geschwindigkeit von Inhalten, die mit Ajax geladen werden, und auf der anderen Seite in der Möglichkeit, einfacher zu benutzende Webapplikationen zu entwickeln.
Man kann Javascript allerdings nicht für Sicherheitsrelevante Gebiete einsetzen, da der Benutzer den Quellcode beliebig verändern kann.
REST und SOAP
REST und SOAP sind Techniken um Schnittstellen zwischen verschiedenen Anwendungen zu realisieren.
JSON und XML
JSON und XML sind Spezifikationen zur strukturierten Übertragung von Daten zwischen Webanwendungen oder zwischen Webanwendung und Ajaxapplikation. Sie werden häufig in Verbindung mit SOAP oder REST genutzt.
Der Zweck der Webprogrammierung besteht darin, das Verhalten von Webseiten zu steuern: "Was passiert wenn ich auf Absenden klicke?".
Beim Erstellen eines Beitrags in einem Forum werden beispielsweise unmengen von Daten aus der HTTP-Anfrage ausgelesen, überprüft, die Benutzerdaten aus der Datenbank gelesen, Zugriffsrechte geprüft und gegenfalls ein neuer Beitrag in der Datenbank erstellt. Dies ist allerdings noch eine sehr vereinfachte Darstellungsweise der ablaufenden Operationen.
Für viele Webseiten sind kaum Neu-Programmierungen nötig, da es inzwischen soviele frei verfügbare Systeme gibt, dass die meisten Bereiche abgedeckt sind. Es kommt aber auch immerwieder vor, dass ein Problem sehr spezifisch ist. So habe ich beispielsweise eine Datenbank für Handballvereine entwickelt, die Daten über Mannschaften, Spieler und Spiele sammelt und zusätzlich Statistiken berechnet oder eine Verwaltung für einen Immobilienmakler geschrieben.
Wenn man ein individuelles Projekt ins Leben rufen möchte, kommt man häufig nicht drum rum, in eine Neu-Programmierung zu investieren. Diese ist zwar recht zeitaufwändig, bietet dafür aber auch genau die gewünschten Funktionen und Verhaltensweisen.
Nachfolgend werde ich einige Techniken, Programmiersprachen und Begriffe der Programmierung erklären.
PHP
PHP ist seit Jahren die meist verbreitete Programmiersprache für Internetanwendungen. Im Zusammenhang mit MySQL bietet sie die Möglichkeit zur schnellen Darstellung von dynamischen Inhalten. Aufgrund der Einfachheit von PHP programmieren allerdings auch viele unerfahrene Entwickler in dieser Programmiersprache. Daher gibt es im Internet leider viele unsichere und fehlerbehaftete PHP-Anwendungen. Eine ordnungsgemäße Programmierung in PHP kann jedoch genauso performant und sicher wie eine in Python, Java oder ASP geschriebene Webseite sein.
Die größte auf PHP-basierende Webseite ist Wikipedia.
MySQL
MySQL ist eine beliebte Datenbank, die viel in Verbindung mit PHP verwendet wird.
PostgreSQL
Dies ist eine weitere Datenbank, die leider nicht ganz so verbreitet wie MySQL ist, jedoch mehr Funktionen, Stabilität und Konsistenz der Datenbank bietet. In manchen Geschwindigkeitstests schneidet PostgreSQL bei simplen Abfragen langsamer als MySQL ab. Bei großen Anwendungen würde ich dieses System dennoch MySQL bevorzugen.
Python / Pylons
Seit Anfang 2007 programmiere ich in Python und würde es seitdem in eigenen Neuprogrammierungen immer PHP vorziehen. Die Webentwicklung ist besonders mit dem MVC-Framework Pylons sehr schnell durchführbar und bietet trotzdem eine sehr hohe Sicherheit und Kompatiblität zu viele anderen Techniken.
Javascript / Ajax
Dieses ist im Gegensatz zu den bisher vorgestellten Techniken eine Clientseitige Programmiersprache. Das heisst, dass der Geschrieben Programmiercode auf dem Rechner des Seitenbenutzers ausgeführt wird, anstatt auf dem Server. Die Vorteile liegen auf der einen Seite in der besseren Geschwindigkeit von Inhalten, die mit Ajax geladen werden, und auf der anderen Seite in der Möglichkeit, einfacher zu benutzende Webapplikationen zu entwickeln.
Man kann Javascript allerdings nicht für Sicherheitsrelevante Gebiete einsetzen, da der Benutzer den Quellcode beliebig verändern kann.
REST und SOAP
REST und SOAP sind Techniken um Schnittstellen zwischen verschiedenen Anwendungen zu realisieren.
JSON und XML
JSON und XML sind Spezifikationen zur strukturierten Übertragung von Daten zwischen Webanwendungen oder zwischen Webanwendung und Ajaxapplikation. Sie werden häufig in Verbindung mit SOAP oder REST genutzt.
