Разработка web-приложений Tizen

Основы программирования на Tizen

Показывать лекцию целиком

Tizen Web Device API, основанный на JavaScript, предоставляет расширенный доступ к аппаратным возможностям платформы. С помощью Tizen Web Device API можно создавать насыщенные Интернет-приложения, управлять жизненным циклом приложений, управлять расписанием, обмениваться данными или осуществлять платежи, используя NFC.

Ниже приводится список интерфейсов прикладного программирования Tizen.

Список интерфейсов прикладного программирования Tizen
API Описание Мобильные приложения Поддержка в мобильном эмуляторе
Tizen Common
Tizen Основной объект для доступа к Tizen Web Device API Обязательный Да
Application
Alarm Этот API предоставляет функциональные возможности для включения и отключения сигналов тревоги Обязательный Да
Application Этот API предоставляет информацию о запущенных и установленных приложений и контролирует их Обязательный Да
Data Control Этот API предоставляет интерфейсы и методы для доступа к определенным данным, экспортированным в другие приложения Обязательный Да
Package Этот API предоставляет информацию об установке/удалении пакетов и получает информацию об установленных пакетах. Обязательный Да
Communication
Bluetooth Этот API позволяет контролировать Bluetooth. Необязательный Нет
Messaging Этот API позволяет отправлять и получать SMS, MMS, E-mail Необязательный Только электронная почта
Network Bearer Selection Этот API предоставляет интерфейсы и методы пользователям для установки сетевого канала для конкретного IP-адреса. Необязательный Нет
NFC Этот API позволяет получить доступ к устройству (м) NFC Необязательный Нет
Push Этот API предоставляет возможности для получения Push уведомлений Необязательный Да
Secure Element Этот API предоставляет интерфейсы и методы для доступа к Secure Elements Необязательный Нет
Content
Content Этот API предоставляет функциональные возможности для обнаружения мультимедийного контента (например, изображений, видео или музыки) Обязательный Да
Download Этот API предоставляет интерфейсы и методы для загрузки удаленных объектов с помощью HTTP запроса Обязательный Да
Exif Этот API предоставляет интерфейсы и методы для манипулирования данными Exif из файла в формате JPEG. Обязательный Да
Input/Output
Archive Этот API предоставляет интерфейсы и методы, для создания архивного файла, а также различные другие виды манипуляции (например, извлечение файлов, добавление файлов в архивный файл). Обязательный Да
Filesystem Этот API обеспечивает доступ к файловой системе устройства. Этот API может быть устаревшими в будущем, когда W3C API смогут получать доступ к системным файлам веб-приложений. Обязательный Да
Message Port Этот API предоставляет возможности для общения с другими приложениями Обязательный Да
Multimedia
Media Key Этот API предоставляет доступ к уведомлению о том, что кнопка media нажата или высвобождена Необязательный Нет
Sound Этот API предоставляет способ управления уровнем громкости звука Обязательный Да
Social
Account Этот API предоставляет интерфейсы и методы для управления учетными записями (например, создать учетную запись, изменить данные учетной записи). Обязательный Да
Bookmark Этот API предоставляет интерфейсы и методы для доступа к закладкам. Обязательный Да
Calendar Этот API позволяет управлять информацией календаря Обязательный Да
Call History Этот API предоставляем доступ к журналу вызовов сотовой связи и VoIP звонков. Необязательный Нет
Contact Этот API позволяет управлять контактной информацией. Обязательный Да
Data Synchronization Этот API предоставляет методы для синхронизации данных с устройства на сервер, используя протокол OMA DS 1.2 Необязательный Нет
System
FM Radio Этот API предоставляет интерфейсы и методы для прослушивания FM-радио Необязательный Да
Human Activity Monitor Этот API предоставляет интерфейсы и методы для получения данных о деятельности человека от различных сенсоров на устройстве Необязательный Да Только HRM
Power Этот API предоставляет интерфейсы и методы для управления батареей Обязательный Да
Sensor Этот API предоставляет интерфейсы и методы для получения данных от различных датчиков, установленных на устройстве Необязательный Да
System Information Этот API предоставляет информацию о дисплее, сетевых устройствах, хранилище и т.д. Обязательный Да
System Setting Этот API предоставляет функциональные возможности по настройкам системы Обязательный Да
Time Этот API предоставляет информацию о дате, времени и часовых поясах Обязательный Да
Web Setting Этот API управляет настройками состояния веб-просмотра в веб-приложениях Обязательный Да
User Interface
Badge Этот API предоставляет способ отображения счетчика уведомлений (значки) на главном экране. Обязательный Да
Notification Этот API предоставляет возможность уведомления пользователя о событиях, происходящих в приложении Обязательный Да

Безопасность и привилегии API

Для эффективной защиты системы мобильных устройств и личных данных пользователей, архитектура безопасности Tizen основанная модели безопасности Linux, основанная на привилегиях и подписи приложений, включающая в себя изоляцию процессов и обязательный контроль доступа. Поскольку Tizen является открытой мобильной платформой, то она обеспечивает широкий спектр возможностей для пользователей с различными приложениями, чувствительными к безопасности.

Приложения, использующие такие чувствительные к безопасности API, должны объявлять необходимые привилегии в файле config.xml.

