Google развивает средства создания высокопроизводительных Android-приложений на языке Dart
3 мая 2015 года
Разработчики из компании Google продемонстрировали на конференции Dart Developer Summit проект по организации разработки приложений для платформы Android с использованием языка программирования Dart. Проект пока носит экспериментальный характер, но связанный с ним инструментарий уже опубликован на GitHub под именем Sky SDK.
Создаваемые при помощи Sky SDK приложения формируются только на языке Dart, без использования Java, и нацелены на обеспечение высокой производительности и плотной интеграции с Web. Перед проектом поставлены достаточно амбициозные цели по обеспечению отрисовки со скоростью 120 кадров в секунду, что в два раза превышает сегодняшние возможности экранов обычных мобильных устройств, которые могут обновляться с частой 60 Гц. С учетом того, что многие приложения могут лишь мечтать о выводе с частотой 60FPS, заявления о 120FPS выглядят фантастично. Отрисовка с частотой 60FPS подразумевает вывод кадра каждые 16 мс, если кадр не успеет сформироваться за этот промежуток, пользователь столкнётся с "заиканием" анимации.
Разработчики Sky подготовили демонстрационное приложение, в котором на отрисовку кадра тратится всего 1.2 мс, что даёт повод рассчитывать, что для реальных более сложных приложений вполне возможно обеспечить вывод гладкой анимации с гарантированным временем отрисовки кадра за 8 мс, что соответствует 120FPS. Для борьбы с "заиканием" графики и притормаживанием интерфейса, Sky изначально построен на исключающей блокировки архитектуре - нить для обработки интерфейса выполняется отдельно от нити приложения, что позволяет сохранить быстрый и отзывчивый интерфейс даже во время интенсивных вычислений.
В целевой пакет помещаются только связанные с запуском приложения компоненты, само приложение может быть загружено через Web, по аналогии с web-приложениями. Минусом такого подхода является привязка к наличию сетевого соединения, а плюсом - доступ к всегда актуальной версии программы. При этом создаваемые в Sky приложения не привязаны к Android и потенциально могут быть запущены в iOS и любых других системах для которых имеется Dart VM, достаточно подготовить для каждой платформы свой runtime.
Sky SDK состоит из двух частей. Первым компонентом является написанный на языке C++ движок Sky (Sky engine), предоставляющий ключевые примитивы, такие как графическая система и планировщик задач с поддержкой работы в режиме мягкого реального времени. Вторым компонентом выступает фреймворк Sky, в котором реализованы средства для создания приложений, такие как наборы виджетов и механизмы реализации анимации. Sky framework функционирует поверх Sky engine и построен с использованием языка Dart.
Приложения могут обращаться к службам операционной системы через Mojo IPC. Например, для доступа к сетевым возможностям предоставляется интерфейс network_service.mojom. Несмотря на то, что разработчики могут при помощи данного механизма обращаться к низкоуровневым интерфейсам напрямую, предпочтительным вариантом является использование специально подготовленных библиотечных обвязок.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.