It’s a dilemma for developers: Web applications are often limited in their possibilities and lack performance, and large web applications can be difficult to maintain. Client-server applications, on the other hand, are often bloated, limited to a single platform, and hard to update and maintain. To get the best of both worlds, turn to SiteFusion, a client-server application framework that lets you code applications in object-oriented PHP to run on a server, but with the user experience of a local, OS-native application.
SiteFusion lets developers quickly and efficiently write both large and small-scale applications that need connectivity to a centralized server. Because the server applications are written in PHP, even novice programmers can quickly produce something that looks professional, while experienced programmers can use a full set of tools behind the scenes.
SiteFusion bypasses the classic limitations of client-server architectures and web applications. There’s no web browser, but rather a XUL-based thin client, so there are no browser incompatibilities, security restrictions, or feature limitations. SiteFusion takes care of client-server synchrony, leaving virtually no division between the two from a programmer’s point of view. While the client core is thin, it implements the Mozilla extension manager, which allows it to dynamically adopt any scripted or binary extensions developers deem necessary without bothering users with questions or procedures. The core and extensions can use multiple and separate update paths, which makes maintenance easier.
Project leader Nikki Auburger says SiteFusion has been in development since 2006, and was at first proprietary software sold by theFrontDoor in the Netherlands. “Last September we decided to release it with an open source license, because we’ve always been strong proponents of the open source philosophy.”
Auburger says the developers based SiteFusion on PHP “because it’s a well-known, accessible, and easy-to-learn language that is aimed toward quick and efficient development while still offering a wide range of possibilities. For the client side we chose XUL because it’s an actively developing UI framework that holds platform independence at its core. Because it also forms the basis of Firefox and Thunderbird it’s bound to have a future, and recent versions have been stable and extensive. If you’re interested in cross-platform OS-native interface design, XUL is pretty much best way there is.
“We chose a regular web server to be the intermediate between the client and the SiteFusion daemon because this allows SiteFusion applications to function from within even the most restricted network environments. That also makes SiteFusion a breeze for sysadmins; only a standard web server is needed to have clients connect to the SiteFusion daemon. Virtually no configuration is required.”
Auburger is clearly proud of the most recent version, which was released last week. “We love our new ability to dynamically push binary components from server to client. This means that you can turn a client that a user installed two years ago into anything you need from the application you wrote yesterday without bothering the user with a single dialog.”
The project is under active development. “We have been releasing roughly every three months, and will probably keep doing so,” Auburger says. “We intend to keep up with XUL development in future releases, and we will be starting an extension repository soon. After that, we’d like to implement a feature that allows programmers to push, update, and use client extensions directly from the repository.
“We welcome feedback and help from anyone familiar with the project. Our forum is the best way to get in touch with us.”