BASTIAN ALBERS

Web-Entwicklung

Web-Entwicklung bedeutet heute die Entwicklung dynamischer Anwendungen mit komplexer Benutzerinteraktion. Diese laufen auf diversen Systemen in verschiedenen Browsern und vernetzen problemlos Dienste auf verschiedenen Servern. Eine ganzheitliche Sicht auf die verfügbaren Technologien und ihr sinnvoller Einsatz ist dabei von Anfang an entscheidend. In den folgenden Bereichen kann auf ich langjährige Erfahrungen zurückblicken, von denen Sie profitieren können - kontaktieren Sie mich!
Die Vorraussetzung für jegliche kompetente Web-Programmierung ist die Kenntnis der grundlegenden Möglichkeiten, was im Browser dargestellt und manipuliert werden kann. Unerlässlich ist dafür zunächst ein sicherer Umgang mit HTML in seinen verschiedenen Spielarten. Schlechter Markup-Code führt zu schlechter Wartbarkeit und uninteressierteren Such-Robotern.
Steht der Inhalt im einmal Netz, dann soll er auch ansprechend Gestaltet werden. Dafür wird CSS verwendet, um eine möglichst saubere Trennung zwischen Inhalten und Darstellung zu gewährleisten. Außerdem wird eine schnelle Umgestaltung sehr viel einfacher.
Javascript hat eine lange entwicklung hinter sich. Lange wurde es als Sprache wahrgenommen, die zu wenig mehr gut zu sein schien als ein paar Additionsaufgaben zu lösen oder ein neues Fenster zu öffnen. Inzwischen hat sich Javascript zu DER Programmiersprache des WWW entwickelt. Spätestens seit dem AJAX-Hype (Asynchronous Javascript And XML) wird Javascript von vielen Entwicklern zur Client-seitigen dynamische Manipulation der Webseite benutzt. Im Gegensatz zu den Serverbasierten Programmiersprachen (wofür man Javascript inzwischen auch hervorragend verwenden kann) findet die Veränderung der Seite dabei im Browser des Anwenders statt, ohne dass zwingend Daten vom Server geladen werden müssen.

Spezialgebiete:
  • jQuery
  • Dynamische Anwendungen unter Einsatz von AJAX
  • node.js
Um nicht immer statische Seiten oder Daten auf Servern hinterlegen zu müssen, wenn es etwas neues gibt, müssen Server dynamisch reagieren. Von Content Management Systemen über Shopsysteme bis hin zu vollautomatisch agierenden Maschine-zu-Maschine-Kommunikation ist alles denkbar. Dafür gibt es viele Programmiersprachen, die auf Servern laufen, PHP ist eine davon, die zudem Open Source ist (Java, Ruby, Python und Perl sind einige andere Beispiele).

Spezialgebiete:
  • Objektorientierte PHP-Entwicklung
  • Model-View-Controller
  • CakePHP, Symfony
  • Auf spezielle Bedürfnisse angepasste oder selbst entwickelte CMS
Datenbanken gibt es heute in einer Vielzahl von Varianten. Relationale Datenbanken (grob: SQL) und Dokumentenbasierte Datenbanken (grob: Key-Value Stores) bilden hier die beiden wichtigen Orientierungspunkte. Diese gibt es in puristischer Form oder auch als Mischformen. Je nach Anwendungsfall kann eine bestimmte Datenbank besser oder schlechter geeignet sein, oft schließen sie sich aber keinesfalls gegenseitig aus und ergänzen sich wunderbar.

Spezialgebiete:
  • Datenbankmodellierung- und Design
  • MySQL
  • Query-Optimierung
  • Redis, MongoDB, CouchDB
Web Services nutzen die Infrastruktur des Internets um Daten und Funktionalitäten über verschiedene Computer hinweg zu verknüpfen. Dies kann genutzt werden um Dritte mit der eigenen Anwendung interagieren zu lassen (sowohl andere Server als auch Enduser) oder auch um die eigene Anwendung von Anfang an so zu strukturieren, dass sie Problemlos über viele Server hinweg wachsen kann und problemlos verschiedene Technologien eingesetzt werden können.

Spezialgebiete:
  • Serviceorientierte Architektur
  • Ressourcenorientierte Architektur
  • RESTful Services
Mashups sind Anwendungen, die durch die Verknüpfung verschiedener verfügbarer Dienste entstehen. Web Services und Programmbibliotheken, sogenannte APIs (Application Programming Interfaces), ermöglichen die Nutzung von Daten und ganzen Anwendungen dritter Seiten wie z. B. Google Maps in der eigenen Anwendung. Diese können mit Daten und Funktionalitäten angereichert oder auch einfach clever verknüpft werden.

Spezialgebiete:
  • Google Maps API
  • YouTube, Vimeo APIs
  • Entwicklung eigener APIs