summaryrefslogtreecommitdiffstats
path: root/ausarbeitung/Tutorial.tex.backup
diff options
context:
space:
mode:
Diffstat (limited to 'ausarbeitung/Tutorial.tex.backup')
-rw-r--r--ausarbeitung/Tutorial.tex.backup71
1 files changed, 35 insertions, 36 deletions
diff --git a/ausarbeitung/Tutorial.tex.backup b/ausarbeitung/Tutorial.tex.backup
index 91c0526..ab7315f 100644
--- a/ausarbeitung/Tutorial.tex.backup
+++ b/ausarbeitung/Tutorial.tex.backup
@@ -1,17 +1,17 @@
\section{Technische Grundlagen}
Die Wahl der Plattform hängt von zwei verschiedenen Faktoren ab. Zum Einen stellt sich die Frage, ob die Handymodelle die
-benötigte Hardware, wie zum Beispiel \textit{GPS} oder eine Kamera besitzen, zum Anderen ob Schnittstellen vorhanden sind um das
+benötigte Hardware, wie zum Beispiel \textit{GPS} oder eine Kamera besitzen, zum Anderen ob Schnittstellen vorhanden sind, um das
Programm für das System zu entwickeln. \newline
Die Problematik der Plattformwahl aufgrund von vorhandener oder nicht vorhandener Hardware ist nicht allzu groß. Die meisten
aktuellen Geräte haben mittlerweile eine ähnliche Ausstattung was Speicher und Prozessorleistung angeht. Auch erweiterte Features
-wie \textit{GPS} oder Lagesensoren sind in den meisten aktuellen Geräten vorhanden oder werden in der nächsten Generation, des
-jeweiligen Herstellers, vorhanden sein.\newline
+wie \textit{GPS} oder Lage\-sensoren sind in den meisten aktuellen Geräten vorhanden, oder werden in der nächsten Generation des
+jeweiligen Herstellers vorhanden sein.\newline
Da die gegebenen Hardwareunterschiede minimal sind, findet die Auswahl aufgrund des Betriebssystemes statt. Bei
-geeigneter Wahl ist es möglich die Software auf mehrere Betriebssysteme für Smartphones zu portieren und somit eine mehrfache
-Implementation zu vermeiden. Es wäre somit auch möglich viele Nutzer zu erreichen und die Kommunikation zwischen einem Besitzer
-eines \textit{iPhones} sowie dem Besitzer eines \textit{Palm Pre's} sicherzustellen.\newline
-Ein weiterer Punkt der zu einer Entscheidung beiträgt ist die Frage ob andere Programme und Bibliotheken auf den jeweiligen
+geeigneter Wahl ist es möglich, die Software auf mehrere Betriebs\-systeme für Smartphones zu portieren und somit eine mehrfache
+Implementation zu vermeiden. Es wäre somit auch möglich, viele Nutzer zu erreichen und die Kommunikation zwischen einem Besitzer
+eines \textit{iPhones}, sowie dem Besitzer eines \textit{Palm Pre's} sicherzustellen.\newline
+Ein weiterer Punkt der zu einer Entscheidung beiträgt, ist die Frage, ob andere Programme und Bibliotheken auf den jeweiligen
Systemen ausführbar sind. Es wird also ein \textit{Layer} benötigt, mit welchem immer die gleichen Programmbibliotheken
genutzen werden können. Dabei sollte das zugrundeliegende System unabhängig von diesem \textit{Layer} sein. Es soll also damit vom
zugrundeliegenden
@@ -21,15 +21,15 @@ Mit diesem \textit{Layer} stehen
eine große Menge an aktuellen Bibliotheken aus der \textit{Open-Source} Gemeinde zur Verfügung. Diese haben den Vorteil, dass sie
aktiv
weiterentwickelt werden und auch ständig neue Bibliotheken hinzukommen. Anwendungen, die auf einem \textit{Linux}-System
-entwickelt wurden können somit ohne weiteres auf ein anderes, \textit{POSIX} kompatibles System, portiert werden, ohne das
+entwickelt wurden können somit ohne weiteres auf ein anderes, \textit{POSIX} kompatibles System, portiert werden, ohne dass
die genutzten Bibliotheken ausgetauscht werden müssen.\newline
-Zusätzlich stellt sich auch die Frage der zu nutzenden Programmiersprache. Diese sollte von einer möglichst großen Mengen an
+Zusätzlich stellt sich auch die Frage der zu nutzenden Programmiersprache. Diese sollte von einer möglichst großen Menge an
Betriebsystemen unterstützt werden. Somit ist es nicht nötig das Programm neu zu implementieren, falls es für eine neue
Plattform portiert werden soll.
\subsection{Betriebsysteme für mobile Geräte}
-Durch die Wahl eines Betriebsystemes wird schon indirekt eine Vorauswahl an Nutzbaren Bibliotheken und Programmiersprachen
+Durch die Wahl eines Betriebsystemes wird schon indirekt eine Vorauswahl an nutzbaren Bibliotheken und Programmiersprachen
getroffen. Im Folgenden werden fünf Betriebssysteme für mobile Plattformen vorgestellt und auf deren Portierungsmöglichkeiten
eingegangen.
@@ -46,8 +46,8 @@ für diese Plattform übersetzt und portiert werden können.
Das von \textit{Google} entwickelte \textit{Android}\footnote{Android http://www.android.com/ [Online; letzter Aufruf
25.01.2010]} setzt auf einen \textit{Linux-Kernel} der Version 2.6 auf. Dieser \textit{Kernel} kümmert sich um die Prozess- und
-Speicherverwaltung, Kommunikation sowie um die Hardwareabstraktion. Auf diese Grundlage setzt eine virtuelle Java-Maschine auf, in
-welcher \textit{Android} läuft.\newline
+Speicherverwaltung, Kommunikation sowie um die Hardwareabstraktion. Auf diese Grundlage setzt eine virtuelle
+\textit{Java}-Maschine auf, in welcher \textit{Android} läuft.\newline
Zum Implementieren von Anwendungen stellt \textit{Google} eigens ein \textit{SDK} bereit. Dieses greift allerdings nur auf
\textit{Java}-Bibliotheken zurück, womit sich die Anzahl der Sprachen bei Nutzung des \textit{SDKs} im Moment auf diese
eine beschränkt. Des weiteren bietet \textit{Google} ein \textit{NDK} an, mit dessen Hilfe es auch möglich ist Programme in
@@ -61,29 +61,27 @@ momentan nur auf zwei Geräten zu finden: Auf dem \textit{Palm Pre}
und dem \textit{Palm Pixi}.\newline
Unter der Benutzeroberfläche von \textit{WebOS} arbeitet ein \textit{Linux-Kernel} in der Version 2.6. Somit ist es möglich, wenn
man Zugriff auf das zugrundeliegende System hat, \textit{POSIX}-kompatible Software unter \textit{WebOS} zu betreiben.
-Für dieses Betriebssystem existiert ein \textit{SDK} für \textit{HTML5}, \textit{CSS} und \textit{Java}. Ein weiteres
+Für dieses Betriebssystem existiert ein \textit{SDK} fürDieses \textit{HTML5}, \textit{CSS} und \textit{Java}. Ein weiteres
\textit{SDK}, welches im März 2010 veröffentlicht wird, soll die \textit{C} und \textit{C++} Entwicklung ermöglichen.
\subsubsection{iPhone OS}
-Bei \textit{iPhoneOS}\footnote{iPhoneOS http://www.apple.com/de/iphone/ [Online; letzter Aufruf 03.02.2010]} handelt es sich
-um eine abgeänderte und angepasste Version von MacOS. Somit bassiert auch der Kernel von \textit{iPhoneOS} sowohl auf teilen eines
-\textit{BSD}-\footnote{BSD
+Bei dem Betriebssystem \textit{iPhoneOS}\footnote{iPhoneOS http://www.apple.com/de/iphone/ [Online; letzter Aufruf 03.02.2010]}
+handelt es sich um eine abgeänderte und angepasste Version von \textit{MacOS}. Somit bassiert auch der Kernel von
+\textit{iPhoneOS} sowohl auf teilen eines \textit{BSD}-\footnote{BSD
https://www.bsdwiki.de/ [Online; letzter Aufruf 24.02.2010]} sowie \textit{Mach}-Kernels\footnote{Mach
http://www.cs.cmu.edu/afs/cs/project/mach/public/www/mach.html\newline[Online; letzter Aufruf 24.02.2010]}. Dieses
-Betriebssystem
-wurde eigens für das
-iPhone entwickelt. Auch für dieses System existiert ein \textit{SDK}, welches allerdings nur die Sprache \textit{Objective-C}
-unterstützt. Der größte Kritikpunkt an diesem System ist das Fehlen von \textit{Multitasking}-Unterstützung. Somit ist es nicht
-möglich zwei Anwendungen parallel auszuführen, was gerade \textit{location awareness} Anwendungen stark einschränkt, da hier
-häufig weitere Dienste im Hintergrund aktiv sein sollten.
+Betriebssystem wurde eigens für das \textit{iPhone} entwickelt. Auch für dieses System existiert ein \textit{SDK}, welches
+allerdings nur die Sprache \textit{Objective-C} unterstützt. Der größte Kritikpunkt an diesem System ist das Fehlen von
+\textit{Multitasking}-Unterstützung. Somit ist es nicht möglich zwei Anwendungen parallel auszuführen, was gerade \textit{location
+awareness} Anwendungen stark einschränkt, da hier häufig weitere Dienste im Hintergrund aktiv sein sollten.
\subsubsection{Symbian OS}
\textit{SymbianOS}\footnote{SymbianOS http://www.symbian.org/ [Online; letzter Aufruf 03.02.2010]} ist eine Betriebssystem
welches vorzugsweise auf Geräten der Firma \textit{Nokia} zum Einsatz kommt. Es existiert ein \textit{SDK}, was neben
\textit{C}/\textit{C++} auch noch weitere Sprachen wie zum Beispiel \textit{Python} oder \textit{Java} unterstützt. Mit dem
-\textit{SDK} wird auch ein \textit{Cross-Compiler} angeboten, welcher es ermöglicht Programme direkt zu portieren. Des Weitern
+\textit{SDK} wird auch ein \textit{Cross-Compiler} angeboten, welcher es ermöglicht Programme direkt zu portieren. Des Weiteren
besitzt \textit{Symian OS} einen \textit{POSIX Layer}.
\subsubsection{Zielplattform}
@@ -108,13 +106,13 @@ Mit dem \textit{CeGCC} ist es möglich \textit{C} Programmcode, der unter \texti
\textit{Windows Mobile} zu portieren. Bei \textit{CeGCC} handelt es sich um ein \textit{Open-Source} Projekt, basierend auf dem
\textit{GCC}. Mit diesem Tool können in einer \textit{Linux} Umgebung die für \textit{Windows Mobile} benötigten Bibliotheken und
ausführbaren Dateien erstellt werden.\newline
-Der \textit{CeGCC} kann in zwei unterschiedlichen Versionen genutzt werden. Zum Einen bietet der \textit{wince-mingw32ce} eine
-Menge an Tools mit welchen man native \textit{Windows Mobile} Applikationen erstellen kann. Hierzu wird eine
+Der \textit{CeGCC} kann in zwei unterschiedlichen Versionen genutzt werden. Der \textit{arm-wince-mingw32ce} bietet eine
+Menge an \textit{Tools} mit welchen man native \textit{Windows Mobile} Applikationen erstellen kann. Hierzu wird eine
Portierung der \textit{GNU}\footnote{GNU http://www.gnu.org/ [Online; letzter Aufruf 03.02.2010]} Enwicklungswergzeuge aus
-dem \textit{MinGW}\footnote{MinGW http://mingw.org/ [Online; letzter Aufruf 03.02.2010]} Projekt genutzt. Diese Tools
-übersetzen und verlinken Quellcode, um diesen unter \textit{Windows Mobile} ausführbar zu machen. Die andere Möglichkeit stellt
-die Nutzung des \textit{arm-cegcc} dar. Mit diesem kann \textit{POSIX} kompatibler Programmcoder nach \textit{Windows Mobile}
-portiert werden. %verfeinern
+dem \textit{MinGW}\footnote{MinGW http://mingw.org/ [Online; letzter Aufruf 03.02.2010]} Projekt genutzt. Diese \textit{Tools}
+übersetzen und verlinken Quellcode, um selbigen unter \textit{Windows Mobile} ausführbar zu machen. Die andere
+Möglichkeit stellt die Nutzung des \textit{arm-cegcc} dar, mit welchem \textit{POSIX} kompatibler Quellcode nach
+\textit{Windows Mobile} portiert werden kann. %verfeinern
%# arm-mingw32ce : toolset to build native Windows CE applications
%# arm-cegcc : toolset to port unix source to Windows CE
@@ -134,7 +132,8 @@ Neben einem \textit{Cross-Compiler} wird noch ein geeignetes Frontend benötigt,
ansprechend darzustellen und eine einfache Bedienbarkeit zu garantieren. Dieses Frontend sollte auch in \textit{C} oder
\textit{C++} geschrieben sein, um auch hier die Portierbarkeit für die gewünschten Plattformen zu erhalten. Genutzt wird das
freie, seit 1997 existierende, \textit{Enlightenment}\footnote{Elementray http://www.enlightenment.org/ [Online; letzter
-Aufruf 20.01.2010]} Projekt. Dieses Softwarepaket unterstützt alle gängigen Plattformen wie Windows, Linux, BSD und MacOS. Es
+Aufruf 20.01.2010]} Projekt. Dieses Softwarepaket unterstützt alle gängigen Plattformen wie \textit{Windows, Linux, BSD} und
+\textit{MacOS}. Es
beinhaltet einen eigenen \textit{Window-Manager} names \textit{Elementary}. \textit{Elementary} bietet ein umfangreiches Paket an
graphischen Elementen die genutzt und frei angeordnet werden können.
@@ -146,8 +145,8 @@ graphischen Elementen die genutzt und frei angeordnet werden können.
\end{figure}
\textit{Elementary} setzt auf die \textit{Enlightenment Foundation Libraries (EFL)} auf. Diese Bibliotheken werden zum Teil von
-Enlightenment benötigt, andere können für optionale Features installiert werden. Für die Darstellung auf mobilen Geräten sind die
-Pakete \textit{Evil, Eina, Eet, Embryo, Evas, Ecore, Edje} und \textit{Elementary} nötig.
+Enlightenment benötigt, andere können für optionale Funktionalitäten installiert werden. Für die Darstellung auf mobilen Geräten
+sind die Pakete \textit{Evil, Eina, Eet, Embryo, Evas, Ecore, Edje} und \textit{Elementary} nötig.
\begin{figure}[h]
\centering
@@ -158,9 +157,9 @@ Pakete \textit{Evil, Eina, Eet, Embryo, Evas, Ecore, Edje} und \textit{Elementar
Bei \textit{Ecore} handelt es sich um eine Bibliothek, welche das Serialisieren von mehreren Programmteilen ermöglicht und
für den Betrieb auf mobilen Geräten optimiert wurde. \textit{Edje} ist eine grafische Design und Layout Bibliothek,
-welche mit einer internen \textit{state machine} und einem Zustandsgraphen speichert was wo, in welcher Farbe und wie sichtbar
-ist und gezeichnet werden soll. Die Bibliothek \textit{Evas} ist eine \textit{canvas}-Bibliothek, welche sich um Effekte wie
-Alpha-Blending oder das skalieren von Bildern kümmert. \textit{Eina} stellt verschiedene, optimierte Datentypen und Tools
-bereit.\newline
+welche mit einer internen \textit{state machine} und einem Zustandsgraphen speichert welche Elemente an welchem Ort, in welcher
+Farbe und wie sichtbar sind. Die Bibliothek \textit{Evas} ist eine \textit{canvas}-Bibliothek, welche sich
+um Effekte wie Alpha-Blending oder das skalieren von Bildern kümmert. \textit{Eina} stellt verschiedene, optimierte Datentypen und
+\textit{Tools} bereit.\newline
Im Anhang 1 sind genaue Anweisungen zu finden mit deren Hilfe es möglich ist \textit{Elementary} für \textit{Windows Mobile} zu
portieren. \ No newline at end of file