Home Einführung

iPhone Gewinnspiel

Einführung in die Symbian Entwicklung PDF Drucken E-Mail
Share
Geschrieben von: Philipp   
SATURDAY, 01 MARCH 2008 16:03
Beitragsindex
Einführung in die Symbian Entwicklung
Varianten
Entwicklung
Alle Seiten

Was ist Symbian?

Vorab sollte ich vielleicht den Unwissenden überhaupt einmal erklären, was Symbian ist. Nun, dabei handelt es sich um ein Betriebssystem, also ähnlich wie Microsoft Windows, Unix oder Mac OS, aber eben für mobile Endgeräte. Es basiert auf dem 1981 entwickelten Psion System, welches als Vorreiter für die ersten Handheld Computer galt.

Symbian ist im Vergleich zu den anderen Betriebssystemen noch relativ jung, so gab es das erste Gerät im Jahr 2000 von der Firma Ericsson und erhielt die Bezeichnung R380. Kurz darauf  kamm das Nokia 7650, welches ein ziehmlicher Meilenstein (Farbscreen, Kamera) in der Handybranche war.

Mehrere Unternehmen sind an Symbian beteiligt - den größten Anteil dabei hat Nokia, wodurch eben Nokia auch den maßgeblichen Anteil an der Weiterentwicklung bewirkt. Das erste Nokia 7650 basierte noch auf der Betriebssystemversion Symbian 6.1 wohingegen heutige Geräte in der Version 9.3 erhältlich sind und 9.5 bereits in den Startlöchern steht.



Varianten

Symbian gibt es in unterschiedlichen Varianten, wobei mit Varianten nur das äußerliche Erscheinungsbild, also das User Interface gemeint ist. Das bedeutet das in allen Varianten die Logik die gleiche ist, lediglich das Aussehen sich unterscheidet.

Folgende Variaten gibt es derzeit:

Series 60
Series 60 ist die meist verbreiteste Variante und wurde maßgeblich von Nokia entwickelt. Bis Symbian 7 gab es Series 60 nur in einer Auflösung von 176x208. Seit Symbian 8 ist die Auflösung praktisch egal. Mit Symbian 9 wurde die Unterstüzung für QWERTZ-Tastaturen hinzugefügt. Aktuelle ist die Version "Series 60 3th Edition Feature Pack 2". Die nächste Version dieser Variante soll auch Touch-Screens unterstützen. Bekannte Geräte sind Nokia 7650, Nokia NGage, Siemens SX1, Nokia E60 und Nokia N95.

Series 80
Diese Variante wurde außschließlich in den Nokia Communicatoren angewandt, und war berüchtigt und beliebt für den extremen wide-screen, die von Anfang an unterstütze QWERTZ-Tastatur und die Möglichkeit das Gerät aufzuklappen, so das das Gefühl vor einem Mini-Laptop zu sitzen vermittelt wurde. Da aber mittlerweile Series 60 wesentlich komfortabler und flexibler ist, wurde seit dem Nokia Communicator E90 auch dort Series 60 angewandt. Mit weiteren Geräten der Series 80 Reihe wird wohl nicht mehr zu rechnen sein. Seit Symbian 9 gibt es keine weitere Unterstüzung mehr für Series 80. Die letzte Version nannte sich "Series 80 2nd Edition"

UIQ
UIQ ist, die Variante, welche überwiegend von SonyEricsson mitentwickelt und verwendet wurde. Diese Variante galt dabei als größter Konkurent für Business-Phones wie die Series 80 Geräte. Es wurde von Anfang an der Touch-Screen und eine QWERTZ-Tastatur unterstützt. Im Moment gibt es UIQ in der dritten Version, hat es jedoch schwer gegen die Series 60 Geräte anzukommen. Bekannte Geräte sind hier SonyEricsson P900, Motorola A100, Sony Ericsson P1.

Series 90
Die Series 90 Variante war von Nokia ein Angriff auf die UIQ Variante, d.h. sie unterstütze ebenfalls einen Touch-Screen und hatte ein sehr modernes Design. Jedoch fand diese wenig Anklang, und so gab es nur ein Gerät von Nokia. Es handelte sich dabei um das Nokia 7710. Seit Symbian 8 gibt es keine weiter Unterstüzung mehr für Series 90.



