Платформа Symbian OS S60

Отсюда я прочитал, что S60 в настоящее время является одной из ведущих платформ для смартфонов в мире.
Однако я не могу понять:

  • Что делает S60, зачем нужна платформа, когда уже существует базовая ОС Symbian?
  • Если я пишу приложения на Symbian C++ или Java ME, это для ОС Symbian или для платформы S60?
  • Могу ли я напрямую писать приложения для Symbian OS, минуя слой S60.

2 ответа

Решение

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

S60 - одна из этих надстроек, изначально разработанная для телефонов, предназначенных для использования одной рукой с клавиатурой. Помимо Symbian OS были и другие инфраструктуры пользовательского интерфейса, например Nokia Series 80 и Series 90, UIQ и MOAP (S).

Теперь, когда Symbian переходит на режим работы Symbian Foundation, S60 и Symbian OS по существу объединены в одну платформу Symbian Foundation. Другие структуры пользовательского интерфейса были прекращены. Но устройства, представленные в настоящее время на рынке, по-прежнему отличаются от Symbian OS и S60.

  • Если я пишу приложения на Symbian C++ или Java ME, это для ОС Symbian или для платформы S60?
  • Могу ли я напрямую писать приложения для Symbian OS, минуя слой S60.

Зависит от того, какие API вы используете.

С Java ME проще писать приложения, которые не зависят от надстроек, специфичных для S60. В C++ вполне вероятно, что вы хотите использовать некоторый пользовательский интерфейс для своего приложения и, следовательно, должны использовать S60 Avkon UI. Хотя, если вы хотите больше независимого от платформы пользовательского интерфейса для своего приложения C++, взгляните на Qt для S60.

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

Теоретически S60 представляет собой UI-фреймворк (Avkon) и набор приложений, где в качестве Symbian OS предоставляются основные сервисы ОС. На практике это сложнее, потому что S60 также имеет промежуточное программное обеспечение и другие сервисы, не ограниченные только элементами пользовательского интерфейса.

В Symbian есть универсальный UI-интерфейс, но я не думаю, что он используется очень часто. Также в мире Symbian в значительной степени доминирует S60 за пределами Японии (которая имеет свою собственную среду под названием MOAP).

Не уверен насчет вопроса о Java.

Это зависит от того, что делает ваше приложение, обходя ли оно S60. Вы можете написать очень простые приложения и сервисы уровня ОС без каких-либо зависимостей от S60.

Другие вопросы по тегам