Python Flask vs Bottle (German)
Tags: python, webdev, german, deutsch
Published: 2019-10-30 12:34:28

Sowohl <a href="https://palletsprojects.com/p/flask/">Flask</a> als auch <a href="https://bottlepy.org/docs/dev/">Bottle</a> werden häufig als Backend Web-Frameworks für Python verwendet. Wie auch immer, Flask gilt als effizienter, und als Folge davon wählen Programmierer es oft anstelle von Bottle. 

Nachfolgend sehen wir, was die Vorteile dieser Frameworks sind und wie sie sich in Bezug auf Funktionalität und Nutzung unterscheiden. 
 
Bevor Sie mit der Webprogrammierung beginnen, lernen Sie die <a href="https://pythonbasics.org">Grundlagen von Python</a>.

## Vorteile der Verwendung von Flask

Der Hauptvorteil von Flask besteht darin, dass es zu Dokumentationszwecken auf eine Vielzahl von Online-Ressourcen zugreifen kann. 

Es ist eines der am häufigsten verwendeten Python Web-Frameworks, weshalb es dafür viele Tutorials oder Bibliotheken gibt. 

Was Flask als Go-to-Struktur empfiehlt, ist auch sein minimalistischer Ansatz, der nicht von seiner Kraft verliert. Es ist einfach, entweder mit Vanille-HTML- oder Bootstrap-Funktionalitäten zu arbeiten. 

````python
    aus dem Flaschenimport Flask, Flucht, Anforderung

    app = Flask(__name__)

    @app.route('/')
    def hello():
        name = request.args.get("name", "world")
        gibt f'Hello, {escape(name)} zurück!'!
```

Außerdem eignet sich Flask hervorragend für die Erstellung schneller Prototypen, da die nützlichen Tools im Lieferumfang enthalten sind. Sie können sich für ORM oder genaues SQL entscheiden, während alle damit verbundenen Informationen in der umfangreichen Dokumentation verfügbar sind. 

Natürlich ergeben sich einige Nachteile bei der Verwendung von Flask. Erstens ist keine Asynchronisationsprogrammierung enthalten, während das Standard-Setup für das Design von Apps in Flask eine große Herausforderung in Bezug auf Wiederverwendbarkeit und Code-Reinheitlichkeit darstellt. Ein Nachteil der Verwendung von Flask könnte außerdem die HTML-orientierte Struktur sein, die nicht für die Erstellung von APIs gedacht ist, aber dennoch das Design von APIs ermöglicht.
 
## Vorteile der Verwendung von Bottle

Bottle hat als Hauptvorteil den Single-File-Verteilungsprozess. Es bedeutet, dass es einfach ist, die App zu teilen oder hochzuladen, da sie grundsätzlich als eine einzige Python-Datei konzipiert ist. Darüber hinaus ist Bottle sehr flexibel, da es alle notwendigen Funktionen für eine Website bietet, wie Routing oder Templating.

````python
    aus Flaschenimportroute, Durchlauf, Vorlage
    
    @route('/hello/<name>')
    def index(name):
        return template('<b>Hello {{name}}}</b>!', name=name)
    
    run(host='localhost', port=808080)
```


Ein weiterer Vorteil von Bottle ist die Tatsache, dass es in der Basisbibliothek von Python enthalten ist, was bedeutet, dass Sie nichts anderes installieren müssen, um darauf zuzugreifen. Und es ist eine WSGI-App, die es einfach macht, mit fast allem zu verlinken. 

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

Der Nachteil der Verwendung von Bottle kann die Schwierigkeit sein, Dokumentation oder Online-Support zu finden. Außerdem ist es eine große Herausforderung, Projekte mit mehr als 1000 Linien zu realisieren. Bottle ist für kleinere Apps geeignet, da es schwierig zu verwalten ist. Und dies könnte ein Ergebnis des Single-File-Verteilungsmusters sein, dem einige Flask-Blaupausen fehlen.
 
Insgesamt dreht sich bei der Wahl zwischen Flask und Bottle alles um die Besonderheiten Ihres Projekts. Flask ist ideal für jede Art von Webanwendung, unabhängig von ihrer Größe. Es kann sich an alle möglichen Funktionalitäten anpassen und bietet gleichzeitig hervorragende Unterstützung durch Communities oder Tutorials. 

Auf der anderen Seite ist Bottle am besten als Framework geeignet, wenn Sie ein Projekt schnell erstellen müssen. Außerdem ist es sehr nützlich für kleine Web-Entwicklungsprojekte, da es schnell und zuverlässig ist.

**Related links**
* <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>