Im folgenden zeige ich eine Gegenüberstellung der Symbian Versionen zu den Varianten.
Symbian Version Unterstütze Varianten
6.0 Series 80
6.1 Series 60
7.0 UIQ 2.1
7.0s Series 60 2nd Edition
Series 60 2nd Edition Feature Pack 1
Series 80 2nd Edition
Series 90
8.0a Series 60 2nd Edition Feature Pack 2
8.1a Series 60 2nd Edition Feature Pack 3
9.1 Series 60 3th Edition
UIQ 3
9.2 Series 60 3th Edition Feature Pack 1
UIQ 3.1
9.3 Series 60 3th Edition Feature Pack 2
9.5 Series 60 5th Edition

Im Gegensatz zu vieler Leute angenomener Meinung, ist Series 40 keine Variante von Symbian sondern ein von Nokia propritäres entwickeltes Betriebssystem.



Entwicklung

Für die Entwicklung benötigt man eins der vielen erhältlichen SDK's (Software Development Kids). Dort enthalten ist der benötigte Compiler, Emulator (Anwendung für Windows, welche ein Symbian-Handy simuliert) und die Dokumentation. Mit Hilfe eines beliebigen Texteditor könnte es jetzt schon losgehen. Aber wer will schon gerne auf eine Anwendung (im folgenden IDE's - Integrated Development Environment) verzichten die einem Projektverwaltung, debbuging und u.a. Syntaxhighlighting bietet. Solche Anwendungen gibt es natürlich auch. Dazu mehr weiter unten.

Je nach dem, für welche Symbian Version man programmieren möchte, gibt es auch unterschiedliche SDK's und IDE's. Dabei ist es wichtig zu wissen, das sich Entwicklungen für eine spezielle Symbian-Version, nicht auf Geräten mit der Vorversion ausführen lassen. Das bedeutet also, das ein Programm, welches mit einem SDK für die Symbian Version 8 Programmiert wurde, sich nicht auf einem Gerät mit Symbian 7 ausführen lassen wird, da eben in Symbian 8 Features implementiert wurden, welche nicht auf Symbian 7 existieren. Umgekehrt ist die Ausfühbarkeit bis auf eine Ausnahme gewährleistet.
Mit dieser Ausnahme ist Symbian 9 gemeint. Bis Symbian 9, konnte jeder Entwickler für Symbian programieren, dies führte auch mit sich, das im laufe der Zeit es viele Viren und Schadprogramme verbreitet wurden. Um diesen Umstand entgegen zu setzen, entschieden sich die Symbian-Verantwortlichen, die Entwicklung nur noch noch zahlenden Entwickler zu gewährleisten. Diese zahlenden Entwickler haben nun die Möglichkeit Ihre Anwendungen an Symbian zu schicken und nach einer Kontrolle zertifizieren zu lassen. Nur solche zertifizierten Programme lassen sich auf einem Symbian 9 Gerät installieren. Das bedeutet also, das sich vor Symbian 9 entwickelte Anwendungen nicht auf Symbian 9 Geräten ausführen lassen - und umgekehrt auch nicht.

Des Weiteren ist zu wissen, das sich Entwicklungen für die einzelnen Varianten auch nicht untereinander "verstehen", also ein Programm für Series 60, wird sich nicht auf einem UIQ-Phone installieren lassen. Ebenso wenig lässt sich eben ein Programm der Variante Series 60 3nd Edition auf einem Gerät ausführen, welches als Variante Series 60 2nd Edition beinhaltet, da ja Series 60 2nd Edition auf Symbian 8 basiert und die 3rd Edition eben auf Symbian 9.

Das klingt sicherlich alles sehr verwirred, aber diese Informationen sind zum Verständnis unausweichlich. Andererseits, werdet Ihr sicherlich zum aktuellen Zeitpunkt eh nur noch für Geräte ab Symbian 9 programmieren, da diese einfach überwiegen und Geräte mit Vorversionen am aussterben sind.

Wie schon vorab erwähnt, gibt es für die unterschiedlichen Symbian Versionen auch unterschiedliche SDK's und IDE's, hier folgt jetzt nur die Übersicht:
Symbian Version IDE SDK
6.x Carbide.vs (erfordert Microsoft Visual Studio.NET 2005) oder
CodeWarrior Development Studio for Symbian OS v2.5 oder höher
Series 60
7.0 Borland C BuilderX oder
Carbide.c++ oder
CodeWarrior Development Studio for Symbian OS v2.5 oder höher
UIQ 2.1
7.0s
 
