Dies ist eine alte Version des Dokuments!
Betriebssysteme und Plattformen, die speziell auf embedded- und mobile Endgeräte abgestimmt sind:
Name | Initiator | OS-Kern | Besonderheit |
---|---|---|---|
Ubuntu Mobile/Embedded | Canonical Ltd. | Linux | verwendet Hildon für Touch (s.u.), auf Atom-Prozessoren abgestimmt, programmierbar auch in Vala (s.u.), Favorit |
Freesamrtphone.org | FSO | Linux | verwendet D-Bus, programmierbar auch in Vala und Python |
Android | Linux | Vollständig in Java programmierbar | |
Limo | Motorola | Linux | Linux Mobile Foundation (NEC, Panasonic, Samsung, Vodafone, u.a.) |
webOs | Palm | Linux | GUI verwendet Web Technologie (HTML 5, JavaScript, CSS) |
Maemo | Nokia | Linux | verwendet Hildon für Touch (s.u.) |
Moblin | Intel | Linux | auf Atom-Prozessoren abgestimmt, fingergesteuerter Internetbrowser |
Bada | Samsung | Linux | System ist verschlossen bis auf die API |
Maemo und Moblin haben sich kürzlich zu Meego vereinigt.
Speziell auf Bedienung per Finger-Touch entwickelte Softwarebiblitheken um lokale GUI-Appliktionen zu entwickeln:
Das aktuelle QT 4.6 unterstützt gestische Bedienung und auch Multitouch, das auch z.B. Zwei-Finger-Zoom ermöglicht.
Hildon ist ein Framework, dass für die Bedienung mit dem Finger
optimiert ist. Hildon ist Teil von GTK+ und ist u.a. in Vala programmierbar.
Clutter für Animationen
Webbrowser bzw. HTML Rendering Engines mit spezieller Unterstützung für Touchscreens
Name | Initiator | Verwendet u.a. von |
---|---|---|
WebKit | Palm | Android, Apple's iPhone, Palm, Google Chrome, |
Welchen Browser verwendet Moblin?
Rein web-basierte Technik, die direkt im Broswser ohne zusätzliches Plugin läuft. Der Browser erledigt den programmatischen Teil per Javascript, den deklarativen Teil per HTML und die Oberflächengestalltung per CSS. Bekannt unter dem Namen AJAX.
Die Bibliotehken liefern eine für alle Broswer gleiche API u.a. für GUI-Elemente (Container, Buttons, Slider, Charts, …). Sie schützen damit den Programmierer voer der Komplexität und Aufwand der Anpassung ihres Programmes vor allem an nicht standardkonforme Browser.
Name | Sprache | Besonderheit |
---|---|---|
Dojo | Javacript | |
Scriptaculous | Javacript | |
GWT | Java | Java⇒Javascript Cross-Compiler |
ZK checken
Beispiele für rein web-basierte Applikationen: Dojo Demos, Google Maps oder Google Text und Tabellen
Rich Internet Applications (RIA) / Runtimes auf dem Client erforderlich:
Name | Runtime | Sprache | Besonderheit |
---|---|---|---|
Apache Pivot | JVM | Java | |
JavaFX | JVM | JavaFX Script | proprietär? |
Silverlight | Dotnet | C# | proprietär |
Flash | Flash | ActionScript | proprietär |
OpenLaszlo | ? | ? | |
Curl | ? | ? |
Im Zeitalter von leistungsfähigen und standardkonformen Internetbrowsern ist es jedoch fraglich, ob RIA's noch zeitgemäß sind, bzw. ob sie nicht bald obsolet werden.
Alles was eine Java-API besitzt (Android, Apache Pivot, GWT) kann auch in Groovy programmiert werden. Groovy bringt die typischen Vorteile einer Scriptsprache (kompakt, einfach, elegant) auf die Java Platform. In Groovy geschriebene Programme sind wesentlich kompakter und einfacher zu lesen als herkömmlicher Java- oder Csharp-Code
Alles was clientseitig auf die JVM (Apache Pivot, JavaFX) aufsetzt erfordert keine zusätzliche Installation beim Kunden, da die JAVA Runtime meist schon vorhanden ist.
Alles was auf GTK aufsetzt (z.B. Hildon) kann (neben anderem) auch in Vala programmiert werden.
Vala vereinigt die Vorteile einer gemanagten Sprache wie (Java/Csharp) mit den Vorteilen von C/C++. D.h. man bekommt u.a. Objektorientierung, Exceptions und automatische Speicherverwaltung mit der Performance einer nativ compilierten Applikation. Dies ist möglich, da Vala ohne Runtime auskommt. Auch lassen sich mit Vala x-beliebige externe C-Bibliotheken verwenden.
Vala hat eine Csharp-ähnliche Syntax.
Auf Grund der Performance und Benutzerfreundlichkeit bietet sich Vala auch für die Programmierung der eigentlichen Applikationn (nicht nur HMI) an.
Für die deklarative Gestaltung Glade einer GTK-basierten GUI bietet sich Glade an
Favorit, da beide HMIs optimal auf ihren Einsatzweck abestimmt sind.
AJAX für die lokale HMI und remote HMI
Theoretisch ein HMI-Projektierung für lokale HMI und remote HMI nötig. Tatsächlich werden aber wohl spezielle Anpassungen für die unterschiedlichen Bildschirmgrößen und Bedienstrategien (Maus/Tastatur ⇔ Fingertouch) nötig werden. Weiterhin muß muß die AJAX-SDK den Touch Browser unterstützen