Play Framework
Play ist ein Open Source Web-Applikations-Framework welches auf dem Model-View-Controller (MVC) Architekturmuster basiert. Programmiert wird in Java oder Scala. Im Gegensatz zu dem vielfach im Java-Umfeld genutzten J2E Ansatz ist Play leichtgewichtig und sehr stark von Konzepten geprägt, die in Ruby on Rails oder Django genutzt werden. Da es auf der JVM aufsetzt kann auf alle im Java Universum vorhandenen Bibliotheken zurückgegriffen werden, inbesondere im Blick auf den Enterprise Bereich ein Pfund, mit dem zu wuchern ist. Hinter Play steht mittlerweile die Firma Typesafe, die vom Scala Erfinder Martin Odersky mitgegründet wurde.
Webseiten sind heutzutage nicht einfach nur statische Seiten, sondern ersetzen immer mehr die klassischen Desktop-Anwendungen. Man spricht von Web-Apps. Nun gibt es im Groben zwei Ansätze eine Web-App umzusetzen. Einer ist es die Haupt-Logik auf dem Server zu hinterlegen und der Browser stellt nur dar. Ein anderer ist es die Logik zum großen Teil in den Client, sprich den Browser zu verlegen. Letzterer Ansatz ist naheliegend, da die Frage besteht, warum jeder Click vom Server zu verarbeiten ist. Möchte man diesen Ansatz verfolgen stellen sich schnell Fragen, wie das denn alles mit Javascript - und damit muss implementiert werden - umgesetzt werden kann. Standard Bibliotheken wie JQuery reichen bei umfangreichen Web-Apps nicht aus. Es wird schnell unübersichtlich an jedem Button einen Listener zu hängen ... Diese Problemstellung bedienen Web Frameworks wie AngularJS, Backbone.js und Ember. Alle haben ihre Vor- und Nachteile. Ich persönlich ziehe Ember vor, da es nach meiner Meinung weiter denkt als die anderen Frameworks. Wobei auch hier wieder gilt: Für jedes Problem das richtige Tool.
Ember
Ember ist ein Open Source clientseitiges Web-Applikations-Framework welches auf dem Model-View-Controller (MVC) Architekturmuster basiert. Es erlaubt Entwicklern sogenannte Single-Page Applikationen zu entwickeln, die sich an gängige Best Practices orientieren. Änderungen an der Datenbasis führen automatisch zur Anpassung in der Darstellung. Die Verbindung der Daten zur Darstellung erfolgt deklarativ, muss also nicht in irgendeiner From ausprogrammiert werden.
Beispiel
Das Heating Control System (HCS) ist eine Web-Anwendung, mit der die Heizung der Freien Christengemeinde Ibbenbüren gesteuert wird. Ein wichtiges Feature ist die Fernwartung. Die Trägheit der Fußbodenheizung erlaubt kein kurzfristiges Einschalten der Heizung. Erst Stunden später nachdem Veranstaltung schon vorbei wären, würde es warm werden. So ist es möglich über ein Web-Frontend (Web-App) das Heizen eines jeden Raums über einen Kalender via Drag and Drop individuell einzustellen. Einen Eindruck geben die Screenshoots.
Das HCS ist serverseitig mit dem Play Framework und clientseitig mit Ember implementiert. Installiert ist das System auf einem Raspberry Pi, der über den 1-Wire-Bus Temperaturdaten erhält und die Stellantriebe steuert.
Für Details setzen Sie sich gerne mit mir in Verbindung. Ich werde gerne für Sie tätig und implementiere auf der hier skizzierten technischen Basis Systeme, die ihresgleichen suchen.