ВУРФЛ
В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
WURFL ( Wireless Universal Resource File , — это ) ( API набор собственных интерфейсов прикладного программирования ) и файла конфигурации XML который содержит информацию о возможностях и функциях различных мобильных устройств, ориентированных на обнаружение мобильных устройств. [1] [2] До версии 2.2 WURFL выпускался под лицензией «открытый исходный код/общественное достояние». [3] До версии 2.2 информация об устройствах предоставлялась разработчиками со всего мира, и WURFL часто обновлялся, отражая появление на рынке новых беспроводных устройств. В июне 2011 года основатель проекта WURFL Лука Пассани и Стив Камерман, автор Tera-WURFL, популярного PHP WURFL API, основали ScientiaMobile, Inc для предоставления коммерческой поддержки и услуг по обнаружению мобильных устройств с использованием WURFL. [4] По состоянию на 30 августа 2011 г. API-интерфейсы ScientiaMobile WURFL лицензируются по модели двойной лицензии : лицензия AGPL для некоммерческого использования и проприетарная коммерческая лицензия. Текущая версия самой базы данных WURFL больше не является открытым исходным кодом.
Подходы к решению
[ редактировать ]Существовало несколько подходов к этой проблеме, включая разработку очень примитивного контента и надежду, что он будет работать на различных устройствах, ограничение поддержки небольшим подмножеством устройств или полный обход браузерного решения и разработку клиентского приложения Java ME или BREW .
WURFL решает эту проблему, позволяя разрабатывать страницы контента с использованием абстракций элементов страницы (например, кнопок, ссылок и текстовых полей). Во время выполнения они преобразуются в соответствующие типы разметки для каждого устройства. Кроме того, разработчик может указать, что другие решения по контенту будут приниматься во время выполнения на основе конкретных возможностей и функций устройства (все они находятся в WURFL).
Облако WURFL
[ редактировать ]В марте 2012 года ScientiaMobile объявила о запуске облака WURFL. [5] Хотя WURFL Cloud является платной услугой, любителям и микрокомпаниям предоставляется бесплатное предложение для использования на мобильных сайтах с ограниченным трафиком. [6] В настоящее время облако WURFL поддерживает Java, Microsoft .NET, PHP, Ruby, Python, Node.js и языки программирования Perl. [7] [8]
WURFL и Apache, NGINX, Varnish Cache и HAProxy
[ редактировать ]В октябре 2012 года ScientiaMobile объявила о доступности C++ API, модуля Apache , модуля NGINX и модуля Varnish Cache . [9] Позже в ноябре 2016 года ScientiaMobile предоставила модуль для балансировщика нагрузки HAProxy . [10] В отличие от других API WURFL, API C++ и модули распространяются исключительно на коммерческой основе. Несколько популярных дистрибутивов Linux поддерживаются через пакеты RPM и DEB . [11]
WURFL.io
[ редактировать ]В 2014 году был запущен WURFL.io. На WURFL.io представлены некоммерческие продукты и услуги от ScientiaMobile:
- WURFL.js: служба обнаружения устройств JavaScript, которая делает обнаруженные на стороне сервера свойства (возможности WURFL) доступными для JavaScript на веб-страницах. [12]
- ImageEngine: CDN изображений на основе WURFL для оптимизации доставки изображений в Интернете. [13]
- MOVR (Mobile OverView Report), предоставляющий самую свежую статистику мобильных устройств и Интернета.
WALL, Библиотека беспроводных абстракций
[ редактировать ]WALL (Библиотека беспроводной абстракции Луки Пассани) — это JSP библиотека тегов . что позволяет разработчику создавать мобильные страницы, похожие на простой HTML, в то время как доставка WML , C-HTML и мобильного профиля XHTML на устройство, от которого исходит HTTP-запрос , в зависимости от фактических возможностей самого устройства. [14] Возможности устройства запрашиваются динамически с помощью WURFL API. Также доступен порт WALL на PHP (называемый WALL4PHP).
Поддерживаемые реализации
[ редактировать ]WURFL в настоящее время поддерживается с помощью следующего.
- Java (через СТЕНУ)
- PHP (через Tera-WURFL (управляемый базой данных), новый PHP API WURFL и WALL4PHP)
- .NET Framework (через Visual Basic/C#/любой API языка .NET и Somms.NWURFL(C#))
- Перл
- Руби
- Python (через инструменты Python)
- XSLT
- С++
- Мобильный фильтр Apache
API Tera-WURFL на основе PHP/MySQL поставляется с удаленным веб-сервисом, который позволяет запрашивать WURFL с любого языка, поддерживающего веб-сервисы XML. [15] и включает в себя клиенты для следующих языков «из коробки»:
- PHP
- Перл
- Питон
- JavaScript
- ActionScript 3 (Flash/Flex/AIR/ECMAScript)
Обновление лицензии
[ редактировать ]Обновление WURFL от 29 августа 2011 г. включало новый набор условий лицензирования. Эти условия устанавливают ряд лицензий, согласно которым может использоваться WURFL. Бесплатная версия лицензии не допускает производных работ и предотвращает прямой доступ к файлу wurfl.xml. В результате положения «без производных» пользователям больше не разрешается добавлять новые возможности устройства в файл WURFL ни напрямую, ни посредством отправки «исправлений». Для использования сторонних API с репозиторием WURFL требуется коммерческая лицензия.
3 января 2012 г. компания ScientiaMobile подала согласно DMCA уведомление об удалении базы данных устройств OpenDDR с открытым исходным кодом, содержащей данные из предыдущей версии WURFL, . Согласно OpenDDR, эти данные были доступны под лицензией GPL. [16]
22 марта 2012 года Мэтью Вейер О'Финни объявил, что Zend Framework прекратит поддержку WURFL с версии 1.12. [17] Это произошло из-за изменения лицензии, которое сделало ее несовместимой с Zend Framework . лицензией [18] поскольку новое лицензирование теперь требует, чтобы вы «открыли исходный код вашего веб-сайта, независимо от того, можете ли вы изменять WURFL API или нет». [19]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Хатем (11 февраля 2007 г.). «WURFL, универсальный файл ресурсов беспроводной связи» . phpmagazine.net . Проверено 29 декабря 2011 г.
WURFL — это проект с открытым исходным кодом, целью которого является сбор информации о конфигурациях, возможностях и функциях беспроводных устройств. [...] Файл имеет формат XML [...]
- ^ Вонг, Ричард (4 марта 2010 г.). «В мобильных устройствах фрагментация — это навсегда. Смиритесь с этим» . ТехКранч . Проверено 29 декабря 2011 г.
WURFL — универсальный файл ресурсов беспроводной сети — проект с открытым исходным кодом; «файл конфигурации, содержащий всю информацию о каждом беспроводном устройстве на земле»
- ^ «Доступен новый снимок WURFL, НО С ВАЖНЫМИ ИЗМЕНЕНИЯМИ» . 30 августа 2011 года. Архивировано из оригинала 15 июля 2012 года . Проверено 7 сентября 2013 г.
- ↑ Кришна Гуда, генеральный директор ScientiaMobile, Inc «Команда WURFL запускает ScientiaMobile» , 6 июня 2011 г., по состоянию на 27 июня 2011 г.
- ^ Пассани, Лука (13 марта 2012 г.). «Слушайте! Слушайте! Облако WURFL наконец-то здесь!» . ScientiaMobile . Проверено 25 марта 2012 г.
На протяжении многих лет многие спрашивали о доступности облака WURFL. Появление ScientiaMobile сделало это возможным.
- ^ ScientiaMobile, Inc. (19 марта 2012 г.). «ScientiaMobile запускает систему обнаружения мобильных устройств WURFL в облаке» . ПРВеб . Проверено 25 марта 2012 г.
ScientiaMobile всегда уделяла особое внимание сообществу разработчиков. Доказательством тому является тот факт, что мы поддерживаем бесплатную опцию для определенных классов пользователей. В то же время наш опыт в корпоративном мире позволил нам предоставить решение, которое подходит и крупным компаниям.
- ^ ScientiaMobile, Inc. (17 октября 2012 г.). «ScientiaMobile запускает Perl-клиент для облака WURFL» . ПРВеб.
- ^ «Начало работы с облаком WURFL» . СаентияМобайл, Инк.
- ^ Пассани, Лука (2 октября 2012 г.). «HTTP и мобильные устройства: недостающий заголовок» . ScientiaMobile . Проверено 20 октября 2012 г.
Очевидными вариантами использования являются обогащение HTTP-запроса или переменных среды новыми заголовками и значениями. Это позволяет организациям «внедрить» ценность WURFL, не нарушая (или даже не перераспределяя) существующие сайты и системы.
- ^ «Включить модуль обнаружения устройств Scientamobile WURFL» . 4 ноября 2016 г. Проверено 29 ноября 2021 г.
- ^ ScientiaMobile, Inc (2 октября 2012 г.). «Часто задаваемые вопросы по ScientiaMobile: C++ NGINX Varnish Apache» . ScientiaMobile . Проверено 20 октября 2012 г.
В отличие от API Java, .NET, PHP и БД, API и модули C++ выпускаются не по двойной лицензии, а исключительно по коммерческой лицензии. Заинтересованные лица могут узнать о лицензировании обычным способом.
- ^ «Обнаружение на стороне сервера с помощью JavaScript» . smashingmagazine.com. Июль 2014.
- ^ «ImageEngine, быстрая CDN изображений» . ImageEngine.io . ScientiaMobile.
- ^ «ВУРФЛ и СТЕНА» . palowireless.com . Проверено 29 декабря 2011 г.
Библиотека абстракций беспроводной связи (называемая WALL) — это библиотека тегов Java, которая предоставляет универсальную разметку для беспроводных устройств.
- ^ Удаленный веб-сервис . Тера-ВУРФЛ. Проверено 23 мая 2014 г.
- ^ Иден, Теренс (6 января 2012 г.). «WURFL и авторские права на базы данных» . Блог Теренса Идена . Проверено 14 августа 2023 г.
- ^ ...в связи с изменением лицензирования проекта WURFL (бесплатная версия теперь называется AGPL) мы удаляем адаптер WURFL из Zend_Http_UserAgent...
- ^ Zend Framework . Framework.zend.com. Проверено 23 мая 2014 г.
- ^ Лицензия AGPL требует, чтобы вы открыли полный исходный код вашего веб-сайта, независимо от того, можете ли вы изменять WURFL API или нет.