Web Apps: Eintauchen

  • Erstelle eine Web-App, die Bilder anzeigt und Töne abspielt
  • Lerne, wie du mit Jupyter Notebooks Datendiagramme in Python erstellst
  • Erstelle eine Daten-Dashboard-Web-App mit Streamlit

STREAMLIT

Die Erstellung einer Web-App mit Streamlit und Python ist ganz einfach. Wie bei blockbasierten Kodierungsplattformen gibt es auch bei Streamlit viele Komponenten und Widgets, die mit einer einzigen Zeile Code zu deiner App hinzugefügt werden können. Der größte Teil des Codes ist bereits für dich geschrieben und verpackt, sodass du dich auf die Ziele deiner App konzentrieren kannst, anstatt dich in vielen schwierigen Codes zu verzetteln. 

Um die Verwendung von Streamlit zu üben, nehmen wir eines unserer Beispiele für mobile Apps von Thunkable und App Inventor und zeigen, wie dieselbe App mit Streamlit in Form einer Web-App erstellt werden kann. 

AKTIVITÄT 1: SOUNDBOARD-APP

Geschätzte Zeit: 30 Minuten

Code für eine Streamlit Web App

  1. Klicke auf den Button unten, um die Assets (Bilder und Sounddateien) herunterzuladen, die für die App benötigt werden.
  2. Folge eine dieser Videos, um eine einfache Soundboard-App zu erstellen, die Töne abspielt, wenn eine Taste gedrückt wird.
  3. Füge eine vierte Person zu deiner App hinzu. Finde ein Bild und eine kurze Tondatei, die du der App hinzufügen kannst. Hier ist ein Link zu einigen berühmten Reden.
Asset-Dateien herunterladen

ARBEIT MIT DATEN

Die Sprache Python arbeitet gut mit Daten. Python hat viele Bibliotheken, die speziell dafür entwickelt wurden, um Daten zu lesen, zu bearbeiten und darzustellen. In Kombination mit der Streamlit-Plattform können Programmierer/innen ganz einfach Apps erstellen, die Daten analysieren und für Nutzer/innen anzeigen. Und du kannst den nächsten Schritt machen und Datensätze und Machine-Learning-Modelle in eine App einbinden.

Datendiagramme

Die meisten Programmierer/innen und Datenwissenschaftler/innen arbeiten mit Daten in Python, indem sie Software namens Notebooks verwenden. Eine der beliebtesten Notebook-Schnittstellen ist Jupyter Notebook. Laut den Ergebnissen der Kaggle-Umfrage 2022 sind Jupyter Notebooks die beliebteste interaktive Entwicklungsumgebung (IDE) für Datenwissenschaftler, die von über 80 % der Befragten genutzt wird. 

Jupyter Notebook läuft in einem Browser, obwohl es auch andere Schnittstellen gibt. Zum Beispiel kann es direkt in Visual Studio Code integriert werden. 

Die Maschine hinter dem Notebook, die den Code ausführt, wird als Kernel. Für Python wirst du den ipython-Kernel verwenden. 

In den Notizbüchern kannst du sowohl Text als auch Python-Code schreiben. Der Text wird in einer Markdown-Sprachegeschrieben, mit einfachen Befehlen zum Formatieren des Textes. Das ist eine gute Möglichkeit, um Überschriften und Erklärungen zum Code im Notizbuch hinzuzufügen.

Du kannst auch Python-Code direkt im Notizbuch ausführen. 

jupyter notebook screenshot der codezellen

Ähnlich wie ein physisches Notizbuch, das du vielleicht in der Schule benutzt, sind Jupyter Notebooks eine großartige Möglichkeit, um Notizen zu machen, deine Gedanken zu einem Datenprojekt zu organisieren und Informationen zu erforschen. Durch die zusätzliche Möglichkeit, Code auszuführen, kannst du mit Python-Code auf kontrollierte und organisierte Weise experimentieren. 

Jupyter Notebooks helfen dir, verschiedene Aspekte deiner Web-App zu planen und zu testen, bevor du mit dem Visual Code Editor die eigentliche App erstellst.

