Введение
Набор интерфейсов программирования приложений 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 больше не является открытым исходным кодом.
WURFL (Wireless Universal Resource FiLe) is a set of proprietary application programming interfaces (APIs) and an XML configuration file which contains information about device capabilities and features for a variety of mobile devices, focused on mobile device detection. Until version 2.2, WURFL was released under an "open source / public domain" license. Prior to version 2.2, device information was contributed by developers around the world and the WURFL was updated frequently, reflecting new wireless devices coming on the market. In June 2011, the founder of the WURFL project, Luca Passani, and Steve Kamerman, the author of Tera WURFL, a popular PHP WURFL API, formed ScientiaMobile, Inc to provide commercial mobile device detection support and services using WURFL. As of August 30, 2011, the ScientiaMobile WURFL APIs are licensed under a dual license model, using the AGPL license for non commercial use and a proprietary commercial license. The current version of the WURFL database itself is no longer open source.
Подходы к решению
Существует несколько подходов к этой проблеме, включая разработку очень примитивного контента и надежду, что он будет работать на различных устройствах, ограничение поддержки небольшим подмножеством устройств или обход браузерного решения в целом и разработку клиентского приложения 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. js: a JavaScript device detection service that makes Server Side detected properties (WURFL capabilities) available to the JavaScript in web pages. ImageEngine: a WURFL based Image CDN for optimizing image delivery on the web. The MOVR (Mobile OverView Report) providing the latest in mobile and web statistics.
Обновление лицензии
Обновление 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 или нет".