Webentwicklung wird oft auch
Web-Engineering genannt.
Dieser Begriff bezeichnet
die Entwicklung unterschiedlichster
Webanwendungen, wie z.B. Portale,
Shopping-Seiten (siehe auch
E-Commerce) oder andere komplexe
Websites. Dabei umfasst der Begriff nicht nur die Neuentwicklung, sondern auch die
Fortentwicklung und Erweiterung bestehender Websites.
Die Ersteller
und Entwickler von Webanwendungen werden auch
Webentwickler genannt.
Web Engineering benutzt Methoden aus der
Softwaretechnik (auch Software Engineering) und erstreckt sich über den gesamten
Lebenszyklus einer Anwendung. Zur Beschleunigung der Entwicklungszyklen werden häufig standardisierte ingenieursmäßige Prozesse benutzt,
welche die Unterschiede zur klassischen Softwaretechnik berücksichtigen.
Webanwendungen sind in einigen Aspekten anders als klassische Software.
Die Unterschiede liegen insbesondere in der Nutzung von
Hypermedia-Dokumenten, welche gemeinsam mit dem Browser die Benutzerschnittstelle bilden. Dazu gehört auch die zugrunde liegende Netzwerk-Architektur mit
Client/Server-Anwendungen,
HTTP- bzw.
TCP/IP-Protokoll und der Adressauflösung
über das
Domain Name System.
Auf der Seite der Benutzerschnittstelle, also des
GUI (Graphic User Interface) liegt der Unterschied in der Navigation innerhalb der Anwendung und
der Präsentation der Inhalte.
Ein wesentlicher Unterschied liegt darin, dass im Internet ein dokumentenbasiertes oder systembasiertes Benutzermanagement nicht üblich ist und jede Anwendung selbst für eine sichere Benutzeridentifizierung sorgen muss – insofern sie nötig ist.
Die Gemeinsamkeit liegt darin, dass auch Webanwendungen Benutzermodelle zugrunde liegen und auch Web-Engineering die Einbeziehung der Wartung und Pflege der Software beinhaltet.
Aus technischer Sicht zeichnen sich
Webanwendungen durch das Zusammenspiel unterschiedlichster Techniken aus (bspw.
HTTP,
PHP,
HTML,
CSS,
JavaScript,
Java,
XML,
SQL u. a.), die clientseitig auf unterschiedlichsten Systemplattformen arbeiten müssen.
Zusätzlich erweitert Web Engineering die klassische Modellierung um
Modelle für die Navigation, die Präsentation und die Benutzerführung.
Für die
grafische Notation der Modelle ist
UML der
Standard, allerdings für die Anforderungen des WWW entsprechend erweitert. Jedoch
lassen sich mit UML trotzdem nicht alle Aspekte gut abbilden. So lässt sich das
Präsentationsmodell nicht ohne weiteres abbilden und andere Mittel wie bspw.
Storyboards müssen genutzt werden.
Jeder der Webseiten
erstellt kommt nicht umher, sich mit technischen Grundlagen näher zu
beschäftigen. Hier kurz einige wichtige Begriffe:
(Sollte jemand Interesse an
genaueren Informationen und Hintergrundgeschichten haben, wird er sicher im WWW
fündig).
HTML
Hypertext Markup
Language oder kurz HTML ist eine Auszeichnungssprache mit denen Dokumente bzw.
deren Inhalte strukturiert werden. Die derzeitige HTML Version ist HTML 4.01
und hat schon seit 1999 Bestand. Entgegen vieler falscher Aussagen wird HTML
nicht programmiert, HTML ist also keine Programmiersprache.
XML
Auch XML gehört zu den sogenannten Auszeichnungssprachen – XML steht
für Extensible Markup Language. Während jedoch bei HMTL die Trennung von Inhalt
und Design nicht vorgeschrieben ist, wird dies bei XML zwingend verlangt.
Ebenso kann XML als Datenbank
verwendet werden. XML ist in seiner Syntax strenger definiert als HTML. Man
muss aber fairerweise sagen, dass XML von Beginn an zur Strukturierung von
Daten geplant war und HTML in ihrer weiteren Entstehungsgeschichte eher für die
Gestaltung konzipiert wurde.
XHTML
Hier schließt sich der Kreis.
Extensible HyperText Markup Language, kurz XHTML ist eine Auszeichnungssprache,
die im Jahr 2002 aus einer Neuformulierung von HTML 4.01 entstand.
XHTML enthält alle Elemente von HTML 4.01, richtet sich aber nach der strengen
Syntax von XML. Die aktuellste Version ist XHTML 1.1, verwendet wird aber von
den meisten Webdesigner XHTML 1.0.
Dies hat einen einfachen Grund, XHTML 1.0 ist abwärtskompatibel zu alten
Browsern, während dies bei XHTML 1.1 nicht der Fall ist.
PHP
PHP ist eine der bekanntesten
Skriptsprachen im Web zur Erstellung von dynamischen Websites. PHP steht für
Hypertext Preprocessor.
Gerade in Kombination mit Datenbanken können mit PHP umfangreiche Webprojekte
realisiert werden. PHP wird im Klartext auf dem Server gespeichert und auch nur
dort ausgeführt. Den eigentlichen PHP-Code kann der potentielle User im Browser
nicht lesen. Im Browser erfolgt die Ausgabe zumeist als HTML bzw. XHTML.
MySQL
MySQL ist ein relationales Open
Source Datenbanksystem. Damit kannst Du Daten speichern und natürlich wieder
abrufen. MySQL wird oft in Kombination mit PHP eingesetzt
JavaScript
Das Erste, was Du gleich
verinnerlichen solltst – JavaScript ist nicht Java. Java ist eine
objektorientierte Programmiersprache während JavaScript eine Skriptsprache ist,
die im Browser ausgeführt wird und dazu dient, dynamische und interaktive
Elemente in die Website einzubinden. Mit JavaScript können z.B. Eingaben in
Formulare überprüft werden.
AJAX
AJAX ist die Kurzform für
„Asynchronous JavaScript and XML“. Bei AJAX erfolgt die Datenübertrag zwischen
dem Server und dem Brwoser asynchron (zeitlich versetzt). Durch die asynchrone
Übertragung können HTTP-Anfragen an den Server gestellt und die
Webseiteninhalte verändert werden, ohne die Website komplett neu zu laden. Es
werden nur die Teile der Webseite neu geladen, die sich auch verändert haben.
Dies bringt eine erhebliche Benutzerfreundlichkeit mit sich, da der User nicht
warten muss, bis die komplette Website geladen wurde.
CSS
Cascading
Style Sheets dienen der Formatierung und dem Layouting von HTML / XHTML oder
anderen Dokumenten. Mit CSS können Farben, Abstände, Größen und Positionen
einzelner Elemente auf einer Website festgelegt werden.