This summer, too, the Haikuproject is part of the Google Summer of Code event. One of the more interesting projects is the Services Kit (draft document!) by Christophe “Shusui” Huriaux, which is an API to facilitate the creation of native web-enabled programs using standard web protocols and data exchange mechanisms.
At Haikuzone, Jorge G. Mare gives a succinct but thorough explanation of what the Serives Kit really is. “The Services Kit is comprised of three layers: a network layer for sending and receiving data using standard web protocols such as HTTP, HTTPS, FTP or LDAP; a data interchange layer with support for standard specifications such as XML, JSON or REST; and the API layer that provides the interface for developers to use,” Mare writes.
Huriaux explains what the Services Kit does in its most basic form. “In its simplest shape, the kit takes an URL, decide what protocol he should instantiate, make the request to retrieve a resource, ensure that the request is well completed and return an object containing all the resulting data,” he details.
The goal of the Services Kit, therefore, is to make it easier to develop web-enabled applications in Haiku using a standardised API. As such, it made sense to test the Services Kit with WebPositive, the WebKit browser for Haiku. After a lot of work, a WebPositive build using the Services Kit instead of cURL was built, and it offered compelling performance improvements.
“A little test of a huge file download over my local network led me to this conclusion: Web+ with cURL was downloading at ~250kB/s whereas Web+ with Services Kit was around 1.5MB/s,” Huriaux writes, “The core of the Kit is not yet optimized with deferred loading and other features like that, but we could expect much more good things!”
This seems like a great new addition to the Haiku landscape, and I’m sure many developers of web-enabled Haiku applications are eager to start implementing Services Kit. For now, the Kit is not yet done, but Huriax has already made it clear he’s going to continue development even after GSoC.