Frage

Seit ich ein Nokia N95 8G gekauft habe, habe ich darüber nachgedacht, mich mit der Entwicklung von Symbian zu befassen.Könnte denjenigen mit Erfahrung in der Entwicklung des Symbian-Betriebssystems ihr Gefühl für die Plattform gefallen?Ist der Einstieg schwierig, sind die Tools ausgereift usw.?

War es hilfreich?

Lösung

Ich habe etwas mehr als ein Jahr lang an der Betriebssystementwicklung von Symbian OS gearbeitet.Der allgemeine Eindruck des Systems ist, dass es sich um ein mit Fehlern behaftetes, undokumentiertes Stück Mist handelt.Das einzig Positive, was ich sagen kann, ist, dass der Betriebssystemcode selbst relativ gut den internen Codierungsstandards entspricht.Die standardmäßige CodeWarrior-IDE war Müll (obwohl Carbide, das kürzlich als Ersatz herauskam, ziemlich anständig ist, aber die kostenlose Version sehr einfach war und mehrere Versionen hinterherhinkte, zumindest vor einiger Zeit).Der Emulator war kaum nutzbar – er lief langsam, unterschied sich vom tatsächlichen Gerät und stürzte häufig ab oder blieb hängen.

Wenn Sie auf Symbian entwickeln möchten, müssen Sie sich auf viele Versuche und Irrtümer einstellen, da fast keine Dokumentation verfügbar ist, nicht einmal zu den Kernkonzepten der Umgebung.Als fiktives Beispiel wäre die Basisdokumentation für die Methode „JiggleThingy()“ „Jiggles the thingy“.Natürlich gab es auch viele Fälle, in denen sich die Implementierung deutlich von der Dokumentation unterschied.

Ein Bekannter leitete einige Jahre lang ein Unternehmen für die Entwicklung mobiler Software in Asien und entwickelte für praktisch alle Plattformen.Er erzählte mir, dass Symbian das Schlimmste von allen sei – es bereitete weitaus mehr Kopfschmerzen als jede andere mobile Plattform.

Hier dreht sich alles um die C++-Entwicklung.Die Entwicklung für Symbian mit Java bietet so eingeschränkte Funktionalität, dass ich noch nie von jemandem gehört habe, der das tatsächlich getan hat.

Andere Tipps

Wir haben in unserer Organisation eine angemessene Menge an S60-Programmierung durchgeführt, dazu viel BREW und Teile von fast allem anderen.

  • Die S60-Tools sind im Vergleich zu vielen Plattformen, die ich verwendet habe, ziemlich gut.Zum Beispiel,
  • Die Werkzeuge von BREW sind eine Schande.
  • Die S60-Plattform ist ziemlich leistungsstark.Sie können so gut wie alles tun (obwohl Sie möglicherweise durch die Unterzeichnungsanforderungen eingeschränkt sind).Java ist den Vergleich nicht einmal wert, Sie sind so in der Sandbox, dass Sie nichts tun können ...
  • Das S60-Signieren ist in Ordnung, obwohl wir ab und zu ein bisschen herumgepfuscht haben (wer hat das nicht ...)
  • Die Lernkurve ist sehr steil.Im Grunde ist es so anders.Wenn es zwei Möglichkeiten gibt, etwas zu tun, eine davon standardmäßig, dann hat sich Symbian für die andere entschieden.
  • Die Dokumentation, insbesondere im FP2, ist nicht vorhanden Das schlecht
  • Das Build-System ist so schlecht, wie alle sagen

Ich schätze, ich könnte einige der subjektiven Aspekte der Frage beantworten, da ich schon einige Jahre mit Symbian OS gearbeitet habe ;) Das werde ich jedoch nicht tun, ich werde versuchen, mich auf das zu beschränken, was ich als Fakten und nützliche Informationen ansehe .

Auf dem betreffenden Telefon läuft die Benutzeroberfläche der Nokia Series 60 (heute S60 genannt).Symbian-Telefone wurden traditionell in den Betriebssystemteil (Symbian OS v9.1, 9.2 usw.) aufgeteilt und der Telefonanbieter kauft oder entwickelt seine eigene Benutzeroberfläche.Eine bestimmte Version von s60 läuft auf einer bestimmten Version von Symbian OS.

