2010-01-25 6 views
6

Après avoir passé plusieurs années à faire du développement Symbian C++, j'aimerais savoir comment le développement de l'iPhone se compare au développement de Symbian.Comment le développement de l'iPhone se compare-t-il au développement de Symbian?

Je suis intéressé par les réponses des personnes qui ont passé du temps à travailler sur les deux plates-formes.

Pour clarifier: Exemples: Comment procédez comme suit comparer:

  • Symbian C++ vs Objective C - le premier est beurk à mon humble avis.
  • Bibliothèques Symbian vs Bibliothèques iPhone
  • émulateur - à quel point l'émulateur est proche du périphérique réel - l'émulateur Symbian est vraiment un simulateur car les bibliothèques Symbian ont été modifiées pour fonctionner sur Win32. Par exemple. un processus est un thread sur l'émulateur Symbian et pas un processus Symbian. L'émulateur est une cible de génération distincte.
  • IDE - comment se comparent-ils (par exemple éclipse ou codewarrior vs IDE iPhone pertinent)
  • documentation - comment se compare la documentation - La documentation de Symbian laisse beaucoup à désirer. Fragmentation - Il existe de nombreuses versions d'OS Symbian et des téléphones qui peuvent cibler la cible - cela peut être un vrai cauchemar de développement et de maintenance. Plus diverses saveurs de l'interface utilisateur.
  • Déployer des applications - par ex. Symbian signé/privé API/opérateurs vs quoi? sur iPhone
+0

Est-ce un objectifC pour iPhone? – zapping

+0

Triste que j'ai mentalement substitué * sybian * quand j'ai lu ceci. J'ai vraiment besoin d'en sortir plus. :) – Randolpho

+0

Ces deux questions sont liées à celui-ci: http://stackoverflow.com/questions/1414288/j2me-vs-android-vs-iphone-vs-symbian-vs-windows-ce, http: // stackoverflow. com/questions/1092144/what-mobile-plateforme-devrait-je-commencer-apprendre –

Répondre

6

Je ne l'ai jamais fait de développement de l'iPhone, mais je voudrais souligner quelques développements dans le monde Symbian qui se rapportent à certains de vos points:

Symbian C++ vs Objective C - Le premier est à mon humble avis.

Ce n'est certainement pas au goût de tout le monde! Pour le développement d'applications, Symbian C++ va devenir de moins en moins pertinent, car Qt (qui est généralement considéré comme un ensemble de bibliothèques très facile à utiliser) sera utilisé pour la prochaine génération des couches de l'application/interface utilisateur. Les couches inférieures du système d'exploitation continueront d'utiliser le dialecte Symbian de C++, mais Qt libraries for functionality such as multimedia, location and messaging sont ajoutées - donc les développeurs d'applications sont peu susceptibles d'avoir à appeler directement des API de plate-forme native.

émulateur

- la proximité est l'émulateur au périphérique réel - l'émulateur Symbian est vraiment un simulateur comme bibliothèques Symbian modifié pour fonctionner sur Win32. Par exemple. un processus est un fil sur l'émulateur Symbian et non un processus Symbian . L'émulateur est une cible de génération distincte.

Votre description de l'émulateur (processus hôte unique, cible de génération séparée) est correcte. Pour cette raison, l'émulateur est essentiellement un port du système d'exploitation à une plate-forme complètement différente (dans ce cas x86), donc ne pas modéliser un téléphone de près. Heureusement, il est progressivement éliminé et remplacé par un simulateur, comme ceux déjà inclus dans les SDK iPhone et Android.(En fait, le simulateur est basé sur la même technologie - QEMU - utilisé par Android) Comme le simulateur traduit les instructions ARM en celles comprises par l'ordinateur de bureau, les mêmes fichiers binaires peuvent être déployés sur le simulateur et sur l'appareil lui-même. Le simulateur comprend un «modèle de carte» constitué d'un certain nombre de périphériques virtuels, chacun d'entre eux mappant une partie de la machine hôte - par exemple, le dispositif audio du simulateur peut être relié à la carte son de bureau. Parce que ce modèle de carte peut être modifié, l'environnement du simulateur peut être adapté pour modéliser très étroitement un périphérique particulier, alors attendez-vous à voir les fabricants de périphériques expédier un simulateur dans leur SDK qui ressemble étroitement au périphérique physique correspondant.

IDEs - comment ils se comparent (par exemple Eclipse ou CodeWarrior vs pertinentes iPhone IDE)

CodeWarrior est assez vieux et assez grinçante IDE. Le carbure (qui est basé sur Eclipse) est meilleur, et offre un support de débogage sur périphérique raisonnablement mature (bien que pas aussi lisse à la solution XCode/iPhone). L'IDE inclus dans tous les SDK Qt (Qt Creator) est probablement le plus beau, et a été comparé à XCode en termes de facilité d'utilisation.

fragmentation - Il existe de nombreuses versions Symbian OS et les téléphones qui peuvent peut cible potentielle - cela peut être un véritable cauchemar pour le développement et l'entretien . Plus diverses saveurs de l'interface utilisateur.

Définitivement vrai dans le passé. J'espère aller mieux dans le futur. Là où il y avait autrefois plusieurs interfaces utilisateur (S60, S80 et UIQ), il n'y en a plus qu'une (actuellement basée sur S60, sur le point d'être remplacée par une interface utilisateur basée sur Qt).

+0

Je voudrais ajouter que la fragmentation, bien que ce soit un problème pour les développeurs, a également aidé Symbian à avoir une base mondiale installée qui est, quoi, 5 ou 6 fois plus gros que l'iPhone ... –