WURFL

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

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 para una variedad de dispositivos móviles, centrados en la detección de dispositivos móviles. Hasta la versión 2.2, WURFL se lanzó bajo una licencia de "código abierto / dominio público". Antes de la versión 2.2, la información sobre los dispositivos la aportaban desarrolladores de todo el mundo y WURFL se actualizaba con frecuencia, reflejando los nuevos dispositivos inalámbricos que llegaban al mercado. En junio de 2011, el fundador del proyecto WURFL, Luca Passani, y Steve Kamerman, el 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. A partir del 30 de agosto de 2011, las API WURFL de ScientiaMobile cuentan con una licencia dual, que utiliza la licencia AGPL para uso no comercial y una licencia comercial exclusiva. 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 solucionar este problema, entre ellos, desarrollar contenido muy primitivo y esperar que funcione en una variedad de dispositivos, limitar el soporte a un pequeño subconjunto de dispositivos o pasar por alto por completo la solución del navegador y desarrollar una aplicación cliente Java ME o BREW.

WURFL resuelve este problema al permitir 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 elementos se convierten en los tipos de marcado específicos y adecuados 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 se encuentran todas en WURFL).

WURFL Cloud

En marzo de 2012, ScientiaMobile anunció el lanzamiento de WURFL Cloud. Si bien WURFL Cloud es un servicio de pago, existe una oferta gratuita para aficionados y microempresas que se puede utilizar en sitios móviles con tráfico limitado. Actualmente, WURFL Cloud es compatible con Java, Microsoft.NET, PHP, Ruby, Python, Node.js y los lenguajes de programación Perl.

WURFL y Apache, NGINX, Cache de barniz y HAProxy

En octubre de 2012, ScientiaMobile anunció la disponibilidad de una API de C++, un módulo Apache, un módulo NGINX y un módulo Varnish Cache. Más tarde, en noviembre de 2016, ScientiaMobile proporcionó un módulo para el balanceador de carga HAProxy. 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 a través de paquetes RPM y DEB.

WURFL.io

En 2014 se lanzó WURFL.io, que ofrece productos y servicios no comerciales de ScientiaMobile:

  • WURFL.js: un servicio de detección de dispositivos JavaScript que hace que las propiedades detectadas de Server-Side (capacidades WURFL) estén disponibles en las páginas web.
  • ImageEngine: un CDN de imagen basado en WURFL para optimizar la entrega de imágenes en la web.
  • El MOVR (Mobile OverView Report) proporciona las últimas 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 perfiles móviles WML, C-HTML y XHTML al dispositivo desde el que se origina la solicitud HTTP, según las capacidades reales del dispositivo. Las capacidades del dispositivo se consultan de forma dinámica mediante la API WURFL. También está disponible un puerto WALL para PHP (llamado WALL4PHP).

Ejecuciónes apoyadas

