XUL ist eine von der Mozilla-Stiftung entwickelte auf XML bassierende Beschreibungs- sprache. Mit XUL(XML User Interface Language) ist die gesamte Oberfläche des Firefox-Browser erstellt worden. XUL wird mittels der Gecko-Engine gerendert. Der XLU-Runner ist eine Laufzeit- umgebung die es ermöglicht eigenständige Anwendungen zu erstellen. Dabei wird die Logik in JavaScript geschrieben.
PHP-Reboot ist eine an PHP angelehnte Sprache. Sie wird momentan von Rémi Forax für die Java-Virtual Machine implementiert und ist dadurch auf allen Java-Platformen lauffähig. Explizit wird hier Android genannt. PHP-Reboot soll keine eins-zu-eins Umsetzung von PHP werden, der Syntax und Sprachumfang soll aber ähnelich sein. Die Sprache soll mit weniger Semikolons und $-Zeichen auskommen. PHP kommt mit Derby als integrierte Datenbank und bringt auch einen eigenen Webserver auf Basis von Grizzly. Die Sprache unterstützrt nativ XML und SQL, ws werden also keine anderen Tools benötigt um eine Web-Application zu erstellen.
Als Projekt für das Fach "Medizinische Informatik" an der HTWG Konstanz wurde ein DicomViewer erstellt.
Der Viewer kann über test.ragersweb.de/dicom aufgerufen werden. Für die Nutzung empfehlen wir einen Browser auf Webkit Basis (Chrome oder Safari). Der Viewer ist mit einer für Touchscreens optimierten Oberfläche auf Basis von jQuery Mobile ausgestattet, dadurch kann er auch mit Tablet-Computer ideal genutzt werden. Eine mögliche Nutzung des Viewers wäre die einfache webbasierte Weitergabe von Dicom-Daten an den Patienten oder eine medizinische Einrichtung. So könnten anstatt der bisher üblichen CDs einfach ein passwortgeschützter Link an den Patienten oder den Arzt weitergegeben werden. Alle zu dem Fall gehörenden Dicom-Daten könnten dann einfach über den Browser gesichtet werden. Bei dem DicomViewer handelt es sich um einen ersten "Proof of Concept". Er ist noch nicht mit allen notwendigen Features ausgestattet. Trotzdem lässt sich schon in dieser frühen Phase erkennen, welches Potential in webbasierten Systemen für den medizinischen Einsatz stecken.
Features des DicomViewer
Webbasierter DicomViewer mit touchscreenoptimierter Oberfläche
Laden von Dicom-Dateien
Parsen und Anzeigen von beliebigen Dicom-Attributen
Live-Volltextsuche über alle Attribute
Anzeigen von Dicom-Bildern in den Formaten JPEG, JPEG2000, JPEGLL, TIFF
Clientseitiges Anpassen von Gamma- und Helligkeitswerten sowie Invertieren des Bildes
Bei einem Voronoidiagramm, welches auch als Dirichlet-Zerlegung bezeichnet wird, handelt es sich um eine Darstellung eines endlichen Raumes, der in einzelne Regionen aufgeteilt wird. Jede Region kann einen oder mehrere Zentren besitzen. Dies variiert je nach Anwendungsfall. Die Größe der Regionen ist unabhängig von der Anzahl der Regionen und wird durch den Bezug zur euklidischen Metrik gebildet. Dies bedeutet, dass alle in der Region liegenden Punkte zu keinem anderen Zentrum näher liegen, als zu seinem eigenen. Alle Punkte, welche die gleiche Distanz zu mehreren Zentren besitzen, werden als Grenzen bezeichnet.
Zur Bestimmung der Voronoi-Regionen wird die nächste Entfernung zweier Voronoi- Zentren durch nächst größere geteilt (best / good). Dies Zahl wird immer zwischen null und eins liegen. Punkte die nahe dem Zentrum sind haben fast den wert 0. Punkte nahe einer Kante haben fast den Wert eins. Was so viel bedeutet das sie fast genau soweit von zwei Punkten entfernt sind. Am Ende wird dieser Wert mit 10 multipliziert und in einen Integer gecastet. Diese Zahl ist dann der Index aus einem Array in dem alle für die Grafik zur Verfügung stehenden Zeichen abgelegt sind.
Maratis ist ein einfaches, portables, grafisches Game-Developmet-Tool für Künstler und Entwickler. Die integrierte Engine wurde bereits unter Windows, Mac und iPhone getestet und kann laut Entwickler einfach auf andere Plattformen portiert werden. Die eigentliche Entwicklungsumgebung ist bisher nur für Windows verfügbar. In der aktuellen Fassung kann Maratis noch nicht mit kommerziellen Game-Developmet-Tool wie Unity mithalten, allerdings ist die Benutzeroberfläche sehr einfach und intuitiv gehalten.
libRocket ist eine C++ Middelware die es ermöglicht mit HTML und CSS User-Interfaces für Spiele oder 3D-Anwendungen zu erstellen. libRocket ist für die Systeme Windows, Mac und Linux verfügbar und steht unter der MIT-Lizenz.
Durch den Einsatzt bekannter HTML-Technik gestaltet sich das Erstellen von Oberflächen sehr einfach und es muss keine neue Technik gelernt werden. Durch abstrakte Interfaces ist es möglich libRocket in unterschiedlichen Game-Engines einzusetzen. Es existieren Beispiele für Orge, OpenGL und DirectX, es ist aber auch der Einsatz von anderen Engines wie z.B Irrlicht möglich.
Weitere Informationen zu libRocket findet man auf der Projekt-Homepage: librocket.com
In Opera 11 ist eine neue Version der Schnellwahl eingebaut, welche automatisch nach Webseit-Logos sucht. Leider funktioniert das nicht immer richtig, besonders wenn kein Bild, sondern nur Schrift als Logo verwendet wir. Glücklicherweise ist es recht einfach dies zu ändern. Einen ausfühlichen Artikel in englischer Sprache findet man unter: dev.opera.com/articles/view/opera-speed-dial-enhancements.
Hier das Wichtigste zusammengefasst:
Über einen Icon-Link kann eine Bilddatei angegeben werden die in der Schnellwahl angezeigt werden soll, dises muss mindestens eine Größe von 114 x 114 Pixeln haben ansonsten wird sie ignoriert. Es können auch mehrere Icons in unterschiedlichen Größen eingebunden werden, Opera wählt immer selbst die am besten passende aus.
Alternativ kann der Webserver angewiesen werden eine andere Webseite auszuliefern die dann in der Schnellwahl dargestellt wird. Dies ist möglich da Opera bei seinen Anfragen für die Schnellwahl immer einen speziellen Header mitsendet.
GET / HTTP/1.1
Host: www.bbc.co.uk/news
X-Purpose: preview
User-agent: Opera/9.80 (Macintosh; Intel Mac OS X 10.6.6; U; en) Presto/2.8.99 Version/11.10
Beim Apache-Webserver kann diese Anfrage über folgende Rewrite-Rule auf einen andere Seite umgeleitet werden:
RewriteEngine On
RewriteCond %{HTTP:X-Purpose} ^preview$
RewriteRule ^(.*) /preview.html
Alternativ ist das auch über PHP möglich:<?
if ($_SERVER["HTTP_X_PURPOSE"] == "preview") {
// Send Speed Dial content
} else {
// Send regular content
}
?>
Die Zeit bis zum nächsten Refresh der Vorschau kann entweder über ein Meta-Tag
<meta http-equiv="preview-refresh" content="3600"> oder über einen Response-Header geändert werden.
Mit dem nur 60 kb recht kleinen Raphaë-Javascriptlibrary können alle wichtigen geometrischen Grundformen sowie Pixel-Bilder gezeichnet werden.
Performance-Technisch ist Raphaë mit seinem SVG-Rendering leider langsamer als ein Rendering im neueren Canvas Element, dafür unterstützt es aber auch ältere Internet Explorer.
Raphaë kann unter raphaeljs.com heruntergeladen werden.
PhoneGap ist ein HTML5-App-Framework das es ermöglicht Programme für sechs
Mobile-Plattformen zu erstellen. Programme können für iPhone, HP webOS, Google
Android, Windows Mobile, Symbian OS und BlackBerry entwickelt werden.
Die
Programlogik wird dabei in JavaScript programmiert, die Oberflächen werden in
HTML5 designt. PhoneGap stellt zur Ausführung der Programme auf allen Plattformen
eine weitgehend einheitlichen API zur Verfügung. Über diese API ist der Zugriff auf native
Funktionen des Handys möglich, dazugehören z.B. Neigungssensoren,
Kamera, GPS, Kontaktdaten, Internet und vieles mehr.
Die eigentlichen Programme
werden in einer Art Fullscreen-Browser ausgeführt. Dadurch sehen die meisten
PhoneGap-Apps nicht aus wie mit dem SDK der Plattform nativ erstellte Apps.
Allerdings sind PhoneGap Apps meist schneller erstellt und ohne Anpassung auch
auf anderen Plattformen lauffähig. Zur Erstellung von Oberflächen können die
bereits aus der Webentwicklung bekannten Javascriptframeworks wie jQuery oder
MooTools verwendet werden. Es existieren auch einige spezielle Frameworks
wie Sencha Touch oder jQuery Mobile die es ermöglichen ansprechende
Touchscreen-Oberflächen in JavaScript zu erstellen.
Seit kurzem ist die erste Spezifikation von WebGL verfügbar. Chrome wird bereits mit aktiviertem WebGL Feature ausgeliefert. Von Firefox und Opera existieren Beta-Versionen mit WebGL-Unterstützung, nur Microsofts IE unterstützt den Standard bisher noch nicht.
WebGL ermöglicht den Javascriptseitigen Zugriff auf die OpenGL-ES-Schnittstelle. Dadurch wird es möglich 3D Inhalte direkt im Browser darzustellen, ein Plugin wird dafür nicht benötigt. Bei WebGL handelt es sich nicht um eine 3D-Engine, vielmehr ist es eine Programmier-Schnittstelle. Es gibt bereits einige Implementierungen von 3D-Engines die einem Entwickler die Low-Level Arbeit abnehmen und so einen einfachere Verwendung ermöglichen. Nachfolgen eine Aufstellung der bekanntesten Engines: