WURFL ( W ireless U niversal R esource F i L e) es un conjunto de interfaces de programación de aplicaciones (API) patentadas y un archivo de configuración XML que contiene información sobre las capacidades y características del dispositivo para una variedad de dispositivos móviles, enfocado en la detección de dispositivos móviles. [1] [2] Hasta la versión 2.2, WURFL se lanzó bajo una licencia de "código abierto / dominio público". [3]Antes de la versión 2.2, los desarrolladores de todo el mundo aportaban información sobre los dispositivos y WURFL se actualizaba con frecuencia, lo que refleja la llegada de nuevos dispositivos inalámbricos al mercado. En junio de 2011, el fundador del proyecto WURFL, Luca Passani , y Steve Kamerman, autor de Tera-WURFL, una popular API PHP WURFL, formaron ScientiaMobile, Inc para proporcionar soporte y servicios de detección de dispositivos móviles comerciales utilizando WURFL. [4] Desde el 30 de agosto de 2011, las API de ScientiaMobile WURFL tienen licencia bajo un modelo de licencia dual , utilizando la licencia AGPL para uso no comercial y una licencia comercial patentada. La versión actual de la base de datos WURFL ya no es de código abierto.
Enfoques de solución
Ha habido varios enfoques para este problema, incluido el desarrollo de contenido muy primitivo y la esperanza de que funcione en una variedad de dispositivos, limitando el soporte a un pequeño subconjunto de dispositivos o omitiendo la solución del navegador por completo y desarrollando una aplicación cliente Java ME o BREW .
WURFL resuelve esto al permitir el desarrollo de páginas de contenido utilizando abstracciones de elementos de la página (botones, enlaces y cuadros de texto, por ejemplo). En tiempo de ejecución, estos se convierten a los tipos de marcado específicos y apropiados para cada dispositivo. Además, el desarrollador puede especificar que se tomen otras decisiones de contenido en tiempo de ejecución en función de las capacidades y características específicas del dispositivo (que están todas en WURFL).
Nube WURFL
En marzo de 2012, ScientiaMobile anunció el lanzamiento de WURFL Cloud. [5] Si bien WURFL Cloud es un servicio de pago, los aficionados y las microempresas disponen de una oferta gratuita para su uso en sitios móviles con tráfico limitado. [6] Actualmente, WURFL Cloud es compatible con Java, Microsoft .NET, PHP, Ruby, Python, Node.js y los lenguajes de programación Perl [7] [8]
WURFL y Apache, NGINX y Varnish Cache
En octubre de 2012, ScientiaMobile anunció la disponibilidad de una API C ++ , un módulo Apache , un módulo NGINX y un módulo Varnish Cache . [9] A diferencia de otras API de WURFL, la API de C ++ y los módulos se distribuyen exclusivamente comercialmente. Varias distribuciones populares de Linux son compatibles a través de paquetes RPM y DEB . [10]
WURFL.io
En 2014, se lanzó WURFL.io. WURFL.io presenta productos y servicios no comerciales de ScientiaMobile:
- WURFL.js: un servicio de detección de dispositivos JavaScript que hace que las propiedades detectadas del lado del servidor (capacidades WURFL) estén disponibles para JavaScript en las páginas web. [11]
- ImageEngine: un Image CDN basado en WURFL para optimizar la entrega de imágenes en la web. [12]
- El MOVR (Mobile OverView Report) proporciona lo último en estadísticas móviles y web.
WALL, biblioteca de abstracción inalámbrica
WALL (Wireless Abstraction Library de Luca Passani) es una biblioteca de etiquetas JSP que permite a un desarrollador crear páginas móviles similares a HTML simple, mientras entrega WML , C-HTML y XHTML Mobile Profile al dispositivo desde el cual se origina la solicitud HTTP , dependiendo de la capacidades reales del propio dispositivo. [13] Las capacidades del dispositivo se consultan dinámicamente utilizando la API WURFL. También está disponible un puerto WALL a PHP (llamado WALL4PHP).
Implementaciones compatibles
Actualmente, WURFL es compatible con lo siguiente.
- Java (a través de WALL)
- PHP (a través de Tera-WURFL (basado en bases de datos), la nueva API de PHP WURFL y WALL4PHP)
- .NET Framework (a través de Visual Basic / C # / cualquier API de lenguaje .NET y Somms.NWURFL (C #))
- Perl
- Rubí
- Python (a través de las herramientas de Python)
- XSLT
- C ++
- Filtro Apache Mobile
La API Tera-WURFL basada en PHP / MySQL viene con un servicio web remoto que le permite consultar el WURFL desde cualquier idioma que admita servicios web XML [14] e incluye clientes para los siguientes idiomas listos para usar:
- PHP
- Perl
- Pitón
- JavaScript
- ActionScript 3 (Flash / Flex / AIR / ECMAScript)
Actualización de licencia
La actualización de WURFL del 29 de agosto de 2011 incluyó un nuevo conjunto de términos de licencia. Estos términos establecen una serie de licencias bajo las cuales se puede utilizar WURFL. La versión gratuita de la licencia no permite trabajos derivados e impide el acceso directo al archivo wurfl.xml. Como resultado de la cláusula "no derivados", los usuarios ya no pueden agregar nuevas capacidades de dispositivo al archivo WURFL, ya sea directamente o mediante el envío de "parches". Se requiere una licencia comercial para utilizar API de terceros con el repositorio WURFL.
El 3 de enero de 2012, ScientiaMobile presentó un aviso de eliminación de DMCA contra la base de datos de dispositivos de código abierto OpenDDR que contiene datos de una versión anterior de WURFL. Según OpenDDR, estos datos estaban disponibles bajo GPL. [15]
El 22 de marzo de 2012, Matthew Weier O'Phinney anunció que Zend Framework dejaría de admitir WURFL a partir de la versión 1.12. [16] Esto fue debido al cambio de licencia que hace que sea incompatible con el Zend Framework 's de licencia [17] como la nueva concesión de licencias ahora requiere que "de código abierto el código fuente completo de su sitio web, independientemente del hecho de que puede modificar la API WURFL o no ". [18]
Ver también
- UAProf
- Agente de usuario
Referencias
- ^ Hatem (11 de febrero de 2007). "WURFL, archivo de recursos universal inalámbrico" . phpmagazine.net . Consultado el 29 de diciembre de 2011 .
WURFL es un proyecto de código abierto que tiene como objetivo recopilar información sobre las configuraciones, capacidades y características de los dispositivos inalámbricos. [...] El archivo tiene formato XML [...]
- ^ Wong, Richard (4 de marzo de 2010). "En los dispositivos móviles, la fragmentación es para siempre. Trate con ella" . TechCrunch . Consultado el 29 de diciembre de 2011 .
WURFL — archivo de recursos universales inalámbricos — un proyecto de código abierto; un "archivo de configuración que contiene toda la información de todos los dispositivos inalámbricos del mundo"
- ^ "Nueva instantánea WURFL disponible, PERO CON CAMBIOS IMPORTANTES" . 30 de agosto de 2011 . Consultado el 7 de septiembre de 2013 .
- ^ Krishna Guda, CEO, ScientiaMobile, Inc "El equipo WURFL lanza ScientiaMobile" , 6 de junio de 2011, consultado el 27 de junio de 2011.
- ^ Passani, Luca (13 de marzo de 2012). "¡Escuchen! ¡Escuchen! ¡La Nube WURFL finalmente está aquí!" . ScientiaMobile . Consultado el 25 de marzo de 2012 .
Muchos han preguntado sobre la disponibilidad de una nube WURFL a lo largo de los años. La llegada de ScientiaMobile lo ha hecho posible.
- ^ ScientiaMobile, Inc. (19 de marzo de 2012). "ScientiaMobile lanza la detección de dispositivos móviles WURFL en la nube" . PRWeb . Consultado el 25 de marzo de 2012 .
ScientiaMobile siempre ha prestado especial atención a la comunidad de desarrolladores. El hecho de que admitamos una opción gratuita para determinadas clases de usuarios es prueba de ello. Al mismo tiempo, nuestra experiencia en el mundo empresarial nos ha permitido ofrecer una solución que también "lo corta" para las grandes empresas.
- ^ ScientiaMobile, Inc. (17 de octubre de 2012). "ScientiaMobile lanza cliente Perl para la nube WURFL" . PRWeb.
- ^ "Introducción a WURFL Cloud" . ScientiaMobile, Inc.
- ^ Passani, Luca (2 de octubre de 2012). "HTTP y móvil: el encabezado que falta" . ScientiaMobile . Consultado el 20 de octubre de 2012 .
Enriquecer la solicitud HTTP o las variables de entorno con nuevos encabezados y valores son casos de uso obvios. Esto permite a las organizaciones “inyectar” el valor de WURFL sin interrumpir (o incluso sin volver a implementar) los sitios y sistemas existentes.
- ^ ScientiaMobile, Inc (2 de octubre de 2012). "Preguntas frecuentes de ScientiaMobile: C ++ NGINX Varnish Apache" . ScientiaMobile . Consultado el 20 de octubre de 2012 .
A diferencia de las API de Java, .NET, PHP y DB, la API y los módulos de C ++ no se publican bajo una licencia dual, sino exclusivamente bajo una licencia comercial. Las partes interesadas pueden solicitar información sobre la concesión de licencias de la forma habitual.
- ^ "Detección del lado del servidor con JavaScript" . smashingmagazine.com.
- ^ "ImageEngine, el Fast Image CDN" . ImageEngine.io . ScientiaMobile.
- ^ "WURFL y WALL" . palowireless.com . Consultado el 29 de diciembre de 2011 .
La biblioteca de abstracción inalámbrica (llamada WALL) es una biblioteca de etiquetas Java que le brinda un marcado universal para dispositivos inalámbricos.
- ^ Servicio web remoto . Tera-WURFL. Consultado el 23 de mayo de 2014.
- ^ Terence Eden : WURFL y derechos de autor de la base de datos , 2012-01-06
- ^ ... debido a un cambio en la licencia por parte del proyecto WURFL, la versión gratuita ahora es AGPL, estamos eliminando el adaptador WURFL de Zend_Http_UserAgent ...
- ^ Zend Framework . Framework.zend.com. Consultado el 23 de mayo de 2014.
- ^ La licencia AGPL exige que usted abra el código fuente completo de su sitio web, independientemente del hecho de que pueda modificar la API WURFL o no.
enlaces externos
- ScientiaMobile
- WURFL.io
- ImageEngine.io
- WURFL en SourceForge (sitio 1)
- Archivo de recursos universal inalámbrico en SourceForge (sitio 2)
- WURFL en GitHub