Microframework

Un microframework es un término utilizado para referirse a marcos de aplicaciones web minimalistas, y se contrasta con los marcos completos.

A diferencia de un marco de aplicación completo, un microframework carece de la mayor parte de la funcionalidad de abstracción de amplio espectro, enfocándose exclusivamente en el manejo de solicitudes HTTP. Funcionalidades (generalmente) no incorporadas en un microframework:

  • Sistema de usuarios: Cuentas, autenticación, autorización, roles.
  • Abstracción del modelo, como por ejemplo el manejo de base de datos a través de un sistema de mapeo relacional de objetos u ORM.
  • Funciones utilitarias para validación y saneamiento de datos.
  • Abstracción de la vista mediante un motor de plantilla web.

Por lo general, un microframework facilita el intercambio de solicitudes HTTP: recibe la solicitud, enruta al controlador designado y devuelve una respuesta. Los microframeworks se utilizan a menudo para construir APIs para otros servicios o aplicaciones.[1]​ Por ejemplo, el microframework Lumen está diseñado para el desarrollo de microservicios y APIs.

Ejemplo de pseudocódigo

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 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

Frameworks completos

.NET ASP.NET (Core, AJAX, Dynamic Data, MVC, Razor, Web Forms), Blazor, DNN, BFC, MonoRail, OpenRasta, Umbraco, WebSharper
C++ CppCMS, Drogon, Pistache, Wt
ColdFusion CFWheels, ColdBox Platform, ColdSpring, Fusebox, Model-Glue
Common Lisp Caveman2, CL-HTTP, Weblocks
Haskell Yesod, Snap
Java AppFuse, Flexive, Grails, GWT, ICEfaces, ItsNat, JavaServer Faces, JHipster, Jspx, JWt, OpenXava, Play, Remote Application Platform, RIFE, Seam, Sling, Spring, Stripes, Struts, Tapestry, Vaadin, Vert.x, WebWork, Wicket, WaveMaker, ZK
JavaScript Angular/AngularJS, Backbone.js, Chaplin.js, Closure, Dojo Toolkit, Ember.js, Express.js, Ext JS, jQuery, Knockout.js, Meteor, MooTools, Node.js, OpenUI5, Prototype, React, Rico, script.aculo.us, Sencha Touch, SproutCore, Svelte, Vue.js, Wakanda
Perl Catalyst, Dancer, Mason, Maypole, Mojolicious, WebGUI
PHP CakePHP, CodeIgniter, Drupal, Fat-Free, FuelPHP, Flow, Grav, Gyroscope, Horde, Joomla, Kohana, Laravel, Lithium, Lumen, Midgard, MODX, Nette, Phalcon, PHP-Fusion, Pop PHP, PRADO, ProcessWire, Qcodo, Silex, SilverStripe, Symfony, TYPO3, WordPress, XOOPS, Yii, Zend Framework
Python BlueBream, Bottle, CherryPy, Django, Flask, Grok, Nevow, Pyjs, Pylons, Pyramid, Quixote, TACTIC, Tornado, TurboGears, web2py, Webware, Zope 2
Ruby Camping, Merb, Padrino, Ruby on Rails, Sinatra
Rust Actix, Rocket
Scala Lift, Play, Scalatra
Smalltalk AIDA/Web, Seaside
Otros lenguajes Vibe.d (D), Application Express (PL/SQL), Grails (Groovy), Kepler (Lua), OpenACS (Tcl), Phoenix (Elixir), SproutCore (JavaScript-Ruby), Yaws (Erlang)

Referencias

  1. «Full-Stack Framework or Microframework, Laravel or Lumen?». Consultado el 13 de septiembre de 2016. 

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.