Ein guter Ausgangspunkt für die Entwicklung Ihres Mobiltelefons ist das Nokia-Forum:http://www.forum.nokia.com/main/resources/technologies/symbian/documentation/getting_started.html

Dies deckt die UI-Teile ab.Ich sollte hinzufügen, dass UI-Anbieter viele Betriebssystemanpassungen selbst durchführen (mit unterschiedlichem Grad an Selbstkontrolle/Qualität), sodass Unterschiede bei APIs, insbesondere bei Hardware, esoterisch werden können.

Symbian selbst bietet ein ordentliches Qualitätsniveau der Dokumentation, nicht auf dem Niveau von Microsoft, aber besser als viele Open-Source-Anbieter.Eine gute Referenz ist das Symbian Developer Network:

http://developer.symbian.org

Bezüglich Werkzeug.Die Standard-Entwicklungsumgebung ist heutzutage die Carbide-Plattform von Nokia, die auf Eclipse basiert. Ich denke, man kann mit Fug und Recht sagen, dass es Ihnen gut geht, wenn Sie Eclipse ertragen können, wenn Sie es nicht können ...Also...Befehlszeilenzeit für Sie.

Carbide verfügt über geräteinternes Debugging und umfasst die Compiler für PC- und ARM-Ziele (GCC-E).

Der Großteil der App-Entwicklung erfolgt mit dem Symbian-Emulator, der Teil des SDK für Ihr Telefon von Nokia ist.

Wenn Sie bereit sind, die App auf dem Telefon zu installieren, müssen Sie sich Symbian Signed ansehen:http://www.newlc.com/new-symbian-signed-processes-are-now-availableViele Leute haben berechtigte Beschwerden darüber geäußert, dass es etwas verwirrend sein kann, aber als nichtkommerzieller Entwickler glaube ich, dass „Open Signed“ das einfachste sein soll.

Ich empfehle Python für S60 Dies ist eine gute Möglichkeit, die Möglichkeiten der Nokia S60/Symbian-Plattform zu erkunden.Es ist einfach zu bedienen und verfügt über ein leistungsstarkes API-Setup.Es gibt auch ein Buch Das deckt viele lustige Beispiele ab.Eine schöne Sache am Python SDK ist, dass Sie Code interaktiv über eine Konsole auf Ihrem PC auf dem Telefon ausführen können.

Qt für S60 bald erscheint, es gibt bereits eine nicht unterstützte Vorabversion.Vielleicht möchten Sie dort Ihre Zeit investieren, da es in Zukunft wahrscheinlich die beliebteste Benutzeroberfläche für Nokia sein wird.

Ich habe einige Anwendungsentwicklungen für Symbian C++ durchgeführt, es ist ziemlich schwierig, sich zurechtzufinden, und es ist besonders schwierig, wenn man (wie ich) zwischen mehreren Entwicklungsumgebungen wechseln muss (Palm, wenn auch jetzt nicht mehr so ​​oft, Windows Mobile, Desktop). Windows, THEOS, Linux, HTML/CSS).

Aber ich habe an vielen Orten gehört, dass es keine Dokumentation gibt, und ich fand, dass das überhaupt nicht wahr ist.In manchen Fällen gab es zu viel Dokumentation und die darin enthaltenen Inhalte waren für einen Neuling zu kompliziert.Der Beispielcode war derselbe – es gibt jede Menge davon, aber es ist schwierig herauszufinden, welche Teile des Codes welche Funktion steuern.

Ich weiß jedoch, dass es recht einfach ist, einige ziemlich beeindruckende Apps zu erstellen, wenn man sich erst einmal damit beschäftigt hat.Es gibt eine gute Community im Forum Nokia (oben erwähnt) und ich bekomme Inspiration durch Gespräche mit einigen der Entwickler, die sie auf der Smartphone-Messe in London vorstellen.Wenn Sie die Zeit übrig haben, lohnt es sich, dorthin zu gehen und einen Blick darauf zu werfen, denn Sie sind nicht allzu weit entfernt, denn Ende Oktober findet es statt.Keineswegs eine riesige Show, aber einen Blick wert.

