Tim Dietrich

Custom Software Developer

Home Services Portfolio Blog About Contact Newsletter

Introducing Xojo WebFrame

Over the past year, Xojo has become my primary development tool. I've used it to develop everything from iOS apps to Web apps, and everything in between - even Apple TV apps.

The only type of solution that I have not been using Xojo for are public-facing Web apps and Web sites. For those, I've continued to use PHP. The reason for this is that Xojo's Web framework seems to be primarily intended for developing Web apps where the user base is somewhat known and controlled. And while Xojo Web apps are scalable, they aren't designed for use as large-scale, public Web sites.

XWF

I've been working on a project that's designed to make it possible to use Xojo for developing these more traditional Web sites, and I'm calling it Xojo WebFrame (or "XWF" for short).

XWF is a simple, alternative, framework for developing Web apps using Xojo. It's designed specifically for developing public-facing, scalable Web sites and applications.

Unlike standard Xojo Web apps, XWF-based apps do not use Xojo's native WebPage objects and the associated controls. Instead, XWF-based apps are more along the lines of PHP, ColdFusion, and so on, where the developer specifies the code that is generated and returned to the browser. That code can be any combination of HTML, CSS, JavaScript, and so on - all dynamically generated using the Xojo programming language. (A screen shot showing the project navigator for a very simple XWF-based app is shown to the right.)

At their core, apps developed with XWF are true Xojo Web apps. Therefore, you have complete access to the powerful Xojo programming language. This also means that when it comes to deploying XWF apps you have all of the same options that you do when you deploy other Xojo Web apps - as standalone executables or CGIs, on OS X, Windows, or Linux-based servers.

Currently, XWF's features include:
• Support for app-level properties and methods.
• Secure, reliable, and flexible session management.
• Comprehensive logging.
• Support for Xojo plug-ins.

XWF's Origins

The inspiration for XWF came from FMWebFrame, another open source solution that I developed a few years ago. FMWebFrame is a popular open source extension to the FileMaker API for PHP. It makes it easier to develop advanced Web solutions that integrate with FileMaker databases. My site, including my blog, run on FMWebFrame.

XWF is also based to some extent on a few of my more recent Xojo open source solutions, including Luna (a Xojo-based framework for creating RESTful APIs), XFS (a simple, Xojo-based file server), and the soon to be released Viewpoint (an open source, Xojo-based framework for developing Apple TV apps using a client-server model). XWF's origins can also be traced back to the most recent version of DailyOrbit, my short-lived and ill-fated alternative search engine.

Coming Soon

I'm excited about XWF and the possibilities that it opens up. My plan is to release XWF as an open source solution sometime in the next few weeks. I'll also release the much-delayed Viewpoint, which I'm redesigning so that it uses an architecture similar to XWF.

If you'd like to be notified when XWF is available, please sign up for my newsletter, or follow me on Twitter.