Software:Microframework

From HandWiki

A microframework is a term used to refer to minimalistic web application frameworks. It is contrasted with full-stack frameworks. It lacks most of the functionality which is common to expect in a full-fledged web application framework, such as:

  • Accounts, authentication, authorization, roles
  • Database abstraction via an object-relational mapping
  • Input validation and input sanitation
  • Web template engine

Typically, a microframework facilitates receiving an HTTP request, routing the HTTP request to the appropriate function and returning an HTTP response. Microframeworks are often specifically designed for building the APIs for another service or application. [1] For example, Lumen microframework is designed for microservices development and API development.

Pseudocode example

require "foo.php";

foo::get("/hello/{name}", function($name) {
    return "Hello $name!";
});

Microframeworks

  • Bottle for Python
  • Camping for Ruby
  • Express.js for Node.js
  • Falcon[2] for Python
  • Flask for Python
  • Scalatra for Scala
  • Lumen for PHP
  • Slim for PHP
  • Silex for PHP
  • Sinatra for Ruby
  • Spark for Java
  • Jooby for Java
  • Javalin for Java
  • Jodd for Java
  • Helidon for Java
  • Pippo for Java
  • Rapidoid for Java
  • Armeria for Java
  • Akka HTTP for Java
  • Ratpack for Java
  • Ktor for Kotlin
  • Toolatra for Tcl


References