Если приложение вызывает привилегированное API, Tizen проверяет наличие привилегии в файле config.xml. Если привилегия в файле отсутствует, то система запрещает выполнение приложений.

Tizen IDE также обеспечивает инструменты проверки привилегий в исходном коде приложения, на предмет каких-либо нарушений привилегий.

В следующей таблице приводятся образцы привилегий, обязательных к декларированию.

Привилегии Mobile Web Device API
Привилегия Уровень Название Описание
http://tizen.org/privilege/account.read public Чтение учетной записи Приложение может читать учетную запись
http://tizen.org/privilege/account.write public Управление аккаунтами Приложение может создавать, редактировать и удалять учетные записи.
http://tizen.org/privilege/alarm public Установка будильников Установка будильника
http://tizen.org/privilege/application.info public Получение информации о приложениях Приложение может извлекать информацию, связанную с другими приложениями.
http://tizen.org/privilege/application.launch public Открытие приложений Приложение может открывать другие приложения, использующие ID приложения или управлять приложениями.
http://tizen.org/privilege/appmanager.certificate partner Получение сертификата приложения Приложение может запрашивать сертификат
http://tizen.org/privilege/appmanager.kill partner Закрытие приложения Приложение может закрывать другие приложения.

Фильтрация приложений

Платформа Tizen предоставляет широкий спектр возможностей для различных аппаратных и программных компонентов. Среди таких возможностей, есть такие, которые могут быть выборочно поддерживается производителями устройства Tizen. При размещении программы в магазине приложений необходимо корректно задать сведения о функцияъ и профиле приложения.

Фильтрация на основе функций

Некоторые функции могут выборочно поддерживаться производителями устройств Tizen. Для предотвращения проблем, связанных с запуском приложений, не поддерживающем все функции, необходимо придерживаться следующих рекомендаций:

Когда приложение работает, проверьте, поддерживает ли устройство необходимые функции. Если нет, приложение может использовать другие функции, которые поддерживаются устройством, в качестве обходного пути.

Например, если приложение хочет использовать информацию о местоположении, оно может проверить возможность использования устройства с помощью метода thegetCapability() интерфейса SystemInfo (в мобильных и носимых приложений). Если устройство поддерживает GPS, приложение может использовать информацию GPS, а, если устройство поддерживает только WPS, приложение будет использовать WPS вместо GPS.

Если файл config.xml пакета приложений включает в себя список функций, магазин Tizen будет сравнивать возможности устройства с требуемыми возможностями приложения. Магазин лишь предоставляет список приложений, чьи возможности совпадают с возможностями устройства, и, таким образом, предотвращает недопустимые приложения, которые могут быть установлены.

(рис 4.1) Фильтрация на основе возможностей

Если в списке возможностей приведены множественные возможности, то Tizen Store создаст условия фильтрации с помощью оператора AND, например, если в списке присутствуют такие свойства http://tizen.org/feature/network.nfc и http://tizen.org/feature/network.bluetooth значит устройство должно поддерживать и bluetooth и nfc.

Web Runtime

Web Runtime (WRT) engine позволяет веб-приложениям запускаться вне браузера. Вы можете инсталлировать и использовать их как отчуждаемые приложения. Web Runtime предоставляет следующие возможности:

  • Управление веб-приложениями. Содержит информацию о поддерживаемых типах веб-приложений и управляет веб-приложениями.
  • Поддержка Web Runtime API. Содержит информацию об API, и функциях, поддерживаемых Web Runtime.
  • Web Application Security and Privacy. Содержит информацию о ключах безопасности и конфиденциальности для веб-приложений.
  • Управление веб-приложениями

    Web Runtime поддерживает следующие типы веб-приложений:

  • Упакованные веб-приложения
  • Установленные на хостинге веб-приложений
  • Все веб-приложения должны быть упакованы в соответствии с рекомендациями Widget Packaging and XML Configuration guidelines. Однако, в отличие от упакованных веб-приложений, размещенных веб-приложения имеют внешне размещенный документ, в качестве начальной страницы.

    Управлять веб-приложениями можно благодаря:

  • Инсталляции веб-приложений

    Инсталляция веб-приложений должна производиться в соответствии с guidelines for processing a widget package. После инсталляции WRT посылает соответствующее уведомление.

    Web Runtime также регистрирует веб-приложения на экране в режиме ожидания устройства. Он использует значок и название веб-приложений, полученное в соответствии с правилами упаковки веб-виджетов.

    Если установка веб-приложений не удается из-за сбоя питания, Web Runtime переустанавливает ее в ходе следующего загрузки.

    Замечание:

    Веб-приложение может быть инсталлировано из Tizen Store или может быть загружено со стороны, например,через браузер или Bluetooth. Элемент <feature> игнорируется в процессе инсталляции веб-приложений Tizen.

  • Обновление веб-приложений

    WRT поддерживает обновление веб-приложений при появлении новых версий.

  • Деинсталляция веб-приложений

    WRT Поддерживает деинсталляцию веб-приложений. При этом удаляются все сохраненные данные, куки и папка локального хранилища.

  • https://developer.tizen.org/dev-guide/2.3.0/org.tizen.gettingstarted/html/details/sec_privileges.htm#web

    Вернуться к учебному плану