19. Januar 2016

Programmierung

softwareWir setzen nicht nur am Markt erhältliche Lösungen ein und passen sie an die Bedürfnisse unserer Kunden an, wir entwickeln auch eigene Applikationen. In Form von Typo3-Erweiterungen und individuellen CMS. Hierbei verwenden wir die aktuellen Sprachen und Techniken wie  responsive Webdesign, HTML 5, CSS3, JavaScript, PHP und MySQL.

Ajax-Applikationen

Ajax ist ein Apronym das für „Asynchronous JavaScript and XML“ steht. Zurückzuführen ist der Begriff auf Jesse James Garrett, der 2005 in seinem Aufsatz „Ajax: A New Approach to Web Applications“ über die technologischen Grundlagen und die Vorgehensweisen zum Thema XMLHttpRequest schrieb. Ajax vereint verschiedene Software-Technologien unter einem Begriff.

Im Grunde genommen ist aber JavaScript das einzig zwingend notwendige an dieser Technologie: Per JavaScript wird eine Anfrage an den Server gestartet, der daraufhin weitere Daten an den Browser sendet. Diese Daten werden wiederum per JavaScript in die Seite integriert und angezeigt ohne die Seite neu zu laden und aufzubauen.

Meist läuft die Anfrage und die Übertragung der Daten asynchron ab, kann aber auch synchron erfolgen. Synchron heißt in diesem Fall, dass der Benutzer auf die gelieferten Daten warten muss, bevor er mit seinen Aktionen im Browser fortfahren kann – ähnlich dem Aufruf einer Website durch die Eingabe der URL und dem Warten auf die Auslieferung der Seite durch den Server.

Die Daten, die auf Anfrage vom Server an den Browser geschickt werden, können im XML-Format sein, dies ist aber auch nicht zwingend (Beispiel: Nachladen von Bildern).

Momentan zählt Google Maps zu den wohl bekanntesten Ajax-Applikationen. Je nach Benutzer-Aktion (Zoomen, Verschieben der Karte, etc.) werden neue Bilddaten an den Browser geschickt und angezeigt. Im Web 2.0 ist die Ajax-Technologie unverzichtbar. Sie wird auf nahezu allen Social Media Plattformen wie Flickr, Del.icio.us, Last.fm oder StudiVZ eingesetzt.

PHP-Lösungen

PHP wird heute als ein rekursives Akronym für „PHP: Hypertext Preprocessor“ verwendet. Ursprünglich stand es für Personal Home Page Tools, einer Sammlung von Perl-Scripten von Rasmus Lerdorf, dem Erfinder von PHP. PHP ist Open-Source-Software. Es ist eine Skriptsprache und wird in erster Linie zur Erstellung von dynamischen Webseiten oder Webapplikationen verwendet.

PHP ist plattformunabhängig, bietet eine breite Datenbankunterstützung und lässt sich hervorragend in Internet-Protokolle einbinden. Neben einer Vielzahl von eigenen Funktionen gibt es eine ganze Reihe von Funktionsbibliotheken.

PHP-Code wird von einem Interpreter auf dem Server verarbeitet und das Ergebnis zum Webbrowser geschickt. Das ist in der Regel ein HTML-Dokument; es ist aber auch möglich beispielsweise Bilder oder PDF-Dateien zu erstellen und zu senden.
Der mögliche Nachteil, dass somit jede Aktion des Benutzers erst bei einem erneuten Aufruf der Seite erfasst werden kann, ist mittlerweile nicht mehr sehr relevant. Durch den Einsatz von Ajax lässt sich dieser Umstand umgehen.

In der Version 5 unterstützt PHP Objektorientierung, womit sich die Akzeptanz in Unternehmen weiter erhöht hat. Dies bietet ein weites Feld für unternehmensspezifische Web-Applikationen die durchaus hohe Komplexitätsstufen erreichen. Um solche Applikationen effizient zu erstellen ist heute eine Vielzahl an PHP-Frameworks verfügbar. Sie stellen den Entwicklern eine Basis bereit, die  häufig wiederkehrende Aufgaben erledigt. Das spart Arbeit und somit Zeit. Zu den populärsten Frameworks zählen beispielsweise Zend, Symfony oder CakePHP.

JavaScript

Die Scriptsprache JavaScript wird hauptsächlich clientseitig, also im Web-Browser des Besuchers einer Website eingesetzt. Vor allem dadurch unterscheidet sie sich von überwiegend serverseitig eingesetzten Sprachen wie beispielsweise PHP oder Perl.

Durch den clientseitigen Ansatz, lassen sich im Browser Aktionen ausführen, ohne dass die aktuelle Seite neu geladen werden muss. Beispielsweise können Inhalte oder Grafiken in Abhängigkeit der Mausposition verändert werden. Somit können kleinere oder größere Web-Applikationen erstellt werden, die in Ihrem Verhalten Desktop-Applikationen sehr naher kommen.

Beispiele für den Einsatz von JavaScript:

Manipulation von Webseiten über das Document Object Model
Senden und Empfangen von Daten, ohne Reload der Seite (Ajax)
Befüllen von (Auswahl-)Listen abhängig von Benutzereingaben
Überprüfung von Formulareingaben (Validierung) vor dem Versenden
Verschlüsseln von E-Mail-Adressen zur Schutz vor Spam

Da per JavaScript auch Aktionen im Browser möglich sind, die vom Besucher unerwünscht sind oder gar ein Sicherheitsrisiko darstellen, lassen sich in nahezu allen Browsern entweder einzelne Aktionen gezielt abschalten oder die komplette Ausführung von JavaScript verbieten.

Um dem Sicherheitsrisiko zusätzlich entgegenzuwirken, wird JavaScript wird in einer so genannten Sand box ausgeführt (Ein Sandkasten in das es reingesetzt wird und es sich nur dort austoben kann). Dadurch hat JavaScript in der Regel nur Zugriff auf die Objekte des Browsers nicht auf das gesamte System des Benutzers.

Durch diese Vorgehensweise kann auch gesteuert werden, dass bestimmte Aktionen die explizite Erlaubnis des Besuchers erfordern (Ändern der Startseite, Schließen des Browserfensters, Auslesen von zuletzt besuchten Webseiten…).