EWL und Etk

Da ich zur Zeit immer noch beim Schreiben meiner ersten „richtigen“ Openmoko Anwendung bin und das ganze unbedingt mittels E und allem was dranhängt bewerkstelligen wollte, stand ich plötzlich vor dem Problem das ich keine GUI Widgets habe und EDJE, Evas und Co eine Abstraktionsschicht zu niedrig sind. Was also nun benötigt wurde war ein GUI Toolkit. Dabei stehen mir gleich zwei Toolkit Bibliotheken zur Verfügung. Zum ersten EWL (Enlightenment Widget Library) und dann gibt es noch Etk (Enlightened ToolKit).

EWL
Bei EWL handelt es sich um eine Widget Bibliothek, welche skinbare Widgets für Anwendungen bereitstellt. Zu diesen Widgets gehören Windows, Buttons, Listen, Text Views. Neben den Widgets erlaubt die Theme Engine Animation sowie ähnliche Dinge.

Etk
Das Enlightened ToolKit ist ein Widget basierendes Toolkit welches intensiv die Evas und Edje Funktionen benutzt. Es soll eine schnelle, stabile und vor allem skalierbare Bibliothek sein, welche sich dazu eignet schnell Anwendungen zu schreiben. Diese Anwendungen sollen dann vom Desktop über den PDA bis hin zu Set-Top Boxen laufen.

Beim näheren Hinschauen stellt sich für mich die Frage worin sich diese beiden Bibliotheken denn nun wirklich unterscheiden und welche man zur Entwicklung seiner eigenen Anwendung benutzen soll. Nach der Lektüre eines Forumeintrages (http://forum.enlightenment.org/comments.php?DiscussionID=244&page=1) bin ich zu dem Schluss gekommen das EWL wohl die bessere Variante ist, unter anderem aus dem Grund das der Maintainer für Etk wohl nichts mehr an dem Projekt macht.

Weitere Informationen gibt es unter:
http://wiki.enlightenment.org/index.php/Main_Page
http://wiki.enlightenment.org/index.php/Category:Enlightened_Widget_Library
http://docs.enlightenment.org/api/etk/html/index.html

D-Bus und FSO

Heute wenden wir uns mal dem D-Bus zu. Bei dem D-Bus handelt es Framework zur Interprozesskommunikation. Oder um das ganze mal verständlich auszudrücken. D-Bus sorgt dafür das alle Anwendungen und Services sich miteinander unterhalten können :)

Beim neuen Openmoko Framework bildet der D-Bus eine Schicht auf der andere Anwendungen aufbauen können. Benötigt eine Anwendung einen bestimmten Service so fordert sie ihn über den D-Bus an. Ist der Service zu diesen Zeitpunkt nicht bereits gestartet worden, so wird der Service automatisch gestartet.

Auf dem neuen Openmoko Framework sind zwei separate Busse (na hoffentlich ist das die Mehrzahl von Bus^^) vorhanden. Beim ersten Bus handelt es sich um den Systembus für den Nutzer „root“ welcher läuft sobald das Gerät angeschaltet ist. Der zweite Bus. auch Sessionbus genannt, wird für den Benutzer gestartet, sobald X startet.

Weitere Informationen dazu gibt es unter:
http://wiki.openmoko.org/wiki/Dbus
http://de.wikipedia.org/wiki/Dbus

Die Roadmap des neuen Openmoko-Frameworks

Dann möchte ich heute mal ein paar Worte zur Roadmap des neuen Openmoko Frameworks verlieren. Zur Zeit sind fünf Meilensteine geplant. Der erste davon wurde vor einiger Zeit bereits vorgestellt, bleiben also nur noch vier. Mit dem Meilenstein 5 sollte die API dann so stabil sein das Anwendungsentwickler damit arbeiten können ohne Angst vor tief greifenden Umstellungen zu haben.

Meilenstein 2
Geplante Fertigstellung: 15.07.2008

Ziele:
– Konferenzschaltung für Telefonieren
– Verbessertes SIM Handhabung
– Telefonbuch Funktionalität soll grundlegend implementiert sein

Meilenstein 3
Geplante Fertigstellung: 01.08.2008

Ziele:
– SMS senden und empfangen
– SMS Nachrichtenanwendung (Messagebook)

Meilenstein 4
Geplante Fertigstellung: 15.08.2008

Ziele:
– Integration der Google Summer of Code Projekte
– Die Anwendung „Einstellungen“

Meilenstein 5
Geplante Fertigstellung: 01.09.2008

Ziele:
– Kalender
– Alarm Uhr
– Weltzeituhr

Weitere Informationen sind auf trac.freesmartphone.org zu finden.

Was ist eigentlich freesmartphone.org?

Wer die Einträge der letzen Tage mitverfolgt hat wird gemerkt haben das ich ab und an die Seite freesmartphone.org erwähnt habe. Diese Erwähnung geschah immer im Zusammenhang mit dem neuen Framework für Openmoko.

Jetzt stellt sich natürlich die Frage was macht das neue Framwork dort? Warum ist es nicht auf den Openmoko Seiten zu finden? Das hat zweierlei Gründe. Erst einmal ist freesmartphone.org die Seite um welche sie die Frameworkentwickler organisieren (das Framework soll schließlich ein einheitliches Framework für Linux Smartphones (nicht nur OM) werden) und zweites soll freesmartphone.org praktisch das Pedant zu freedesktop.org sein.

Die Rolle von Python im neuen OpenMoko Framework

Auf der Seite http://wiki.openmoko.org/wiki/OpenmokoFramework gibt es ein Punkt der sich mit der Rolle von Python im neuen Framework befasst.

Es geht darum das wenn neuer Code geschrieben werden muss dieser in Python geschrieben wird, sprich die entsprechenden dbus Services in Python geschrieben werden. Als Grund wird die prototypische Natur von Python sowie der Betonung der dbus API (was auch immer damit gemeint ist). Außerdem sind verkürzt die Python die Zeiten die bei dem Experimentieren mit der API vergeht gegenüber kompilierten Sprachen wie C bzw. C++.

Sobald die API’s durch Anwendungsentwickler genutzt werden können, kann damit begonnen werden zu schauen ob bestimmte Services noch ein implementiert werden bzw. auf Geschwindigkeit optimiert werden z.B. unter zu Hilfename von Pyrex (http://en.wikipedia.org/wiki/Pyrex_(programming_language)), Cython (http://www.cython.org/) und Ctypes (http://python.net/crew/theller/ctypes/).