Python Flask vs Bottle (Spanish)
Tags: python, webdev, spanish, espanol
Published: 2019-10-30 17:52:40


Tanto <a href="https://palletsprojects.com/p/flask/">Flask</a> como <a href="https://bottlepy.org/docs/dev/">Bottle</a> se utilizan frecuentemente como marcos web de backend para Python. De todos modos, se dice que Flask es más eficiente, y como consecuencia, los programadores a menudo lo eligen en lugar de Botella. 

Veamos a continuación cuáles son las ventajas de estos frameworks y cómo difieren en términos de funcionalidad y uso. 
 
Antes de intentar la programación web, aprenda los <a href="https://pythonbasics.org">bases de Python</a>.

## Ventajas de usar Flask

La principal ventaja de Flask es que tiene acceso a una multitud de recursos en línea con fines de documentación. 

Es uno de los frameworks web de Python más utilizados, por lo que hay muchos tutoriales o librerías disponibles para ello. 

Además, lo que recomienda Flask como estructura de salida es su enfoque minimalista que no pierde fuerza. Es fácil de ejecutar con las funcionalidades vanilla HTML o bootstrap. 

```python
    from flask import Flask, escape, request

    app = Flask(__name__)

    @app.route('/')
    def hello():
        name = request.args.get("name", "World")
        return f'Hello, {escape(name)}!'
```

Además, Flask es excelente para crear prototipos rápidos debido a las útiles herramientas incluidas en su paquete. Puede optar por ORM o SQL exacto, mientras que toda la información relacionada con él está disponible en la amplia gama de documentación. 

Por supuesto, algunas desventajas surgen del uso de Flask. En primer lugar, no se incluye programación asíncrona, mientras que la configuración predeterminada para el diseño de aplicaciones en Flask es bastante complicada en términos de reutilización y limpieza del código. Además, una desventaja del uso de Flask podría ser la estructura orientada a HTML, que no está pensada para crear APIs pero que permite el diseño de APIs.
 
## Ventajas de usar la bottle

Bottle tiene como ventaja principal el proceso de distribución en un solo archivo. Significa que es sencillo compartir o subir la aplicación, ya que está diseñada básicamente como un único archivo Python. 

Además, Bottle es bastante flexible, ya que cuenta con todas las características necesarias para un sitio web, como enrutamiento o plantillas.

```python
    from bottle import route, run, template
    
    @route('/hello/<name>')
    def index(name):
        return template('<b>Hello {{name}}</b>!', name=name)
    
    run(host='localhost', port=8080)
```

Otra ventaja de Bottle es el hecho de que se encuentra en la biblioteca básica de Python, lo que significa que no necesitará instalar nada más para acceder a ella. Y es una aplicación WSGI, lo que hace que sea fácil de enlazar con casi cualquier cosa. 

<img src="https://bottlepy.org/docs/dev/_static/logo_nav.png">

El inconveniente de usar Bottle puede ser la dificultad de encontrar documentación o soporte en línea. Además, es bastante difícil establecer proyectos de más de 1.000 líneas. 

Bottle es adecuada para aplicaciones más pequeñas, ya que es difícil de manejar. Y esto podría ser el resultado del patrón de distribución de un solo archivo que carece de algunos planos de Flask.
 
En general, a la hora de elegir entre Flask o Bottle, todo gira en torno a las particularidades de su proyecto. 

Flask es ideal para cualquier tipo de aplicación web, sin importar su tamaño. Se puede adaptar a todo tipo de funcionalidades, a la vez que ofrece un excelente soporte de comunidades o tutoriales. 

Por otro lado, Bottle es mejor como marco de trabajo si necesita crear un proyecto rápidamente. Además, es muy útil para proyectos de desarrollo web a pequeña escala, ya que es rápido y fiable.


**Leer mas**
* <a href="https://gum.co/IMzBy">Course: Create Web Apps with Flask</a>
* <a href="https://flask.palletsprojects.com/en/1.1.x/">Flask Framework webpage</a>
* <a href="https://bottlepy.org/docs/dev/">Bottle Web Framework webpage</a>
* <a href="https://pythonbasics.org/flask-tutorial-hello-world/">Flask Hello World tutorial</a>