Подтвердить что ты не робот

Qt или Symbian С++?

Я планирую разрабатывать на Symbian-системах, но я не знаком с ним. Я знаю (может быть) самый популярный способ разработки на Symbian - Symbian С++, и я также слышал о Qt. Какая разница между ними? Если я хочу, чтобы мое приложение запускалось на большинстве систем Symbian, что я должен выбрать? Может кто-нибудь дать мне некоторые общие советы?

Спасибо ~

4b9b3361

Ответ 1

Symbian С++ - это диалект С++, на котором написана операционная система, от ядра до рамки приложения. Он отличается от стандартного С++ несколькими способами, некоторые из которых перечислены здесь:

  • Исключения не используются; Symbian использует собственный метод раскрутки стека, называемый "листья". Основная причина этого заключается в том, что стандарт С++ все еще находился в разработке, когда Symbian был создан, а исключения в то время не были широко поддерживаются компиляторами.
  • Из-за отсутствия поддержки исключений управление динамически распределенной памятью использует проприетарный механизм, называемый стек очистки.
  • Хотя порт STL теперь доступен для Symbian, это недавняя разработка, поэтому ОС имеет свои собственные классы утилиты для строк, массивов, хэшей и т.д.

Взятые вместе, это может усложнить обучение Symbian С++ даже для опытных программистов на С++. Обычно в классах очистки и строковых классах (известных как дескрипторы) добавляется довольно много накладных расходов на разработку Symbian С++.

Как и в любой операционной системе, помимо необходимости знать родной язык, вам также нужно знать свой путь вокруг библиотек, которые имеют отношение к вашей области разработки. Symbian имеет очень богатый набор библиотек, охватывающих множество функциональных возможностей (потоки, IPC, графика, мультимедиа, сетевое взаимодействие, местоположение, обмен сообщениями, PIM, телефония и т.д.). Когда вы привыкнете к идиомам Symbian С++, эти библиотеки, как правило, очень мощные и предлагают набор функций, по меньшей мере равный другим платформам. Одним из примечательных исключений является библиотека пользовательского интерфейса, известная как Avkon, которая теперь довольно устарела, если сравнивать ее с соответствующими платформами на других платформах.

Qt предназначен для решения некоторых из перечисленных выше проблем, которые, как правило, ставят людей из родной разработки на Symbian OS. В частности, он позволяет гораздо более современный стиль программирования на С++ и включает в себя очень продвинутый набор графических/пользовательских библиотек. Сегодня Qt доступен для установки на самых последних устройствах Symbian. Заглядывая в будущее, он станет основой совершенно новой прикладной структуры, которая будет представлена ​​в версии S ^ 4 платформы (ожидается быть в устройствах, отправляемых с 2011 года).

Одна вещь, которую я должен отметить, заключается в том, что на данный момент Qt не охватывает всю функциональность родных библиотек. Из вышеприведенного списка, в то время как Qt предлагает абстракции потоков, IPC, графики, мультимедиа и сетей, его основные библиотеки не включают в себя местоположение, обмен сообщениями или функциональность PIM. Таким образом, хотя вы можете использовать Qt для записи (например) FTP-клиента, программы рисования или медиаплеера, вы не можете использовать его для написания клиента обмена сообщениями. Поскольку Qt является С++, вы можете смешать его с родным Symbian С++ (например, отказаться от использования API-интерфейсов платформы для доступа к обмену сообщениями), но это несколько сложно.

Этот функциональный пробел рассматривается проектом Qt Mobility, в котором будут представлены библиотеки Qt, охватывающие такие области, как местоположение, обмен сообщениями и PIM.

В целом, если вы новичок в Symbian, Qt - это среда разработки приложений, и у этого есть дополнительное преимущество, которое вы также можете разработать приложения Qt на других платформах (так как это кросс-платформенный инструментарий).

Ответ 2

Переходим к Qt. Это будет направление, в котором все Nokia собирается. Кроме того, ваша программа, вероятно, будет работать и на Maemo/Meego.

Ответ 4

Ответ немного запоздалый, но здесь из Symbian С++ на вики разработчика Nokia:

Symbian С++, базовая среда программирования для Symbian, является идиоматический вариант С++, оптимизированный для устройств с низкой памятью. В то время как Qt теперь рекомендуемая собственная среда, создающая приложения для Symbian, мы продолжать предоставлять доступ к инструментам для работы с Symbian С++. Эта постоянная поддержка позволяет вам поддерживать устаревшие приложения и перенесите их в новейшие версии платформы Symbian.

Похоже, Qt теперь предпочтительнее, а новые проекты должны использовать Qt.