Actualmente, WURFL es compatible con los siguientes sistemas:

  • Java (via WALL)
  • PHP (a través de Tera-WURFL (accionado con base de datos), la nueva WURFL PHP API y WALL4PHP)
  • Marco .NET (a través de Visual Basic / C# / cualquiera. API de lenguaje NET y Somms. NWURFL(C#))
  • Perl
  • Ruby
  • Python (a través de Python Tools)
  • XSLT
  • C++
  • Filtro móvil Apache

La API Tera-WURFL basada en PHP/MySQL incluye un servicio web remoto que le permite consultar WURFL desde cualquier lenguaje que admita servicios web XML e incluye clientes para los siguientes lenguajes de manera predeterminada:

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

Actualización de la 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 de "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ó una notificación 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 la licencia GPL.

El 22 de marzo de 2012, Matthew Weier O'Phinney anunció que Zend Framework dejaría de ofrecer soporte para WURFL a partir de la versión 1.12. Esto se debió al cambio de licencia que lo hace incompatible con la licencia de Zend Framework, ya que la nueva licencia ahora requiere que "haga público el código fuente completo de su sitio web, independientemente del hecho de que pueda modificar o no la API de WURFL".

Véase también

  • UAProf
  • Agente de usuario

Referencias

  1. ^ Hatem (11 de febrero de 2007). "WURFL, Wireless Universal Resource File". phpmagazine.net. Retrieved 29 de diciembre, 2011. WURFL es un proyecto de código abierto que pretende recopilar información sobre configuraciones, capacidades y características de los dispositivos inalámbricos. [...] El archivo es formato XML [...]
  2. ^ Wong, Richard (Marzo 4, 2010). "En Mobile, Fragmentation es Forever. Trato con él". TechCrunch. Retrieved 29 de diciembre, 2011. WURFL — archivo de recursos universales inalámbricos— un proyecto de código abierto; un "archivo config que contiene toda la información sobre cada dispositivo inalámbrico en la tierra"
  3. ^ "Nuevo instantánea WURFL disponible, pero con cambio IMPORTANTE". 30 de agosto de 2011. Archivado desde el original el 15 de julio de 2012. Retrieved 7 de septiembre 2013.
  4. ^ Krishna Guda, CEO, ScientiaMobile, Inc "WURFL Team lanza ScientiaMobile", 6 de junio de 2011, acceso al 27 de junio de 2011.
  5. ^ Passani, Luca (13 de marzo de 2012). "¡Oye! ¡Oigan! el WURFL Cloud finalmente está aquí!". ScientiaMobile. Retrieved 25 de marzo, 2012. Muchos han preguntado sobre la disponibilidad de una nube WURFL a lo largo de los años. El advenimiento de ScientiaMobile ha hecho posible esto.
  6. ^ ScientiaMobile, Inc. (19 de marzo de 2012). "ScientiaMobile lanza la detección de dispositivos móviles WURFL en la nube". PRWeb. Retrieved 25 de marzo, 2012. ScientiaMobile siempre ha prestado especial atención a la comunidad de desarrolladores. El hecho de que apoyemos una opción libre para ciertas clases de usuarios es la prueba de esto. Al mismo tiempo, nuestro experto en el mundo empresarial nos ha permitido proporcionar una solución que 'corta' para grandes empresas también.
  7. ^ ScientiaMobile, Inc. (17 de octubre de 2012). "ScientiaMobile lanza cliente perl para la nube WURFL". PRWeb. Archivado desde el original el 5 de abril de 2014.
  8. ^ "WURFL Cloud Comienzo". ScientiaMobile, Inc.
  9. ^ Passani, Luca (2 de octubre de 2012). "HTTP y Mobile: The Missing Header". ScientiaMobile. Retrieved 20 de octubre, 2012. Enriquecer la solicitud HTTP o las variables ambientales con nuevos encabezados y valores son casos de uso obvio. Esto permite a las organizaciones "inyectar" el valor de WURFL sin perturbar (o incluso sin redistribuir) los sitios y sistemas existentes.
  10. ^ "Enable Scientamobile WURFL módulo de detección de dispositivos". 4 de noviembre de 2016. Retrieved 29 de noviembre, 2021.
  11. ^ ScientiaMobile, Inc (2 de octubre de 2012). "ScientiaMobile FAQ: C++ NGINX Varnish Apache". ScientiaMobile. Retrieved 20 de octubre, 2012. Diferentemente de las API Java,.NET, PHP y DB, las API y módulos C++ no se publican bajo una licencia dual, sino exclusivamente bajo una licencia comercial. Las partes interesadas pueden preguntar sobre la concesión de licencias de la manera habitual.
  12. ^ "Detección lateral con JavaScript". breakingmagazine.com. Julio de 2014.
  13. ^ "ImageEngine, el CDN de imagen rápida". ImageEngine.io. ScientiaMobile.
  14. ^ "WURFL y WALL". palowireless.com. Retrieved 29 de diciembre, 2011. La Biblioteca de Abstracción inalámbrica (llamada WALL) es una biblioteca de etiquetas Java que le da una marca universal para dispositivos inalámbricos.
  15. ^ Servicio Web remoto. Tera-WURFL. Consultado el 2014-05-23.
  16. ^ Eden, Terence (2012-01-06). "WURFL and Database Copyright". Blog de Terence Eden. Retrieved 2023-08-14.
  17. ^ ...debido a un cambio en la licencia por el proyecto WURFL -- la versión gratuita es ahora AGPL -- estamos dejando el adaptador WURFL de Zend_Htp_UserAgent...
  18. ^ Marco Zend. Framework.zend.com. Consultado el 2014-05-23.
  19. ^ La licencia AGPL exige que abra el código fuente completo de su sitio web, independientemente del hecho de que pueda modificar la API de WURFL o no.
  • ScientiaMobile
  • WURFL.io
  • ImageEngine.io
  • WURFL en FuenteForge (sitio 1)
  • Wireless Universal Resource File on SourceForge (site 2)
  • WURFL en GitHub
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save