Carbide.vs (erfordert Microsoft Visual Studio.NET 2005)
Carbide.c++
CodeWarrior Development Studio for Symbian OS v2.5 oder höher 
Series 60 2nd Edition Code Warrior
Series 60 2nd Edition Feature Pack 1 Code Warrior
Series 80 2nd Edition Code Warrior
Microsoft Visual Studio 6.0 oder
Microsoft Visual Studio C.NET 2003 oder
Borland C BuilderX Mobile Edition 1.5

Series 60 2nd Edition WINS
Series 60 2nd Edition Feature Pack 1 WINS
Series 80 2nd Edition WINS
8.0a Carbide.vs (erfordert Microsoft Visual Studio.NET 2005)
Carbide.c++
Series 60 2nd Edition Feature Pack 2 Code Warrior
Microsoft Visual Studio 6.0 oder
Microsoft Visual Studio C.NET 2003
Series 60 2nd Edition Feature Pack 2 WINS
8.1a Carbide.vs oder
Carbide.c++ oder
CodeWarrior Development Studio for Symbian OS v2.5 oder höher
Series 60 2nd Edition Feature Pack 3
9.1 VistaMax (nur UIQ)
Carbide.c++ oder
Carbide.vs (erfordert Microsoft Visual Studio.NET 2005) oder
CodeWarrior Development Studio for Symbian OS v3.0 oder höher
Series 60 3th Edition
Series 60 3th Edition, Maintenance Release
UIQ 3.0
9.2 VistaMax (nur UIQ)
Carbide.c++ oder
Carbide.vs (erfordert Microsoft Visual Studio.NET 2005) oder
CodeWarrior Development Studio for Symbian OS v3.0 oder höher
Series 60 3th Edition Feature Pack 1
UIQ 3.1
9.3 Carbide.c++ oder
Carbide.vs (erfordert Microsoft Visual Studio.NET 2005) oder
CodeWarrior Development Studio for Symbian OS v3.0 oder höher
Series 60 3th Edition Feature Pack 2 BETA
9.5 Carbide.c++ 2.0
Series 60 5th Edition

Kurz zur Erklärung der IDE's:
Zu Zeiten vor Symbian 9 war das NonPlusUltra der CodeWarrior. Entwicklungsumgebungen wie Microsoft Visual Studio 6 oder Borland X Builder waren Versuche der jeweiligen Hersteller, ebenfalls auf "den Zug aufzuspringen" aber keine wirkliche Konkurenz.

Als sich dann Symbian 9 ankündigte, hat Nokia einfach mal den Code Warrior von der Firma Metroworks aufgekauft und die Entwicklung sozusagen eingestampft und das auf Eclipse basierenden Carbide.c++ ins Leben gerufen.

Carbide.vs, war eine Zwischenlösung in der Zeit zwischen Code Warrior und Carbide.c++, wird aber auch heute noch weiter entwickelt.

Meiner Meinung nach, ist das heutige NonPlusUltra das Carbide.c++. Es bietet einfach am meisten Features für den Entwickler, erlebt die größere Plugin-Entwicklung und unterstützt alle gängigen Symbian Varianten.

Die einzigste kostenlose Enwicklungsumgebung ist das Carbide.c++ - jedoch nur in der Express Edition. Diese Express Edition bietet jedoch kein "On-Device Debugging" (Fehlersuche direkt auf dem Endgerät). Die einzige IDE, welche zusätzlich auch noch On-Device Debugging anbietet, ist der Code Warrior in der Profession Edition - wird jedoch nicht mehr weiterentwickelt und kostet auch eine ganze Menge.

Alle meine Tutorials und Tipps bassieren auf Carbide.c++.

So, das soll es an Einführung für Symbian gewesen sein - ich wünsche Euch nun viel Erflog.

Für die jenigen die nun wissen möchten wie man eine Entwicklungsumgebung aufstellt, habe ich hier eine Anleitung dazu verfasst.
 

 
LAST_UPDATED2
 
 
Weitere Links: