summaryrefslogtreecommitdiffstats
path: root/ausarbeitung/Tutorial.tex~
diff options
context:
space:
mode:
Diffstat (limited to 'ausarbeitung/Tutorial.tex~')
-rw-r--r--ausarbeitung/Tutorial.tex~57
1 files changed, 29 insertions, 28 deletions
diff --git a/ausarbeitung/Tutorial.tex~ b/ausarbeitung/Tutorial.tex~
index c75e581..7ae5447 100644
--- a/ausarbeitung/Tutorial.tex~
+++ b/ausarbeitung/Tutorial.tex~
@@ -1,16 +1,16 @@
\section{Technische Grundlagen}
-Ein wichtiger Punkt ist auch die Wahl der passenden Plattform. Bei geeigneter Wahl dieser ist es möglich die Software auf mehrere
-Betriebssysteme für Smart Phones zu portieren und somit eine mehrfache Implementation zu vermeiden. Es wäre somit auch möglich
-viele Nutzer zu erreichen und auch die Kommunikation zwischen einem Besitzer eines \textit{iPhones} sowie dem Besitzer eines
-\textit{Palm Pre} sicherzustellen.\newline
+Ein wichtiger Punkt ist auch die Wahl der passenden Plattform. Bei geeigneter Auswahl dieser ist es möglich die Software auf
+mehrere Betriebssysteme für Smart Phones 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
Des weiteren ist es auch von Interesse, ob andere Programme und Bibliotheken auf den jeweiligen Systemen ausführbar sind.
Grundlegend sind Betriebsysteme interessant, die über einen \textit{Layer} verfügen mit welchem man eine große Anzahl an
-Bibliotheken und Schnittstellen ansprechen kann. Dieser Layer soll also eine Schnittstelle zwischen Anwendungen und Betriebssytem
-sein. Ein solcher ist der \textit{Portable Operating System Interface for Unix Layer (POSIX Layer)}. Mit diesem
-LayerDurch stehen eine große Menge an aktuellen Bibliotheken, aus der \textit{Open-Source} Gemeinde, zur Verfügung welche auch
-aktiv weiterentwickelt werden. Anwendungen die auf einem \textit{Linux}-System entwickelt wurden können somit auch ohne weiteres
-auf ein anderes, \textit{POSIX} kompatibles System, portiert werden.\newline
+Bibliotheken und Schnittstellen ansprechen kann. Dieser \textit{Layer} soll also eine Schnittstelle zwischen Anwendungen und
+Betriebssytem sein. Ein solcher ist der \textit{Portable Operating System Interface for Unix Layer (POSIX Layer)} \citep{POSIX}.
+Mit diesem \textit{Layer} stehen eine große Menge an aktuellen Bibliotheken, aus der \textit{Open-Source} Gemeinde, zur Verfügung
+welche auch aktiv weiterentwickelt werden. Anwendungen die auf einem \textit{Linux}-System entwickelt wurden können somit
+ohne weiteres auf ein anderes, \textit{POSIX} kompatibles System, portiert werden.\newline
Auch die Frage der unterstützten Programmiersprachen stellt sich, da das Programm nicht ständig neu implementiert werden soll,
wenn es auf ein neues Gerät portiert wird.\newline
@@ -27,8 +27,8 @@ Plattformen vorgestellt und auf deren Portierungsmöglichkeiten eingegangen.
\subsubsection{Windows Mobile}
Der wohl bekannteste Vertreter ist \textit{Windows Mobile}. Die aktuelle Version 6.5 wurde von Microsoft
-auch \textit{Windows Phone} betitelt.Das gesamte Betriebssystem basiert auf der \textit{Windows Win32 API} und lässt
-ähnlichkeiten zu den Desktop-Varianten der Windows-Familie erkennen. \textit{Windows Phone} besitzt keinen
+auch \textit{Windows Phone} betitelt. Das gesamte Betriebssystem basiert auf der \textit{Windows Win32 API} und lässt
+Ähnlichkeiten zu den Desktop-Varianten der Windows-Familie erkennen. \textit{Windows Phone} besitzt keinen
\textit{POSIX Layer}, allerdings existiert ein \textit{Cross-Compiler} names \textit{CeGCC} \citep{CeGCC}, mit welchem
Programme die in \textit{C}/\textit{C++} geschrieben wurden für diese Plattform kompiliert werden können.\newline
@@ -50,11 +50,11 @@ Kernel kümmert sich um die Prozess- und Speicherverwaltung, Kommunikation sowie
setzt ein virtuelle 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 nutzbaren Sprachen im moment eben auf diese beschränken. Des weiteren bietet
+\textit{Java}-Bibliotheken zurück, womit sich die nutzbaren Sprachen im Moment eben auf diese beschränken. Des weiteren bietet
\textit{Google} mittlerweile ein \textit{NDK} an, mit desen Hilfe es auch möglich ist Programme in \textit{C} oder \textit{C++}
zu schreiben. In diesem Paket werden auch eine Hand voll Bibliotheken mitgeliefert, welchen stabil laufen. \textit{Google} rät
-allerdings von der Nutzung anderer Bibliotheken ab, da nur die mit dem \textit{NDK} gelieferten stabil auf den Geräten stabil
-sind. Allerdings ergeben sich hier für die Zukunft, sobald mehr Bibliotheken stabil unterstützt werden, sicher
+allerdings von der Nutzung anderer Bibliotheken ab, da nur die mit dem \textit{NDK} gelieferten stabil auf den Geräten sind.
+Allerdings ergeben sich hier für die Zukunft, sobald mehr Bibliotheken unterstützt werden, sicher
interessante Möglichkeiten für Anwendungsentwicklung und Portierung.\newline
\subsubsection{WebOS}
@@ -62,14 +62,14 @@ interessante Möglichkeiten für Anwendungsentwicklung und Portierung.\newline
\textit{WebOS} \citep{WebOS} wurde von \textit{Palm} als Nachfolger von \textit{PalmOS} entwickelt und ist momentan nur auf zwei
Geräten zu finden: Auf dem \textit{Palm Pre} und dem \textit{Palm Pixi}.\newline
Für dieses Betriebssystem existiert sowohl ein \textit{SDK} für \textit{HTML5}, \textit{CSS} und \textit{Java} sowie ein
-weiteres, welches im März 2010 veröffentlicht wird, für \textit{C} und \textit{C++}. Des weiteren existiert
-eine Erweiterung des \textit{POSIX Layers} names \textit{PIPS}. Es werden somit mehrere Programmiersprachen unterstützt
+weiteres, welches im März 2010 veröffentlicht wird, für \textit{C} und \textit{C++}. Des weiteren beinhaltet
+eine Erweiterung des \textit{POSIX Layers} names \textit{PIPS}. Somit werden mehrere Programmiersprachen unterstützt
und es besteht die Möglichkeit den \textit{POSIX Layer} zu nutzen.\newline
\subsubsection{iPhone OS}
-Bei \textit{iPhoneOS} \citep{iPhoneOS} handelt es sich um eine portierte Version von MacOS. Es wurde eigens für das
-iPhone entwickelt. Auch für dieses System existiert ein \textit{SDK}, welches allerdings nur die Sprache \textit{Objective-C}
+Bei \textit{iPhoneOS} \citep{iPhoneOS} handelt es sich um eine abgeänderte und angepasste Version von MacOS. Es 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. Des weiteren fehlt auch eine Unterstützung des \textit{POSIX Layers}. Der größte Kritikpunkt an diesem System dürfte
allerdings das fehlen von \textit{Multitasking}-Unterstützung sein. 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
@@ -85,10 +85,10 @@ ermöglicht Programme direkt zu portieren. Des weitern besitzt \textit{Symian OS
\subsubsection{Zielplattform}
Die Wahl der Zielplattform ist auf \textit{Windows Mobile} gefallen, da es hier möglich ist das Programm in \textit{C} zu
-schreiben und dann auf nach \textit{Windows Mobile} zu portieren. \newline
+schreiben und dann im Anschluss nach \textit{Windows Mobile} zu portieren. \newline
\textit{iPhoneOS} wurde aufgrund seiner mangelnden \textit{Multitasking}-Unterstützung ausgeschlossen. Diese ist für den
geplanten Dienst wichtig, da hier Prozesse im Hintergund stattfinden werden und dies auf einem solchen System nicht realisierbar
-wäre. \textit{Android} hat zwar eine \textit{C} Unterstützung, allerdings gibt der Hersteller an, das nicht alle Bibliotheken
+wäre. \textit{Android} hat zwar eine \textit{C} Unterstützung, allerdings gibt der Hersteller an das nicht alle Bibliotheken
stabil sind.\newline
Aufgrund der Implementierung in \textit{C} ist es auch möglich das Programm für \textit{WebOS} und \textit{SymbianOS} zu
kompilieren.
@@ -100,16 +100,17 @@ jeweiligen Plattformen zu kompilieren, sowie die graphischen Elemente auf den Pl
\subsubsection{CeGCC}
-Da \textit{Windows Mobile} und die Programmiersprache \textit{C} genutzt wird, wird der \textit{CeGCC} \citep{CeGCC} als
-\textit{Cross-Compiler} verwendet. Mit ihm ist es möglich Programmcode, der unter \textit{Linux} entwickelt wurde nach
+Da \textit{Windows Mobile} und die Programmiersprache \textit{C} genutzt wird, wird der \textit{CeGCC} als
+\textit{Cross-Compiler} verwendet. Mit ihm ist es möglich \textit{C} Programmcode, der unter \textit{Linux} entwickelt wurde nach
\textit{Windows Mobile} zu portieren. Bei \textit{CeGCC} handelt es sich um ein \textit{Open-Source} Projekt, bassierend auf dem
-GCC. Mit diesem Tool können in einer \textit{Linux} Umgebung die für \textit{Windows Mobile} benötigten Bibliotheken und
+\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
-Es wird zwischen zwei verschiedenen Arten des CeGCC's unterschieden. Zum Einen \textit{CeGCC}, zum Anderen \textit{mingw32ce}.
+Es wird zwischen zwei verschiedenen Arten des \textit{CeGCC's} unterschieden. Zum Einen \textit{CeGCC}, zum Anderen
+\textit{mingw32ce}.
Der Unterschied zwischen diesen beiden Kompilern besteht darin, dass ersterer nur dann benutzt wird, wenn man nur Linux
-Bibliotheken nutzt. Der \textit{mingw32ce}-Kompiler wird dann gebraucht, wenn man auch \textit{Windows Mobile}
-Bibliotheken einbinden möchte.\newline
+Bibliotheken einbinden möchte. Der \textit{mingw32ce}-Kompiler wird dann gebraucht, wenn man auch \textit{Windows Mobile}
+Bibliotheken nutzt.\newline
Soll das Programm nun für \textit{WebOS} oder \textit{SymbianOS} portiert werden, kann dies auf unter \textit{Linux} normal
kompiliert werden.
@@ -142,8 +143,8 @@ Pakete \textit{Evil, Eina, Eet, Embryo, Evas, Ecore, Edje} und\textit{Elementary
Bei \textit{Ecore} handelt es sich um eine \textit{library} welche das serialisieren von mehreren Programmteilen ermöglicht und
für den Betrieb auf mobilen Geräten optimiert wurde. \textit{Edje} ist eine komplexe 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 wird. Die Bibliothek \textit{Evas} ist eine \textit{canvas}-Bibliothek, welche sich um Effekte wie
+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
-Im Anhang 1 ist eine genaue Anweisung zu finden, um \textit{Enlightenment} für \textit{Windows Mobile} zu erstellen. \ No newline at end of file
+Im Anhang 1 sind genaue Anweisungen zu finden, um \textit{Enlightenment} für \textit{Windows Mobile} zu erstellen. \ No newline at end of file