Новость из категории: Информация

Qt: внедрение Phonon, QtMultimedia и WebKit

Содержание:
1. Появление KDE и лицензирование Qt;
2. Внедрение Phonon, QtMultimedia и WebKit (Вы читаете данный раздел).
Qt: внедрение Phonon, QtMultimedia и WebKit

Росла популярность Linux, KDE и Qt. KDE показывала миру возможности Qt, Qt предоставляла эти возможности. В 2001 году Trolltech выпускает Qt 3.0 уже для трех платформ: UNIX, Windows, Mac. При этом GPL-код для Windows станет доступным только с четвертой версии Qt, в 2005 году. Постепенно из легкой и от-точенной библиотеки на C++ тулкит Qt превращается в силача-тяжелоатлета и обрастает мускулами. Нужны ли эти мускулы?.. Количество внешнего кода возрастает. Открыты двери для интересных гостей, которые пропишутся навсегда. Два таких крупных гостя - это Phonon и WebKit.

Звуковой движок Phonon родился в недрах KDE (перед выпуском KDE 4) как замена старому - aRts. В свое время разработчики Amarok очень радовались появлению Phonon. С другой стороны, пользователи очень долго ругали, когда выяснилось, что с Phonon хваленая легкость программирования звуковых приложений имеет обратную сторону медали - убожество функциональности. В самом деле, при помощи Phonon можно запросто воспроизвести звуковой файл - например, в каком-нибудь пасьянсе. Но Phohon не предоставляет прямой доступ к звуковому сигналу, поэтому сходу для Phonon не напишешь ни эквалайзера, ни даже прыгающих индикаторов уровня громкости - надо искать обходные пути. Для сколько-нибудь серьезной работы со звуком Phonon не годился. Но разработчики Qt взяли и добавили Phonon в свою библиотеку, начиная с версии 4.4, и случилось это совсем недавно - в 2008 году. Phonon в разной степени работал в разных версиях Qt, его было трудно собирать под Windows при помощи MinGW, но внутри Qt он продолжал жить не будучи востребованным. То есть, был Phonon в KDE и был Phonon в Qt. Зачем?..

Продолжая тащить на себе этот груз, спустя два года Qt (4.6) обзаводится еще одним мультимедийным API в образе модуля QtMultimedia, который интриговал описанием: «low-level multimedia functionality» (низкоуровневая мультимедийная функциональность). Примеры к API были в духе примеров к Phonon: «Смотрите, как просто! Всего парой строк мы воспроизводим мультимедийный файл!» Но и QtMultimedia не востребован программистами. Он был введен в API Qt, когда Qt уже принадлежала Nokia. И нужда появилась при добавлении поддержки мультимедийной подсистемы S60...

Qt: внедрение Phonon, QtMultimedia и WebKit

Теперь о WebKit: жил-был движок веб-браузера - интересное само по себе явление, уходящее корнями в другой проект KHTML из KDE. WebKit - это фактически движимый корпорациями форк KHTML. В числе основных игроков - Apple, Nokia, Google, RIM, Palm, Samsung. WebKit попал в поле зрения разработчиков Qt еще до «эпохи Nokia». До этого были только средства для рендеринга несложных веб-страниц. Но зачем включать в библиотеку целый сторонний продукт и писать под него оболочку классов для Qt? Зачем брать WebKit, который разработчики из Apple «отвязали» от KHTML, если существует KHTML, привязанный к Qt? Лично я не вижу пользы от решения включить WebKit в Qt и поддерживать его от версии к версии. Если Qt нужно средство отображения вебстраниц, то для каких целей? Для справочной системы? С этим Qt справлялась своими силами и раньше. Создание браузеров? Покажите мне такой браузер: Arora, разработка которого угасла в прошлом году? Или «глючный» WebKit-режим в Konqueror? Может быть, несколько «домашних» веб-браузеров на http://qt-apps. org/? Не в обиду им будет сказано, но эти программы используют только готовые возможности Qt и WebKit, то есть простой интерфейс, к которому привязывается веб-движок. Складывается впечатление, что QtWebKit интересен только разработчикам Qt...

Рейтинг статьи

Оценка
5/5
голосов: 2
Ваша оценка статье по пятибальной шкале:
 
 
   

Поделиться

Похожие новости

Комментарии

^ Наверх