Я никогда не занимался разработкой для 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).