El framework Flask, que vimos al inicio del curso, es un micro-framework. Todos estos micro-frameworks son, de alguna manera, inspirados por el framework Ruby Sinatra 🎤, que marcó el inicio de esta tendencia.
¡Mira lo similar que es la estructura del código!
Ruby:
# Ruby
require 'sinatra'
get '/frank-says' do
'La mejor venganza es el éxito masivo!'
end
Java:
// Java
import static spark.Spark.*;
public class HelloWorld {
public static void main(String[] args) {
get("/hello", (req, res) -> "Hello World");
}
}
JavaScript:
// JavaScript
import Express from 'express';
const app = new Express();
app.get('/', (req, res) => res.send('Hello World!'));
Python:
# Python
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
Todos son como gemelos 👥 en términos de definir rutas y establecer manejadores para ellos. Aparte de la funcionalidad básica, no hay nada más en los micro-framework. Todo lo demás tendrás que instalar por separado.
Contrariamente a los micro-frameworks, veamos los frameworks completos: son paquetes grandes de código que incluyen todo lo que posiblemente necesites por defecto. Por lo general, son muy expansibles, y hay muchos complementos útiles en GitHub. La gran historia de los frameworks web comienza en 2004, cuando se lanzó la primera versión de Ruby On Rails 🛤️, un framework de Ruby. Ruby On Rails superó ampliamente su tiempo y sentó las bases para muchos años por venir. Muchos de los modernos frameworks web son clones de Rails en mayor o menor medida.
En Ruby, además de Rails, se podría decir que no hay nada más, y esto influye positivamente en el desarrollo, ya que todos van en la misma dirección. En Python, Django es el framework más popular, aunque también existen otros como Zope, Plone y web2py, que son potentes y han sido relevantes a lo largo del tiempo.
Resumen breve de las funcionalidades que los frameworks modernos poseen:
Generando código. Cualquier framework completo tiene una herramienta que permite generar código desde la línea de comandos, digamos, pruebas o migraciones.
Mecanismos integrados para testing. En otras palabras, el framework te permite comenzar a escribir pruebas con casi ninguna necesidad de instalar algo adicional o configurar.
Abstracciones para trabajar con correos electrónicos ✉️
ORM. Ya sea propia o popular para el lenguaje en general.
Plantillas e helpers. Funciones auxiliares para tareas repetitivas de visualización de información.
Herramientas para la internacionalización y localización 🌍, idealmente todas las demás partes del framework también están integradas con
i18n.Mecanismos de seguridad 🔒, por ejemplo, CQRS.
Caché.
Para acceder completo a curso necesitas un plan básico
El plan básico te dará acceso completo a todos los cursos, ejercicios y lecciones de Códica, proyectos y acceso de por vida a la teoría de las lecciones completadas. La suscripción se puede cancelar en cualquier momento.