Wisp is the bare bones, entry level API for web programming that is accessible to everyone, including SkySpark developers. So it is the natural choice when it comes to serving web pages.

Wisp is one of the core Fantom libraries so comes pre-bundled with every Fantom download.

BedSheet is more of an application framework and acting IoC container. It is pluggable, customisable, and massively extensible. BedSheet itself runs as a WebMod within Wisp, and so offers an advanced means of serving content over HTTP.

BedSheet works seemslessly along side Wisp and may be downloaded from the Eggbox pod repository.

The following articles write the same mini web application using both technologies. They serve as a light introduction to the libraries, helping to ease you into their respective APIs.

  1. Create a Mini Web Application with Wisp

    Serve HTML page, post forms, and upload files using Fantom's core libraries.

  2. Create a Mini Web Application with BedSheet

    The same mini web app is re-written using the Alien-Factory BedSheet suite of libraries.

Comparing BedSheet code of the mini-app with the Wisp code of the same heralds about a 40% reduction in code (~60 lines vs ~100 lines).

There's also a better separation of concerns with respect to page classes, data classes, and templates.

Not to mention the added benefits of BedSheet with regards to development; no application re-starts (just refresh the browser page), extensive error and 404 handling, and dedicated testing frameworks.

BedSheet also has a wealth of pluggable libraries to aid you further - see the Eggbox Pod Repository for details. As such it takes only a few minutes to add site maps, RSS feeds, and asset caching to your web application!

So what are you waiting for? Evolve your Wisp today!


  • 28 Dec 2016 - Original article.