Ответ 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 на других платформах (так как это кросс-платформенный инструментарий).