Как разработка iPhone сравнивается с разработкой Symbian? - PullRequest
6 голосов
/ 25 января 2010

Потратив несколько лет на разработку Symbian C ++, я бы хотел узнать, как разработка iPhone сравнивается с разработкой для Symbian.

Мне интересны ответы людей, которые потратили некоторое время на работу на обеих платформах.

Чтобы уточнить: Примеры: Как сравнивать следующее:

  • Symbian C ++ vs Objective C - первое это противный ИМХО.
  • Библиотеки Symbian против библиотек iPhone
  • эмулятор - насколько близко эмулятор к реальному устройству - эмулятор Symbian действительно симулятор, так как библиотеки Symbian модифицированы для работы на Win32. Например. процесс - это поток в эмуляторе Symbian, а не процесс Symbian. Эмулятор является отдельной целью сборки.
  • IDE - как они сравниваются (например, eclipse или codewarrior против соответствующей iPhone IDE)
  • Документация - как сравнить документацию - Документация Symbian оставляет желать лучшего.
  • поддержка сообщества
  • фрагментация - существует множество версий и телефонов Symbian OS, которые могут стать потенциальными целями - это может стать настоящим кошмаром для разработки и обслуживания. Плюс различные вкусы UI.
  • развертывание приложений - например, Подписанные / частные API / операторы Symbian против чего? на iPhone

1 Ответ

6 голосов
/ 25 января 2010

Я никогда не занимался разработкой для iPhone, но я хотел бы отметить несколько событий в мире Symbian, которые касаются некоторых из ваших пунктов:

Symbian C ++ vs Objective C - первое - противная ИМХО.

Это, конечно, не всем по вкусу! Для разработки приложений Symbian C ++ будет становиться все менее и менее актуальным, так как Qt (который обычно рассматривается как очень удобный набор библиотек) будет использоваться для следующего поколения инфраструктуры приложений / пользовательского интерфейса слои. Нижние уровни ОС будут продолжать использовать диалект Symbian C ++, но добавляются библиотеки Qt для таких функций, как мультимедиа, расположение и обмен сообщениями , поэтому разработчикам приложений вряд ли придется напрямую вызывать собственную платформу API-интерфейсы.

эмулятор - насколько близко эмулятор к реальному устройству - Symbian эмулятор действительно симулятор Библиотеки Symbian, модифицированные для запуска Win32. Например. процесс - это поток эмулятор Symbian, а не Symbian процесс. Эмулятор отдельный построить цель.

Ваше описание эмулятора (один хост-процесс, отдельная цель сборки) верное. Из-за этого эмулятор по сути является портом ОС для совершенно другой платформы (в данном случае x86), поэтому совсем не моделирует телефон. К счастью, его постепенно отключают и заменяют имитатором, подобным тем, которые уже включены в SDK для iPhone и Android. (Фактически, симулятор основан на той же технологии - QEMU - используемой Android). Поскольку симулятор переводит инструкции ARM в те, которые понятны настольному компьютеру, одни и те же двоичные файлы могут быть развернуты как для симулятора, так и для симулятора. на само устройство.

Симулятор включает в себя «модель платы», состоящую из ряда виртуальных периферийных устройств, каждая из которых отображает часть хост-машины - так, например, аудиоустройство симулятора может быть подключено к звуковой карте рабочего стола. Поскольку эта модель платы может быть изменена, среда симулятора может быть адаптирована для очень точного моделирования конкретного устройства, поэтому ожидайте, что производители устройств отправят имитатор в свой SDK, который очень похож на соответствующее физическое устройство.

IDE - как они сравниваются (например, затмение или Codewarrior против соответствующих iPhone IDE)

CodeWarrior - довольно старая и довольно скрипучая IDE. Carbide (который основан на Eclipse) лучше и предлагает достаточно развитую поддержку отладки на устройстве (хотя и не так гладко в решении XCode / iPhone). IDE, включенная во все Qt SDK ( Qt Creator ), вероятно, самая хорошая и была сравнена с XCode с точки зрения удобства использования.

фрагментация - есть много Symbian Версии ОС и телефоны, которые могут потенциальная цель - это может быть реальным кошмар разработки и сопровождения. Плюс различные вкусы UI.

Определенно верно в прошлом. Надеюсь, в будущем станет лучше. Там, где когда-то было несколько UI (S60, S80 и UIQ), теперь есть только один (в настоящее время на основе S60; собирается заменить на UI на основе Qt).

...