In der heutigen Zeit sind Webanwendungen eine täglich genutzte Software. Fragen Sie sich selbst einmal, was kennen Sie alles für Computerprogramme und was kennen Sie alles für Webanwendungen. Sie werden feststellen, dass die Webanwendungen Ihnen mehr geläufig sind.
Webanwendungen, die neue Software?
Auch Webanwendungen sind Software. Und auch diese Software muss entwickelt werden. Egal ob komplexe lokale Software, Server-Client Software, Mobile-Apps oder Webanwendungen. Alle diese Programme müssen geplant und entwickelt werden. Seit dem Internetboom und der Entwicklung zum Ausliefern von dynamisch generierten Webseiten, sind die Verkaufszahlen von Bücher mit solchen Techniken dramatisch angestiegen. Warum?
Rasmus Lerdorf entwickelte die Sprache PHP. Die Sprache PHP sollte es möglich machen, dynamisch Inhalte zu verarbeiten und auszuliefern. PHP als imperative Sprache und später sogar als teilweise prozedurale Sprache, wurde der neue DeFacto Standard für Software im Web. Als Grundlage für die Sprache war wohl C und Pascal. Damit wundert es nicht, dass PHP lange Zeit nicht das Objekt Orientierte Programmier (OOP) Modell unterstütze sondern einfach das imperative
runter schreiben von Anweisungen.
Nach fast 20 Jahren PHP ist diese Sprache immer noch die erste Wahl. Um nun die Frage von oben zu beantworten zeigen wir Ihnen die Einfachheit von PHP.
1 2 3 |
<?php echo "Hallo Welt"; ?> |
Bereits mit einer Zeile lässt sich ein Programm zum Leben erwecken. Es bedarf keiner komplizierten Kompilierung des Codes. Der installierte PHP Interpreter führt die Anweisung aus. Keine Objekte, keine Klassen, einfach nur Code.
Das ist die Antwort. PHP fordert wenig Kenntnisse über Architektur, Struktur oder Problemlösungen. PHP kann einfach geschrieben werden. Tiefe Anweisungen können, wenn der Programmierer Lust hat und das OOP versteht auch in Klassen gekapselt werden oder einfach in Funktionen die irgendwo stehen und keiner Notwendigen Kapslung unterliegen. Mit dieser Einfachheit ist es für jeden Umsteiger, Hobbyprogrammierer oder auch Programmierer ein leichtes, Software zu schreiben.
Aber PHP kann noch mehr. Denn zu den dynamischen Seiten braucht man ja auch wirklich dynamischen Inhalt. Also werden Datenbanken bemüht. Kostenlose und überall verfügbar die MySQL Variante. Eine Datenbank die auch tatsächlich eine ist (nicht wie Microsoft Access). Mit PHP kann im Handumdrehen eine Verbindung zu einer Datenbank aufgebaut werden. Sofort können Daten gespeichert, gelesen und modifiziert werden. Doch auch Datenbanken als Software müssen geplant werden. So gibt es Regeln, da relative Datenbank der mathematischen Gesetzgebung unterliegen. Als da wären die Transitivität, Injektivität, Bijektivität und Surjektivität. Entwickelte Datenbanken die gewisse Gesetze einhalten sind in einer sog. Normalform. Dabei stellt die 3. Normalform die eigentliche Mindestanforderung dar.
Tatsächlich sind jedoch bei vielen Entwicklungen genau diese Regeln, die ersten die eliminiert werden. Datenbanken enthalten doppelte (redundante) Daten, werden über diverse Tabellen hinweg zusammengefasst (join) und dann die Dubletten heraus gefiltert. Dieser Aufwand kostet Zeit, Ressourcen und Geld. Am Ende ist der Shop mit 1.000 Artikel so langsam, dass Kunden ausbleiben.
PHP vs. Play Framework
Nachdem Sie nun ein wenig das Problem kennen, hier die Lösung. Es ist durchaus möglich auch mit PHP saubere System zu entwickeln. Doch ist PHP generell langsamer als “ordentliche” Programmiersprachen wie Java, Scala, .Net Sprachen, C/C++ oder Ruby. Das liegt viel daran, dass PHP alte Lasten inhärent hat und keine wirkliche Möglichkeit zur “Prozessverwaltung” und einen langsameren Interpreter. Der weitere Nachteil ist, dass PHP viel Aufwand braucht um wirklich ordentliche System zu erstellen. Der Programmierer kann so schnell ins alte Muster verfallen.
Play Framework ist ein Framework vom Erfinder von Scala. Scala als hybride Sprache mit funktionalen Anteilen und der OOP, ist eine elegante und effektive Art Programme zu entwickeln.
Das Play Framework mit Scala ist zu 100% Objekt Orientiert. Ein Vorteil, denn es macht es schwerer einfach drauf los zulegen. Auch hier gilt,
In jeder Sprache ist es möglich Spagetti-Code zu schreiben und ein Programm unlesbar zu machen!
Jedoch wird der Entwickler so stark unterstützt eine Trennung von Logik und Design zu machen, das am Ende schneller eine stabile Software geboren wird. Native Sicherheitseinstellungen helfen dem Entwickler weniger Code für eigentlich selbstverständliche Aufgaben zu schreiben. So müssen in PHP immer wieder Nutzereingaben gesichert und mit speziellen Funktionen escaped werden um diesen in eine Datenbank zu schreiben.
Die JVM ist sehr schnell und wesentlich mächtiger als ein PHP Interpreter. So ist es natürlich auch kein Wunder, dass eine auf der JVM laufende Software, deutlich mehr Anfragen verarbeiten kann als ein PHP Interpreter.
Die Wartbarkeit (Evolution) der Software wird durch die verbesserte Teilung und der Einfachheit der Sprache unterstützt. Am Ende reduzieren sich damit auch die Fehler um mehr als 75%, da die Sprache und das Framework Aufgaben derartig kapselt, das weniger Code notwendig wird und damit weniger Fehler passieren.
Sie glauben das nicht? Dann lesen Sie dazu einfach mal auf www.scala-lang.org und www.playframework.com
Besuchen Sie auch gerne eine unserer erstellten Software mit dem Play Framework www.ike-rechnung.de – Das Online Rechnungsportal