.Net - C# and VB.Net
xAPFramework.Net (also known as xFx) is a collection of classes that encapsulate the xAP message protocol and provide network interfaces for sending, recieving and hub support. The framework is written entirely in C# (source available) but has also been used successfully to create VB.Net applications. Using xFx you can produce a simple, working xAP program with only a few lines of code since xFx takes care of much of the xAP 'plumbing' for you. Several commonly used appplications are based on xFx including the Windows hubs and the graphical messsage viewer.
The framework was originally developed by Stuart Booth for .Net v1.1. Stuart produced a wide rance of applications using the framework including the xAP Message viewer, various xAP hubs, email notification, caller ID integration, SlimServer connector etc. An archive of much of this work can be found here.
Work on xAP Framework has now been taken over by Edward Pearson who is working on the migration of xFx and the commonly used xFx-based applications to .Net 2.0. xFx2
Visual Basic + Webserver
This ocx provides simple and easy to use xAP interface. It also includes a builtin webserver to web-enable your application. This OCX forms the basis of the xAP Intranet applications and includes all the functions that allow all the intranet applications to interoperate. The web server can serve any files and includes functions for RSS and authentication using both basic and digest types.
The Active-X control for xAP provides encapsulates a full xAP interface in an easy to use and accessible control. The control is divided into two functional areas, one associated with delivery of incoming and outbound messages, and the other concerned with constructing and deconstructing messages. All the messy nitty-gritty details related to network communications are hidden. The control is suitable for embedding in any Active-X aware environment, and can be accessed from VB Script, allowing any script-aware application to take advantage of open xAP communications.
The C programming libraries for xAP provide access to xAP messages and the message transport infrastructure at several levels of abstraction, from the lowest level up to a very simple high level messaging paradigm.
A full xAP compliant application, supporting all the major xAP addressing modes can be implemented in around 15 lines of code, with no loss of flexibility.
This power and ease of use is typical of xAP.
Java development for xAP is particularly attractive because of the broad cross-platform support available for Java - including not only a variety of PC's and mobile devices, but also embedded systems such as Tini.
The first release of the Java SDK is now available! It was written with JRE 1.4.2, and includes sample code and Javadoc documentation. Please raise any issues on the xAP-developer Yahoo! mailing list/forum
Python is a high level intepreted, object oriented language. It isn't disimilar to, say, Visual Basic, but unlike Visual Basic, has the advantage of being supported on a wide variety of hardware platforms.
The xAP scripting engine provides access to the Python intepreter as an embedded application. This means that incoming xAP messages can be used to trigger Python based scripts. The Python scripts have access to the full range of capabilities exposed by the xAP programming libraries from within the script itself, and may also create and broadcast xAP messages themselves.
Python scripting with xAP is particularly well suited to situations where there is a requirement to add an additional level of conditional control between xAP devices, or where there is a requirement to interface between xAP and a third party application for which Python connectivity is available (for example, a database or webserver)
With its powerful regular expressions, Perl can be a very productive tool for writing xAP applications.
If you are looking for Perl code, Misterhouse is a good place to start. Misterhouse contains many xAP functions and is available under the GPL.
Significant Perl support for xAP is also contained in the xAP Plugin for SlimServer. This code is based, in part, on the Misterhouse code and contains modules that can be re-used for other Perl applications.