Russian Qt Forum

Разное => Новости Qt сообщества => Тема начата: pastor от Декабрь 18, 2009, 23:57



Название: Библиотека Qt портирована для работы внутри web-браузера
Отправлено: pastor от Декабрь 18, 2009, 23:57
Мортен Сорвиг (Morten Sorvig) из компании Nokia сообщил об успешном опыте портирования библиотеки Qt для работы под управлением фреймворка Google Native Client и запуске первых тестовых qt-виджетов в окне web-браузера. Например, продемонстрирован запуск небольшой игры, написанной с задействованием классов QWindowSurface и QGraphicsSystem. При создании порта использован представленный в октябре инструментарий Lighthouse, созданный с целью значительного упрощения переноса Qt на новые платформы.

В текущем состоянии Qt порт для Native Client находится на стадии, позволяющей скомпилировать модули QtCore и QtGui, работают таймеры, ввод данных через клавиатуру и мышь. Так как Native Client не поддерживает загрузку внешних шрифтов Qt может использовать лишь базовый системный шрифт. С небольшими ограничениями поддерживается работа виджетов, написанных с использованием классов QGraphicsView, QPainter, QThread. Из нерешенных пока проблем отмечается 100% загрузка CPU при выполнении Qt программ, что связано с поддержкой в Native Client только модели обработки событий через пуллинг. Для того, чтобы оценить новый порт в действии достаточно установить Native Client и собрать Qt из специальной ветки в Git-репозитории (git://gitorious.org/qt-labs/nacl.git), следуя подготовленному руководству.

Фреймворк Native Client позволяет выполнять в окне web-браузера обычные бинарные приложения, ограниченные в специальном изолированном окружении. В отличии от похожих проектов инструкции при работе программы в Native Client не преобразуются в байткод виртуальной машины, а выполняются как есть, с максимально возможной производительностью (потеря производительности не более 5%). Безопасность в Native Client достигается через изоляцию системных вызовов и прерываний - разрешено выполнение 46 системных вызовов, остальное либо запрещено, либо эмулируется специальным runtime кодом. Сетевые и дисковые функции, а также операции для работы с памятью, обрабатываются специальной подсистемой. Обращение за пределы дозволенных областей памяти блокируются через задействования системы обработки исключений CPU.

С точки зрения разработчика окружение Native Client выглядит как небольшая операционная система со своим, основанным на GCC, инструментарием для кросс-компиляции, частичной поддержкой POSIX и базовым мультимедийным API, который можно использовать для работы с аудио и видео, обрабатываться события от мыши и клавиатуры. Также доступен ряд свойственных web-приложениям функций, таких как загрузка внешней страницы. В этом плане Native Client позволяет организовать выполнение тех же функций, что может обычное web-приложение на JavaScript.

Ссылка на новость (http://labs.trolltech.com/blogs/2009/12/17/take-it-with-a-grain-of-salt/)

Взято с opennet.ru


Название: Re: Библиотека Qt портирована для работы внутри web-браузера
Отправлено: lit-uriy от Декабрь 19, 2009, 10:25
что-то сильно наворочено, я устал клонировать всё это добро.
QWebClient был заметно проще.