Benutzer-Werkzeuge

Webseiten-Werkzeuge


becki:linux:hmi_technologien

Dies ist eine alte Version des Dokuments!


Übersicht HMI Technologien

Embedded / Mobile Plattformen

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 Google 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.

Touch Libs

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.

FIXME Clutter für Animationen

Touch Browser

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,

FIXME Welchen Browser verwendet Moblin?

Remote HMI SDKs

Web-basiert

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

FIXME ZK checken

Beispiele für rein web-basierte Applikationen: Dojo Demos, Google Maps oder Google Text und Tabellen

RIAs

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.

Enhancements / Besonderheiten

Java

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.

Vala / GTK

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

Lösungsmöglichkeiten

1. Lokale Touch Lib / Web Technologie für remote HMI

  • Lokale GUI Applikation mit Finger-Touch-GUI (z.B. Hildon)
  • Standardbrowser (Firefox, Chrome, IE, …) für die remote HMI (keine Plugins nötig) mit AJAX-SDK (z.B. Dojo oder GWT) für die GUI-Programmierung

Favorit, da beide HMIs optimal auf ihren Einsatzweck abestimmt sind.

2. Reine Web Technologie

AJAX für die lokale HMI und remote HMI

  • Touch Brower für die lokale HMI
  • Standardbrowser (Firefox, Chrome, IE) für die remote HMI (keine Plugins nötig)
  • Web-basierte AJAX-SDK (wie Dojo oder GWT) für die GUI-Programmierung

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

3. Touch Lib / RIA

  • Lokale GUI Applikation mit Finger-Touch-GUI (z.B. Hildon)
  • Remote GUI per RIA (z.B. Apache Pivot)

Unsortiert / Ideen

  • XUL
  • Mozilla Prism
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
becki/linux/hmi_technologien.1270641530.txt.gz · Zuletzt geändert: 2010-04-07 11:58 von becki

Impressum - Datenschutzerklärung