Der Ruf der Symbian OS C++-Entwicklung als unfreundlich (gelinde ausgedrückt) ist unbestreitbar.Andererseits ist die Plattform auch äußerst leistungsstark.

Wenn Sie nur persönliche Programme oder kleine Freeware/Shareware programmieren möchten, könnte eine andere Plattform besser für Sie geeignet sein.Wenn Sie auf der Suche nach einem Betriebssystem sind, das eine professionelle Karriere in der Softwareentwicklung unterstützt, sind Symbian, J2ME und in geringerem Maße auch Linux die beste Wahl.

Die Dokumentation und Tools von Symbian entwickeln sich mit jeder neuen Version weiter.Die Verwendung von Symbian OS C++ wird immer einfacher (aber es liegt noch ein langer Weg vor uns).

Eine kleine relevante Anzeige:Symbian Press neuester Versuch, Entwicklern das Symbian-Ökosystem näher zu bringen.

http://www.quickrecipesonsymbianos.com

Es kann als 80-stündiger Schritt-für-Schritt-Kurs genutzt werden.

Als Vorwarnung versuchen wir, subjektive Fragen zu vermeiden FAQ

Welche Fragen soll ich hier nicht stellen?

Vermeiden Sie es, solche Fragen zu stellen subjektiv, argumentativ oder verlängerte Diskussion.Dies ist ein Ort für Fragen, die beantwortet werden können!

Jetzt bist du neu, also ist es in Ordnung :)

Zu Ihrer Frage würde ich sagen:

  • Wen interessiert es schon, wenn es schwer ist? Wenn du etwas tun willst, krempel die Ärmel hoch und tu es. Je schwieriger es ist, desto lohnender wird es sein!
  • Ich bin kein Symbian OS-Entwickler (sobald ich einen PDA habe, werde ich mich vielleicht mit .NET CF beschäftigen), aber ich würde sagen, dass es mobile Apps sind Wirklich Da die Nutzung Ihrer Software zunimmt, werden mittlerweile viele Apps zusammen mit einer mobilen App veröffentlicht, um Menschen in Verbindung zu halten und Ihre Software zu nutzen.Je mehr Leute es nutzen = mehr Geschäft!
  • Mit Blick auf die Wikipedia-Seite hier Ich würde sagen, es gibt viele Optionen für IDEs und Plattformen, gegen die man tatsächlich entwickeln kann, großartig!

Symbian unterscheidet sich vielleicht ein wenig von dem, was Sie vielleicht gewohnt sind, aber es ist eine stabile Plattform (über 200 Millionen Geräte) und die Tools sind ausgereift.

Carbide ist sehr gut, besonders wenn Sie Eclipse schon einmal verwendet haben.

Eine erste Anlaufstelle, bevor Sie mit der Symbian-Programmierung beginnen, ist hier: http://descriptors.blogspot.com/

Deskriptoren sind Symbians-Strings.Sie sind sehr effizient, unterscheiden sich jedoch ein wenig von vielen anderen String-Implementierungen.

Schauen Sie sich NS Basic/Symbian OS an.Es bietet eine Visual Basic-ähnliche Umgebung.Es ist ziemlich einfach zu bedienen und umgeht viele der Probleme, die Symbian OS verursacht.Apps laufen ohne Änderungen sowohl auf S60 3rd Edition- als auch auf UIQ3-Geräten.

http://www.nsbasic.com/symbian

Ich würde empfehlen, es auszuprobieren Superwaba, es handelt sich um eine plattformübergreifende Entwicklungsplattform für PDAs, die eine Java-ähnliche Sprache verwendet, sodass der Einstieg recht einfach ist.

Heute ist Nokia Qt SDK 1.0 freigegeben.Allerdings bezweifle ich die Zukunft von Nokia, das sich mit seinem N8, das schon vor der Markteinführung vom iPhone 4 überholt wurde, dem ohnehin schon herausfordernden Mobilfunkmarkt stellen muss.Sogar sie selbst geht in die Richtung eines Geständnisses Das.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top