A microframework is a term used to refer to minimalistic
web application framework
A web framework (WF) or web application framework (WAF) is a software framework that is designed to support the development of web applications including web services, web resources, and web APIs. Web frameworks provide a standard way to build and ...
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:
*
Accounts, authentication, authorization, roles
* Database abstraction via an
object-relational mapping
* Input validation and input sanitation
*
Web template
A web template system in web publishing lets web designers and developers work with ''web templates'' to automatically generate custom web pages, such as the results from a search. This reuses static web page elements while defining dynamic e ...
engine
Typically, a microframework facilitates receiving an
HTTP request
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, w ...
, routing the HTTP request to the appropriate controller, dispatching the controller, 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
require "foo.php";
foo::get("/hello/", function($name) );
Microframeworks
* Bottle for Python
*
Camping
Camping is an outdoor activity involving overnight stays away from home, either without shelter or using basic shelter such as a tent, or a recreational vehicle. Typically, participants leave developed areas to spend time outdoors in more natu ...
for Ruby
*
Express.js
Express.js, or simply Express, is a back end web application framework for building RESTful APIs with Node.js, released as free and open-source software under the MIT License. It is designed for building web applications and APIs. It has been ...
for Node.js
* Falcon
for Python
*
Flask
Flask may refer to:
Container
* Hip flask, a small container used to carry a small amount of liquid
* Laboratory flask, laboratory glassware for holding larger volumes than simple test tubes
** Erlenmeyer flask, a common laboratory flask wit ...
for Python
*
Scalatra
Scalatra is a free and open source web application framework written in Scala. It is a port of the Sinatra framework written in Ruby. Scalatra is an alternative to the Lift, Play!, and Unfiltered frameworks.
Scalatra is an example of a microf ...
for Scala
*
Lumen for PHP
* Slim for PHP
*
Silex
Silex is any of various forms of ground stone. In modern contexts the word refers to a finely ground, nearly pure form of silica or silicate.
In the late 16th century, it meant powdered or ground up "flints" (i.e. stones, generally meaning the c ...
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
{{Reflist