For those that thought C had been delegated to the internals of your
mobile devices or favorite database engine, Daniel
Waterworth
wants to string you up by
the Raphters.

Raphters is a web framework written in C. Yes you heard that right, a
shiny new framework for the web written in everybody’s favorite
close-to-the-metal programming language. The project gets its name from
RAPHT, a pattern that extends MVC that aims for greater security and
flexibility:

  • Resources include things served up to clients like a database or API.
  • Actions provide ways to interact with a Resource.
  • Processors transform data.
  • Handlers provide the entry point for a request.
  • Templates render data.

A simple Hello World example to demostrate the patter might look
something like:

#include "raphters.h"

START_HANDLER (simple, GET, "simple", res, 0, matches) {
    response_add_header(res, "content-type", "text/html");
    response_write(res, "hello world");
} END_HANDLER

START_HANDLER (default_handler, GET, "", res, 0, matches) {
    response_add_header(res, "content-type", "text/html");
    response_write(res, "default page");
} END_HANDLER

int main() {
    add_handler(simple);
    add_handler(default_handler);
    serve_forever();
    return 0;
}

If you’re a C developer looking for speed (and security) you might give Raphters a
look for your next web project.

[Source on GitHub]


Have comments? Send a tweet to @TheChangelog on Twitter.

Subscribe to The Changelog Weekly – our weekly email covering everything that hits our open source radar.