PYTHON-BIBLIOTHEKEN

Es gibt viele Bibliotheken, die du in deinem Code verwenden musst, um deine Web-App zu erstellen. A Bibliothek ist eine Sammlung von vorgefertigtem Code, der bestimmte Aufgaben erfüllt. Programmierbibliotheken sind sehr mächtig und bedeuten, dass deine App mit nur wenigen Zeilen Code mächtige Dinge tun kann. 

Für Python müssen die meisten Bibliotheken zunächst auf deinem Computer installiert werden. Dann importierst du in deiner Python-Skriptdatei die benötigten Bibliotheken. 

Ein Beispiel für die Bibliotheken, die du für die Verwendung von Daten brauchst, sind numpy und pandas.

Pandas ermöglicht es deiner App, einfach mit großen Datenmengen zu arbeiten. Die Daten werden in einem so genannten Datenrahmen gespeichert, und deine Anwendung arbeitet mit diesem Datenrahmen. Numpy hat viele Funktionen, um numerische Operationen mit den Daten im Datenrahmen durchzuführen.

Außerdem gibt es viele Plotting- und Graphing-Bibliotheken, mit denen die Nutzer die Daten visualisieren können. Die beliebtesten Visualisierungsbibliotheken in Python sind matplotlib, plotlyund seaborn

In der folgenden Aktivität werden alle diese Bibliotheken verwendet. Dabei wird ein Datensatz aus einer Umfrage zu Musik und psychischer Gesundheit verwendet, um eine Daten-Dashboard-App zu erstellen, die die Daten auf verschiedene Arten anzeigt, mit denen der Benutzer interagieren kann.

AKTIVITÄT 2: DATA DASHBOARD

Geschätzte Zeit: 90 Minuten

Baue eine Streamlit Web App

Je nachdem, ob du auf deinem Computer oder in der Cloud codierst, folgst du der entsprechenden Reihe von Videos.
  • Auf deinem Computer:
    1. Folge diesem Video(Teil 1), um das Jupyter Notebook zu installieren und auszuführen. Klicke auf den Link unten, um die Notebook-Datei herunterzuladen.
    2. Folge diesem Video(Teil 2), um die Daten-Dashboard-App mit Streamlit zu erstellen.
  • In der Wolke:
    1. Folge diesem Video(Teil 1), um das Jupyter Notebook in Github Codespaces auszuführen.
    2. Folge diesem Video(Teil 2), um die Daten-Dashboard-App mit Streamlit.io zu erstellen.
Du bist dran: Füge eine weitere Grafik zu deinem Daten-Dashboard hinzu. Du kannst eines der anderen Diagramme aus dem ursprünglichen Jupyter Notebook auswählen oder ein neues Diagramm im Jupyter Notebook erstellen und dann den Code in Streamlit integrieren, um es dem Dashboard hinzuzufügen.
Notizbuch herunterladen

REFLEXION

Glückwunsch, du hast zwei Web-Apps in Streamlit erstellt! Stelle dir diese Fragen:

Reflexion
Hattest du Probleme bei der Installation oder dem Betrieb von Jupyter Notebook oder Streamlit?
Wie hast du Probleme überwunden, wenn du auf sie gestoßen bist?
Wie kannst du die Ideen aus dieser Lektion in deinem Projekt verwenden?

ÜBERPRÜFUNG DER SCHLÜSSELBEGRIFFE

  • Jupyter Notebook - beliebte interaktive Entwicklungsumgebung für die Datenwissenschaft, um mit Daten durch Python-Codierung zu arbeiten
  • Kernel - ein Prozess, der läuft und als Motor hinter Jupyter Notebooks fungiert
  • Sprache Markdown - eine Sprache, mit der du Text einfach formatieren kannst, damit er besser lesbar ist
  • Bibliothek - Sammlung von vorformuliertem Code, der bestimmte Aufgaben erfüllt

ZUSÄTZLICHE RESSOURCEN

Jupyter Notebooks

 

Streamlit