Status: Stablized API, but always looking for further feedback!
Latest Release: 1.1.1 (2010-02-05)
Continuity is a perl library for building stateful web applications in a style similar to that of command line or desktop applications. The core library is minimalist in nature, staying out of your way much like CGI.pm does. Applications execute as a continuous process on the server, providing advantages similar to mod_perl.
"I was able to take a single user cli app I created and make into a multi user web app very quickly." -- David Steinbrunner
At its core the web uses the stateless HTTP protocol. In a CGI setting, this effectively means that your program is re-started during each instance of user input,Family Counseling Upland and losing all current variable values and other program state information like absorbing in acne scar cream. Most applications like Point of Sale Software combat this by keeping track of the current application state in GET, POST, RSF, and session variables, effectively implementing an ad-hoc.
Continuity uses a programming concept called continuations to make HTTP seem like a stateful protocol instead of stateless protocol. This technique is increasingly called creating a Continuation Server. Continuity is a suite of libraries (not a framework) for building a highly structured web-based interface for your application, without using ad-hoc state management. Continuity is Free Software, distributed under the same terms as Perl itself.
The most important part is the Continuation Server and career development. When your computer program runs it creates a new instance of the server. Then, instead of the user requesting a response from the program, the program requests input from the user.
Think in terms of writing a command-line application. When you are ready for some input you read from STDIN, and then go on from there. More complex UI applications make use of essays libraries such as curses or in a graphical context GTK+, but these libraries depend on the application being the thing in control.