Введение

Набор интерфейсов программирования приложений WURFL (Wireless Universal Resource FiLe) - это набор проприетарных интерфейсов программирования приложений (API) и файл конфигурации XML, который содержит информацию о возможностях и функциях устройства для различных мобильных устройств, ориентированных на обнаружение мобильных устройств. До версии 2.2 WURFL выпускался под лицензией "открытого исходного кода / общественного достояния". До версии 2.2 информацию о устройствах предоставляли разработчики по всему миру, а WURFL часто обновлялся, отражая новые беспроводные устройства, появляющиеся на рынке. В июне 2011 года основатель проекта WURFL, Лука Пасани, и Стив Камерман, автор Tera WURFL, популярного PHP WURFL API, создали ScientiaMobile, Inc, чтобы предоставить поддержку и услуги обнаружения коммерческих мобильных устройств с использованием WURFL. С 30 августа 2011 года API ScientiaMobile WURFL лицензируются по модели двойной лицензии, используя лицензию AGPL для некоммерческого использования и проприетарную коммерческую лицензию. Текущая версия базы данных WURFL больше не является открытым исходным кодом.

Подходы к решению

Существует несколько подходов к этой проблеме, включая разработку очень примитивного контента и надежду, что он будет работать на различных устройствах, ограничение поддержки небольшим подмножеством устройств или обход браузерного решения в целом и разработку клиентского приложения Java ME или BREW. WURFL решает эту проблему, позволяя разрабатывать страницы содержимого с использованием абстракций элементов страницы (например, кнопок, ссылок и текстовых ящиков). Во время выполнения они преобразуются в соответствующие, специфические типы разметки для каждого устройства. Кроме того, разработчик может определить, что другие решения о контенте будут приниматься во время выполнения на основе специфических возможностей и функций устройства (которые все находятся в WURFL).

Облако WURFL

В марте 2012 года ScientiaMobile объявила о запуске WURFL Cloud. В то время как WURFL Cloud является платным сервисом, для любителей и микрокомпаний предлагается бесплатная версия для использования на мобильных сайтах с ограниченным трафиком. В настоящее время WURFL Cloud поддерживает Java, Microsoft NET, PHP, Ruby, Python, Node. js и языки программирования Perl

WURFL и Apache, NGINX, Varnish Cache и HAProxy

В октябре 2012 года ScientiaMobile объявила о наличии API C ++, модуля Apache, модуля NGINX и модуля Varnish Cache. Позже, в ноябре 2016 года, ScientiaMobile предоставила модуль для балансировщика нагрузки HAProxy. В отличие от других WURFL API, C++ API и модули распространяются исключительно коммерчески. Несколько популярных дистрибутивов Linux поддерживаются через пакеты RPM и DEB.

WURFL.io

В 2014 году WURFL. Я был запущен. ВУРФЛ. В нем представлены некоммерческие продукты и услуги ScientiaMobile: WURFL. js: служба обнаружения устройств JavaScript, которая делает обнаруженные свойства серверной стороны (возможности WURFL) доступными для JavaScript на веб-страницах. ImageEngine: WURFL-подразделение Image CDN для оптимизации доставки изображений в Интернете. MOVR (Mobile OverView Report), предоставляющий последние данные в области мобильной и веб-статистики.

Обновление лицензии

Обновление WURFL от 29 августа 2011 года включало новый набор лицензионных условий. Эти условия определяют ряд лицензий, на основании которых WURFL может использоваться. Свободная версия лицензии не разрешает производные работы и препятствует прямому доступу к wurfl. Файл XML. В результате положения "нет производных", пользователям больше не разрешается добавлять новые возможности устройства в файл WURFL либо непосредственно, либо через представление "патчей". Для использования сторонних API-интерфейсов с репозиторием WURFL требуется коммерческая лицензия. 3 января 2012 года ScientiaMobile подала уведомление о снятии с учета по DMCA против базы данных устройств с открытым исходным кодом OpenDDR, которая содержит данные из предыдущей версии WURFL. Согласно OpenDDR, эти данные были доступны под GPL. 22 марта 2012 года Мэтью Вайер О'Финни объявил, что Zend Framework прекратит поддержку WURFL с версии 1.12. Это было связано с изменением лицензии, которое делает его несовместимым с лицензированием Zend Framework, поскольку новое лицензирование теперь требует, чтобы вы "открыли полный исходный код вашего веб-сайта, независимо от того, можете ли вы модифицировать WURFL API или нет".