Direkt zum Inhalt

Markenwerk

Webentwicklung

am 22.12.2016

Interfacelösungen, Microsites, aufwendige Web-Applikationen — moderne digitale Lösungen sind vielschichtig und komplex. Wir machen sie zuverlässig einsetzbar und nutzerfreundlich bedienbar. Darum konzipieren und entwickeln wir besonders sorgfältig und erwecken Ihre Projekte schließlich mit den verschiedensten Technologien zu lebendigen Medien.

Unter Webentwicklung versteht man die Konzeption und Realisierung komplexer Websites, Webanwendungen oder Webservices. Darunter fallen in erster Linie eCommerce-Lösungen oder Portalsysteme, aber auch individuell zugeschnitte Web-Applikationen, die einen spezialisierten Anwendungsfall abbilden.

Im Unterschied zur klassischen Software-Entwicklung basieren Web-Anwendungen in der Regel auf so genannten Hypermedia-Dokumenten, die vom serverseitigen Bestandteil der Software ausgeliefert werden und vom Client — der so gut wie immer im Browser ausgeführt wird — zur Anzeige gebracht werden.

Das zugrunde liegende Client-Server-Paradigma hat großen Einfluss auf diese Disziplin, da im Unterschied zur klassischen Software-Entwicklung die Identifizierung bzw. Authentifizierung von Anwendern nicht mit Hilfe des Nutzer-Arbeitsplatzes realisiert werden kann, sondern integraler Bestandteil sowohl der serverseitigen als auch der clientseitigen Software sein muss.

Ohne Berücksichtigung des Themas Interface Design kann quasi keine Web-Applikation existieren. Selbst für einen Webservice, der ohne eine Benutzeransicht auskommt, wird in der Regel eine adminitrative Ansicht benötigt.

Projektverlauf

Planung und Konzept

Im ersten Schritt wird im Rahmen der Prüfung der technischen Machbarkeit auf Basis des vom Kunden gelieferten Lastenheftes ein Pflichtenheft erstellt, das die zu entwickelnde Anwendung auf funktionaler Ebene untersucht.

In der Konzeptionsphase wird für das gesamte Projekt eine konkrete Umsetzung definiert. Dabei werden verschiedene Ansätze und Herangehensweisen gegeneinander abgebwogen, um den effizientesten und nachhaltigsten Entwicklungsweg herauszukristallisieren.

Die Konzeption wird solange detailliert bis die Produktdefinition so konkret aufgezeigt und angestimmt wurde, dass in die Entwurfsphase eingetreten wird.

Entwurf und Ausarbeitung

Die Entwurfsphase bezieht sich nicht nur auf die visuelle Darstellung, sondern umfasst auch einen ersten technischen Realisierungsansatz. Das Ziel der Entwurfspahse ist einerseits eine Bewertung unter ästhetischen und andererseits unter funktionalen und technischen Gesichtspunkten.

In der Ausarbeitung werden grundlegende Funktionen implementiert und die Oberfläche in Form von Prototypen und finalen Software-Modulen angefertigt, um intensives Testen mit Probanden möglich zu machen. Die Ergebnisse und Auswertungen dieser Tests fließen im Verlauf der Ausarbeitungsphase immer wieder in die Entwicklung ein.

Frontend-Entwicklung

Bei der Entwicklung der browserbasierten Clients setzen wir auf den standardkonformen Einsatz von HTML / XHTML, CSS und JavaScript. Dabei stehen HTML5 und zunehmend auch CSS3 im Vordergrund. Werden HTML5- oder CSS3-Konstrukte gemäß der erwarteten Technik der Anwenderschaft nicht ausreichend unterstützt, arbeiten wir wenn möglich mit Polyfills oder finden eine adäquate Alternativlösung.
Dabei sind uns Performance und Stabilität besonders wichtig.

Wenn es um das Verhalten der Clienten auf verschiedenen Geräten und Geräteklassen geht (Responsive Design), ist eine gute Planung und erstklassige Umsetzung eine wichtige Voraussetzung. Ob dabei Strategien wie „Mobile First“ oder das asynchrone Laden von Inhalten Anwendung finden, hängt von dem jeweiligen Anwendungsfall und der konkreten Umsetzungssituation ab. Eine pauschale Aussage zum Nutzen lässt sich nicht formulieren.

Häufig verwendete Technologien

Im Bereich der serverseitigen Anwendungsentwicklung setzen wir auf bewährte und erprobte Technologien wie Java, Haskell oder PHP. Dabei kommen Frameworks und Bibliotheken wie J2EE, Hibernate, Spring, Yesod, Zend, Yii, Propel ORM und das eigens entwickelte Propeller Framework zum Einsatz.

Auch wenn es um die Speicherung und die Verarbeitung von Daten geht, setzen wir auf solide Technik. Im Bereich relationaler Datenbanken kommen MySQL, PostgreSQL und Oracle Database zum Einsatz. Bei dokumentenorientierten Datenbanken werden von uns MongoDB und CouchDB bevorzugt.

Generell legen wir insbesondere bei Prototypen großen Wert auf eine möglichst effiziente Entwicklung und haben daher diverse Technologien adaptiert und entwickelt, die es uns erlauben, große Teile des benötigten Programmgerüsts automatisiert und standardisiert erzeugen zu können, ohne, dass dieses Verfahren zu Einschränkungen in der Ausgestaltung der benötigten Geschäftslogik führt.

Selbstverständlich haben wir ein ausgeprägtes Interesse an Sicherheit und Datenschutz; egal ob es um die Absicherung von Client-Server-Kommunikation, die Verschlüsselung von Mailverkehr oder die sichere Verwahrung sensibler Daten geht. Daher haben wir uns intensiv mit verschiedenen Verschlüsselungstechniken und kryptografischen Verfahren beschäftigt und unser Team dahingehend verstärkt.

Bei der Wahl eines Protokolls zur Kommunikation zwischen Systemen im Zuge der Umsetzung eines Webservice-Projektes spielen viele Faktoren eine Rolle. Vom proprietären Flachdaten-Konstrukt über XML- oder JSON-RPC bis hin zu RESTful-YAML haben wir Implementierungen erfolgreich durchgeführt.

Wenn es an die Frontend-Entwicklung geht, kommen die üblichen Verdächtigen um's Eck geschlichen: jQuery, Mootools, LESS, SCSS, HAML. Auch auf diesem Feld haben wir Technologien entwickelt, die es uns erlauben, diverse Prä- und Postprozessoren zur JavaScript- und CSS-Verarbeitung einfach und ohne Zeitverluste in Projekte zu integrieren und damit innerhalb kürzester Zeit eine sinnvolle Optimierung unserer Web-Applikationen durchzuführen.