¿Cuál es la biblioteca de mayor rendimiento para analizar las cadenas de User Agent?

Supongo que está buscando una biblioteca de identificación de dispositivos basada en el Agente de usuario. Yo recomendaría lo siguiente:

Wurfl http://wurfl.sourceforge.net/ solía ser un proyecto gratuito de código abierto (licencias GPL) para la identificación de dispositivos de agente de usuario, funciona muy bien para dispositivos móviles y otros dispositivos de mano. La biblioteca es enorme y el conjunto de datos tiene unas 40-50K líneas de xml. La API todavía está abierta, pero para usos comerciales tendrá que pagar por la base de datos. La base de datos es muy completa y exhaustiva.

Solía ​​usar wurfl cuando era gratis. Si compra la licencia y tiene acceso a la base de datos, puede hacer lo siguiente para lograr un alto rendimiento.

– No intente analizar xml cuando llegue la solicitud, esto se vuelve muy ineficiente (CPU pesado).
– El uso de un Mysql (o cualquier otro db relacional) le dará buenos beneficios si desea ejecutar consultas en diferentes parámetros. Pero asegúrese de que sus índices estén creados correctamente.
– A veces, el agente de usuario no puede identificar el dispositivo con precisión, por lo que devolverá varias opciones según los atributos que haya obtenido en la cadena de solicitud.
– Si tiene tiempo para dedicarse a este problema, intente comprender la base de datos en lugar del código wurfl. Y piratee sus propias consultas de db para resolver su problema específico.
– Memcache de usuario (o redis) como almacén de valores clave después de estar seguro de los índices que necesitará y crear un almacén de valores clave para optimizar sus consultas.
– Si desea realizar una búsqueda masiva, está bien cargar el xml, analizarlo, almacenar en caché el resultado y luego analizar los registros. Asegúrese de no almacenar datos innecesarios cuando escriba un script de este tipo.

Los desarrolladores de wurfl también han proporcionado un servicio wurfl-cloud (no estoy seguro de si se lanzó aún), que podría ser un buen comienzo si no desea asumir todo el desarrollo.

Te recomendaría que eches un vistazo a browserscope:
http://code.google.com/p/browser

More Interesting

Si tuviera un año para prepararse antes de inscribirse en un programa de licenciatura en ciencias de la computación o ingeniería de software, ¿qué conceptos, materias, lenguajes de programación o contenido estudiaría para tener éxito?

¿Qué hace un diseñador de UX después de que la ingeniería comienza el proyecto?

¿Cuál es el mejor software para la gestión de mantenimiento?

¿Dónde puedo encontrar información sobre la cantidad de ingenieros de software empleados a lo largo del tiempo en todo el mundo?

¿Cuál es la mejor herramienta de gestión de proyectos de software para el desarrollo impulsado por el comportamiento?

¿Qué debe probar al crear una aplicación web relativamente compleja?

¿VoLTE admite una función dependiente del software o una función dependiente del hardware?

¿Qué tipo de habilidades de software / programación aprendiste en tu educación de TI?

¿Cuál es el código más importante jamás escrito en el mundo? ¿Qué código cambió el mundo?

¿Por qué es tan popular JavaScript?

¿Cuáles son algunos ejemplos de diseño de software realmente malo que tienes que usar?

¿Instalar una aplicación normal en una Mac le da permiso para hacer algo en su sistema?

¿Qué son las pruebas rápidas de software y cuál es la diferencia con las pruebas exploratorias?

Soy un instructor de snowboard que vuelve a la escuela para estudiar informática. ¿Qué tipo de carreras de desarrollo de software se adaptarían a mi estilo de vida?

¿Dónde se usa el software de Linux?