WURFL - WURFL

Wurfl logo main 114px.png

WURFL (Wбезжалостный Uуниверсальный ристочник FяLд) представляет собой набор проприетарных интерфейсы прикладного программирования (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 или же Заваривать клиентское приложение.

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

WURFL Облако

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

WURFL и Apache, NGINX и Varnish Cache

В октябре 2012 года ScientiaMobile объявила о доступности C ++ API, Apache модуль, NGINX модуль и Varnish Cache модуль.[9] В отличие от других WURFL API, C ++ API и модули распространяются исключительно на коммерческой основе. Несколько популярных дистрибутивов Linux поддерживаются через Об / мин и DEB пакеты.[10]

WURFL.io

В 2014 году был запущен WURFL.io. WURFL.io предлагает некоммерческие продукты и услуги от ScientiaMobile:

  • WURFL.js: служба обнаружения устройств JavaScript, которая делает обнаруженные на стороне сервера свойства (возможности WURFL) доступными для JavaScript на веб-страницах.[11]
  • ImageEngine: CDN образов на основе WURFL для оптимизации доставки изображений в Интернете. [12]
  • MOVR (Mobile OverView Report) предоставляет самую свежую статистику для мобильных устройств и Интернета.

WALL, Беспроводная библиотека абстракции

WALL (Беспроводная библиотека абстракций Луки Пассани) - это JSP библиотека тегов что позволяет разработчику создавать мобильные страницы, похожие на обычный HTML, при этом WML, C-HTML и Мобильный профиль XHTML к устройству, с которого HTTP-запрос возникает в зависимости от реальных возможностей самого устройства.[13] Возможности устройства запрашиваются динамически с помощью WURFL API. Также доступен порт WALL на PHP (называемый WALL4PHP).

Поддерживаемые реализации

WURFL в настоящее время поддерживается следующими способами.

  • Ява (через СТЕНУ)
  • PHP (через Tera-WURFL (управляемый базой данных), новый WURFL PHP API и WALL4PHP)
  • .NET Framework (через Visual Basic / C # / любой API-интерфейс .NET и Somms.NWURFL (C #))
  • Perl
  • Рубин
  • Python (через инструменты Python)
  • XSLT
  • C ++
  • Мобильный фильтр Apache

API Tera-WURFL на основе PHP / MySQL поставляется с удаленным веб-сервисом, который позволяет запрашивать WURFL с любого языка, поддерживающего веб-службы XML.[14] и включает клиентов для следующих языков из коробки:

  • PHP
  • Perl
  • Python
  • JavaScript
  • ActionScript 3 (Flash / Flex / AIR / ECMAScript)

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

Обновление WURFL от 29 августа 2011 г. включало новый набор условий лицензирования. Эти условия устанавливают ряд лицензий, по которым может использоваться WURFL. Бесплатная версия лицензии не позволяет создавать производные работы и запрещает прямой доступ к файлу wurfl.xml. В результате пункта «без производных» пользователям больше не разрешается добавлять новые возможности устройства в файл WURFL ни напрямую, ни посредством отправки «патчей». Для использования сторонних API с репозиторием WURFL требуется коммерческая лицензия.

3 января 2012 года ScientiaMobile подала DMCA уведомление об удалении базы данных устройств с открытым исходным кодом OpenDDR, которая содержит данные из предыдущей версии WURFL. Согласно OpenDDR, эти данные были доступны по лицензии GPL.[15]

22 марта 2012 года Мэтью Вейер О'Финни объявил, что Zend Framework прекратит поддержку WURFL с версии 1.12.[16] Это произошло из-за изменения лицензии, которая делает ее несовместимой с Zend Framework с лицензирование[17] поскольку новое лицензирование теперь требует, чтобы вы «открыли полный исходный код вашего веб-сайта, независимо от того, можете вы изменять WURFL API или нет».[18]

Смотрите также

Рекомендации

  1. ^ Хатем (11 февраля 2007 г.). "WURFL, беспроводной универсальный файл ресурсов". phpmagazine.net. Получено 29 декабря, 2011. WURFL - это проект с открытым исходным кодом, целью которого является сбор информации о конфигурациях, возможностях и функциях беспроводных устройств. [...] Файл в формате XML [...]
  2. ^ Вонг, Ричард (4 марта 2010 г.). «В мобильных устройствах фрагментация - навсегда. Смирись с этим». TechCrunch. Получено 29 декабря, 2011. WURFL - беспроводной универсальный файл ресурсов - проект с открытым исходным кодом; "файл конфигурации, содержащий всю информацию обо всех беспроводных устройствах на Земле"
  3. ^ "Доступен новый снимок WURFL, НО С ВАЖНЫМИ ИЗМЕНЕНИЯМИ". 30 августа 2011 г.. Получено 7 сентября 2013.
  4. ^ Кришна Гуда, генеральный директор ScientiaMobile, Inc. «Команда WURFL запускает ScientiaMobile», 6 июня 2011 г., по состоянию на 27 июня 2011 г.
  5. ^ Пассани, Лука (13 марта 2012 г.). «Слушайте! Слушайте! Наконец-то WURFL Cloud здесь!». ScientiaMobile. Получено 25 марта, 2012. Многие спрашивали о доступности WURFL Cloud на протяжении многих лет. Появление ScientiaMobile сделало это возможным.
  6. ^ ScientiaMobile, Inc. (19 марта 2012 г.). «ScientiaMobile запускает обнаружение мобильных устройств WURFL в облаке». PRWeb. Получено 25 марта, 2012. ScientiaMobile всегда уделяла особое внимание сообществу разработчиков. Доказательством этого является то, что мы поддерживаем бесплатную опцию для определенных классов пользователей. В то же время наш опыт в корпоративном мире позволил нам предоставить решение, которое «сокращает его» и для крупных компаний.
  7. ^ ScientiaMobile, Inc. (17 октября 2012 г.). «ScientiaMobile запускает клиент Perl для облака WURFL». PRWeb.
  8. ^ «Приступая к работе с WURFL Cloud». ScientiaMobile, Inc.
  9. ^ Пассани, Лука (2 октября 2012 г.). «HTTP и мобильные устройства: отсутствующий заголовок». ScientiaMobile. Получено 20 октября, 2012. Обогащение HTTP-запроса или переменных среды новыми заголовками и значениями - очевидные варианты использования. Это позволяет организациям «внедрить» ценность WURFL без нарушения (или даже без повторного развертывания) существующих сайтов и систем.
  10. ^ ScientiaMobile, Inc (2 октября 2012 г.). "ScientiaMobile FAQ: C ++ NGINX Varnish Apache". ScientiaMobile. Получено 20 октября, 2012. В отличие от API Java, .NET, PHP и DB, API и модули C ++ выпускаются не по двойной лицензии, а исключительно по коммерческой лицензии. Заинтересованные лица могут узнать о лицензировании обычным способом.
  11. ^ «Обнаружение на стороне сервера с помощью JavaScript». smashingmagazine.com.
  12. ^ "ImageEngine, сеть быстрой передачи изображений". ImageEngine.io. ScientiaMobile.
  13. ^ "ВУРФЛ и СТЕНА". palowireless.com. Получено 29 декабря, 2011. Библиотека беспроводных абстракций (называемая WALL) - это библиотека тегов Java, которая дает универсальную разметку для беспроводных устройств.
  14. ^ Удаленный веб-сервис. Тера-ВУРФЛ. Проверено 23 мая 2014.
  15. ^ Теренс Иден: WURFL и авторские права на базу данных, 2012-01-06
  16. ^ ... из-за изменения лицензирования проектом WURFL - теперь бесплатная версия называется AGPL - мы удаляем адаптер WURFL из Zend_Http_UserAgent ...
  17. ^ Zend Framework. Framework.zend.com. Проверено 23 мая 2014.
  18. ^ Лицензия AGPL требует, чтобы вы открыли полный исходный код своего веб-сайта, независимо от того, можете вы изменять API WURFL или нет.

внешняя ссылка