
WURFL ( Wireless Universal Resource File ) es un conjunto de interfaces de programación de aplicaciones ( API) propietarias y un archivo de configuración XML que contiene información sobre las capacidades y características de los dispositivos móviles, centrándose en la detección de dispositivos móviles. [ 1 ] [ 2 ] Hasta la versión 2.2, WURFL se publicó bajo una licencia de "código abierto/dominio público". [ 3 ] Antes de la versión 2.2, desarrolladores de todo el mundo aportaban información sobre los dispositivos y WURFL se actualizaba con frecuencia, reflejando los nuevos dispositivos inalámbricos que salían 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, fundaron ScientiaMobile, Inc. para proporcionar soporte y servicios comerciales de detección de dispositivos móviles utilizando WURFL. [ 4 ] A partir del 30 de agosto de 2011, las API de ScientiaMobile WURFL se licencian bajo un modelo de doble licencia , utilizando la licencia AGPL para uso no comercial y una licencia comercial propietaria. La versión actual de la base de datos WURFL ya no es de código abierto.
Enfoques de solución
Se han propuesto varios enfoques para abordar este problema, entre ellos, desarrollar contenido muy primitivo con la esperanza de que funcione en una variedad de dispositivos, limitar la compatibilidad a un pequeño subconjunto de dispositivos o prescindir por completo de la solución del navegador y desarrollar una aplicación cliente Java ME o BREW .
WURFL resuelve este problema permitiendo el desarrollo de páginas de contenido mediante abstracciones de elementos de 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 (todas incluidas 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, se ofrece una versión gratuita para aficionados y microempresas para su uso en sitios móviles con tráfico limitado. [ 6 ] Actualmente, WURFL Cloud admite los lenguajes de programación Java, Microsoft .NET, PHP, Ruby, Python, Node.js y Perl. [ 7 ] [ 8 ]
WURFL y Apache, NGINX, Varnish Cache y HAProxy
En octubre de 2012, ScientiaMobile anunció la disponibilidad de una API de C++ , un módulo de Apache , un módulo de NGINX y un módulo de caché Varnish . [ 9 ] Posteriormente, en noviembre de 2016, ScientiaMobile proporcionó un módulo para el balanceador de carga HAProxy . [ 10 ] A diferencia de otras API de WURFL, la API de C++ y los módulos se distribuyen exclusivamente de forma comercial. Varias distribuciones populares de Linux son compatibles mediante paquetes RPM y DEB . [ 11 ]
WURFL.io
En 2014 se lanzó WURFL.io. WURFL.io ofrece productos y servicios no comerciales de ScientiaMobile:
- WURFL.js: un servicio de detección de dispositivos JavaScript que pone a disposición del JavaScript en las páginas web las propiedades detectadas en el servidor (capacidades WURFL). [ 12 ]
- ImageEngine: una CDN de imágenes basada en WURFL para optimizar la entrega de imágenes en la web. [ 13 ]
- El MOVR (Mobile OverView Report) ofrece las últimas estadísticas sobre dispositivos móviles y web.
MURO, Biblioteca de abstracción inalámbrica
WALL (Wireless Abstraction Library de Luca Passani) es una biblioteca de etiquetas JSP que permite a los desarrolladores crear páginas móviles similares a HTML simple, a la vez que entrega WML , C-HTML y XHTML Mobile Profile al dispositivo desde el que se origina la solicitud HTTP , según las capacidades reales del dispositivo. [ 14 ] Las capacidades del dispositivo se consultan dinámicamente mediante la API WURFL. También está disponible una versión de WALL para PHP (llamada 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 base de datos), la nueva API PHP de 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 Python Tools)
- XSLT
- C++
- Filtro móvil Apache
La API Tera-WURFL basada en PHP/MySQL viene con un servicio web remoto que le permite consultar el WURFL desde cualquier lenguaje que admita servicios web XML [ 15 ] e incluye clientes para los siguientes lenguajes de forma predeterminada:
- 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 varias licencias bajo las cuales se puede usar WURFL. La versión gratuita de la licencia no permite obras derivadas e impide el acceso directo al archivo wurfl.xml. Como resultado de la cláusula "no-derivates", los usuarios ya no pueden agregar nuevas funcionalidades de dispositivos al archivo WURFL, ni directamente ni 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ó una notificación de eliminación de contenido (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 la licencia GPL. [ 16 ]
El 22 de marzo de 2012, Matthew Weier O'Phinney anunció que Zend Framework dejaría de ser compatible con WURFL a partir de la versión 1.12. [ 17 ] Esto se debió al cambio de licencia, que lo hace incompatible con la licencia de Zend Framework [ 18 ] ya que la nueva licencia ahora requiere que "publiques como código abierto el código fuente completo de tu sitio web, independientemente de si modificas o no la API de WURFL". [ 19 ]
Véase también
Referencias
- ↑ Hatem (11 de febrero de 2007). "WURFL, Archivo Universal de Recursos Inalámbricos" . phpmagazine.net. Archivado del original el 16 de noviembre de 2011. Recuperado 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 el ámbito móvil, la fragmentación es para siempre. Acéptalo" . TechCrunch . Consultado el 29 de diciembre de 2011.
WURFL (Wireless Universal Resource File) es un proyecto de código abierto; un "archivo de configuración que contiene toda la información sobre cada dispositivo inalámbrico del planeta".
- ↑ "Nueva instantánea de WURFL disponible, PERO CON CAMBIOS IMPORTANTES" . 30 de agosto de 2011. Consultado el 7 de septiembre de 2013 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ Krishna Guda, CEO, ScientiaMobile, Inc. "El equipo de WURFL lanza ScientiaMobile" , 6 de junio de 2011, consultado el 27 de junio de 2011.
- ↑ Passani, Luca (13 de marzo de 2012). «¡Oigan! ¡Oigan! ¡La nube WURFL finalmente está aquí!» . ScientiaMobile . Consultado el 25 de marzo de 2012. Muchos
han preguntado a lo largo de los años sobre la disponibilidad de una nube WURFL. 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 ofrezcamos una opción gratuita para ciertos tipos de usuarios es prueba de ello. Asimismo, nuestra experiencia en el ámbito empresarial nos ha permitido ofrecer una solución que también satisface las necesidades de las grandes empresas.
- ↑ ScientiaMobile, Inc. (17 de octubre de 2012). "ScientiaMobile lanza un cliente Perl para la nube WURFL" . PRWeb. Archivado del original el 5 de abril de 2014.
- ↑ "WURFL Cloud Primeros pasos" . ScientiaMobile, Inc. Archivado del original el 16 de octubre de 2012. Consultado el 18 de octubre de 2012 .
- ↑ Passani, Luca (2 de octubre de 2012). "HTTP y dispositivos móviles: el encabezado que falta" . ScientiaMobile . Recuperado 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.
- ↑ "Habilitar el módulo de detección de dispositivos Scientamobile WURFL" . 4 de noviembre de 2016. Consultado el 29 de noviembre de 2021 .
- ↑ 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 distribuyen bajo una licencia dual, sino exclusivamente bajo una licencia comercial. Las partes interesadas pueden consultar sobre la licencia de la forma habitual.
- ↑ "Detección del lado del servidor con JavaScript" . smashingmagazine.com. Julio de 2014.
- ↑ "ImageEngine, la CDN de imágenes rápida" . 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 proporciona un marcado universal para dispositivos inalámbricos.
- ↑ Servicio web remoto archivado el 13 de marzo de 2010 en Wayback Machine . Tera-WURFL. Recuperado el 23 de mayo de 2014.
- ↑ Eden, Terence (2012-01-06). "WURFL y derechos de autor de la base de datos" . Blog de Terence Eden . Recuperado el 14 de agosto de 2023 .
- ↑ "...debido a un cambio en la licencia del proyecto WURFL (la versión gratuita ahora es AGPL), estamos eliminando el adaptador WURFL de Zend_Http_UserAgent..." Archivado del original el 18 de junio de 2012. Recuperado el 12 de junio de 2012 .
- ↑ Zend Framework . Framework.zend.com. Consultado el 23 de mayo de 2014.
- ↑ "La licencia AGPL exige que publiques como código abierto el código fuente completo de tu sitio web, independientemente de si modificas o no la API de WURFL" . Archivado del original el 15 de junio de 2012. Consultado el 13 de junio de 2012 .
Enlaces externos
- ScientiaMobile
- WURFL.io
- ImageEngine.io
- WURFL en SourceForge (sitio 1)
- Archivo de recursos universales inalámbricos en SourceForge (sitio 2)
- WURFL en GitHub
- redes inalámbricas
- Desarrollo web
- Software que utiliza la Licencia Pública General Affero de GNU.