Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
ef_informatik:web_app [2021-08-31 14:38] – [Web-App mit Flask] hof | ef_informatik:web_app [2021-12-15 13:41] (aktuell) – [Async Functions] hof | ||
---|---|---|---|
Zeile 72: | Zeile 72: | ||
# Javascript | # Javascript | ||
- | Die meisten Browser können Javascript (oder ECMAScript) ausführen, um Webseiten dynamisch zu gestalten. Die Syntax ist ähnlich wie C++, C# oder Java, am bestem am Beispiel: | + | Die meisten Browser können Javascript (oder ECMAScript) ausführen, um Webseiten dynamisch zu gestalten. Die Syntax ist ähnlich wie `C++`, C# oder Java, am bestem am Beispiel: |
<file ecmascript connect_four.js> | <file ecmascript connect_four.js> | ||
Zeile 178: | Zeile 178: | ||
* Hinweis: [[https:// | * Hinweis: [[https:// | ||
- | ## Musterlösung | + | ## Musterlösung |
Wie immer gilt: es gibt unendlich viele korrekte Lösungen. {{ : | Wie immer gilt: es gibt unendlich viele korrekte Lösungen. {{ : | ||
Zeile 188: | Zeile 188: | ||
## Request & Response | ## Request & Response | ||
{{ : | {{ : | ||
- | Jeder Request verlangt eine bestimmte // | + | Jeder Request verlangt eine bestimmte // |
Der Request enthält eine Anzahl zusätzlicher Informationen als // | Der Request enthält eine Anzahl zusätzlicher Informationen als // | ||
Zeile 222: | Zeile 222: | ||
* Install Flask mit '' | * Install Flask mit '' | ||
* Use the [[https:// | * Use the [[https:// | ||
- | * Move static files to ''/ | + | |
+ | | ||
+ | * Create '' | ||
+ | <code python app.py> | ||
+ | from flask import Flask | ||
+ | |||
+ | app = Flask(__name__) | ||
+ | |||
+ | @app.route("/" | ||
+ | def hello_world(): | ||
+ | return "< | ||
+ | </ | ||
* Turn HTML into a Jinja2 template. | * Turn HTML into a Jinja2 template. | ||
* Create a connect-four game model in python. | * Create a connect-four game model in python. | ||
- | * Read up on [[https:// | + | * Our App will communicate with the Server through JSON endpoints |
- | * Add JSON endpoints for | + | * see an [[https:// |
- | * fetching gamestate | + | * we need endpoints for |
- | * inserting a piece | + | * fetching gamestate |
- | * tricky part: identify the user using [[https:// | + | * inserting a piece |
+ | * tricky part: identify the user using [[https:// | ||
* Instead of holding game state on the client side, fetch it from the server. | * Instead of holding game state on the client side, fetch it from the server. | ||
Zeile 319: | Zeile 331: | ||
* [[https:// | * [[https:// | ||
+ | {{ : |