A standalone WURFL API is an API that can be deployed on a server independently of any resources available on the Internet.
While a standalone API requires that the repository (wurfl.xml
) is updated regularly, it offers the advantage
of avoiding dependencies on external resources in one's code base (this may be desirable for organizations with hard requirements
on security and high-availability). The alternative to the standalone API is using one of the WURFL Cloud APIs or InFuze APIs offered
by ScientiaMobile. The WURFL Cloud is always updated with the latest and greatest WURFL data.
While the Onsite standalone API is offered for Java, .NET and PHP, it is not available for Ruby, Python, Perl and the Node.js programming languages.
Note: There are some third-party scripts
on the Internet that attempt to parse the wurfl.xml
and expose device capabilities programmatically. Those scripts do not contain the logic implemented by the
standard WURFL API by ScientiaMobile and their use is not recommended (unless you are ok with a high number of wrong detections).
Programmers can use the WURFL Cloud solution for Perl, Ruby, Python and Node.js that includes APIs for all those languages.
Adopters of Microservice software architectures may also be interested in one of the WURFL Microservice products offered by ScientiaMobile. In addition to WURFL Microservice for Docker, both AWS and Azure offer WURFL Microservice from the respective marketplaces:
Programmers that require optimal performance can use the InFuze WURFL C++ API, with modules available for Apache, NGINX, Varnish-cache, Python, and Node.js.
Examples of usage of the different WURFL Cloud APIs for all the languages can be found at the following URL:
https://docs.scientiamobile.com/documentation/cloud/getting-started-with-wurfl-cloud
More information can be found on ScientiaMobile's WURFL Blog
Please observe that the WURFL Cloud by ScientiaMobile includes a free offering for hobbyists and micro-companies.