Main

  • Welcome
  • Features
  • Installation
  • Documentation
  • Community

Features

  • Think and code in high-level abstractions
  • Newbie-friendly
  • Create multiple views of an object
  • Fully extensible
  • Powerful modular dispatcher
  • Macros: complete realization of DRY
  • Harness the power of continuations
  • Thin Javascript layer

Think and code in high-level abstractions

A web page in Weblocks consists of building blocks called widgets. Every widgets knows how to render itself and keeps it state between requests

This simplifies information book-keeping and code re-use.

Newbie-friendly

We try hard to make Weblocks easy to use and install.

Our community helps beginners to get behind any obstacles they might face.

Create multiple views of an object

Weblocks view language lets you specify a view of an object in a declarative manner. You can build customized forms and tables with only a few lines of code.

Fully extensible

Web applications are customized pieces of software. Weblocks helps you adapting it by offering an object-oriented multiple dispatch interface:

  • Every generic function is a hook which you can customize using :BEFORE, :AFTER and :AROUND methods.
  • Every widget written by others may be specialized for your needs as well.

Powerful modular dispatcher

User-defined Dispatchers based on string and regex matchers are present in every major web framework.

The usual way to go about it is having a centralized dispatcher definition (usually declarative or functional). Weblocks takes it one step further and offers completely modular and customizable dispatchers that can consume any amount of URI parts and invoke other dispatchers.

Additionally the host name and the URI prefix can dispatch to different applications.

Macros: complete realization of DRY

Don’t Repeat Yourself is one of the core principles of Agile Development.

Languages without macros or with insufficiently advanced macros cannot avoid large parts of code redundancy. By relying on Common Lisp Weblocks offers the user the full power of code transformation.

Harness the power of continuations

Widget continuations let your users use your site in a highly flexible manner.

You can have multiple parts of a page going into different directions simultaneously. Weblocks does all the book-keeping for you.

The best thing is: you don’t even need to know anything about continuations. Just use the high-level API provided by Weblocks to direct your control flow.

Thin Javascript layer

Thanks to Weblocks' thin Javascript layer your content degrades gracefully on clients that don't have Javascript enabled.

Features like fully sortable tables use AJAX when available but also offer the same user experience without AJAX by making a normal request.

All this happens automatically so you don't have to worry about it.