# Microframework

> Mediated Wiki article. Canonical URL: https://mediated.wiki/source/Microframework
> Markdown URL: https://mediated.wiki/source/Microframework.md
> Source: https://en.wikipedia.org/wiki/Microframework
> Source revision: 1313328283
> License: Creative Commons Attribution-ShareAlike 4.0 International (https://creativecommons.org/licenses/by-sa/4.0/)

A '''microframework''' is a term used to refer to minimalistic [web application framework](/source/web_application_framework)s. 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:
* [Account](/source/user_account)s, authentication, authorization, roles
* Database abstraction via an [object-relational mapping](/source/object-relational_mapping)
* Input validation and input sanitation
* [Web template](/source/Web_template) engine

Typically, a microframework facilitates receiving an [HTTP request](/source/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. For example, Lumen microframework is designed for microservices development and API development.

== Pseudocode example ==

<syntaxhighlight lang="php">
require "foo.php";

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

== Microframeworks ==
{{div col|colwidth=12em}}
* Bottle for Python
* Camping for Ruby
* [Express.js](/source/Express.js) for Node.js
* Falcon<ref>{{cite web |title=Falcon {{!}} The minimal, fast, and secure web framework for Python |url=https://falconframework.org/ |website=falconframework.org |access-date=25 October 2021}}</ref> for Python
* [Fastify](/source/Fastify) for Node.js
* [Flask](/source/Flask_(web_framework)) for Python
* [Scalatra](/source/Scalatra) for Scala
* Lumen for PHP
* Slim for PHP
* Silex for PHP
* [Sinatra](/source/Sinatra_(software)) 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
{{div col end}}

{{Web frameworks}}

==References==
{{Reflist}}

Category:Web frameworks

---
Adapted from the Wikipedia article [Microframework](https://en.wikipedia.org/wiki/Microframework) by Wikipedia contributors ([contributor history](https://en.wikipedia.org/wiki/Microframework?action=history)). Available under [Creative Commons Attribution-ShareAlike 4.0 International](https://creativecommons.org/licenses/by-sa/4.0/). Changes may have been made.
