Go für die Webentwicklung
Go für die Webentwicklung
Zusammenfassung:
Einleitung
Das Buch „Go for Web Development“ (in deutscher Übersetzung – „Go für die Webentwicklung“) von Nathan Kozyra erschien 2016 und zog sofort die Aufmerksamkeit von Entwicklern auf sich, die die Sprache Go (Golang) im Kontext der Erstellung moderner Webanwendungen erlernen möchten. Obwohl seit der Veröffentlichung einige Jahre vergangen sind, bleiben die im Buch beschriebenen grundlegenden Konzepte und Ansätze auch heute noch aktuell. Go gewinnt weiterhin an Popularität aufgrund seiner Leistung, Einfachheit und integrierten Unterstützung für Nebenläufigkeit, und die Webentwicklung mit dieser Sprache wird zunehmend nachgefragt.
Diese Rezension richtet sich an die Leser der Bildungswebsite PythonLib, die sich nicht nur für Python, sondern auch für andere Programmiersprachen interessieren, insbesondere für diejenigen, die ihr Toolkit erweitern und lernen möchten, hochbelastbare Webdienste zu erstellen.
Worum es in dem Buch geht
Das Buch ist ein praktischer Leitfaden, der den Leser Schritt für Schritt von den Grundlagen von Go bis zur Erstellung einer vollwertigen Webanwendung führt. Der Autor vertieft sich nicht in übermäßige Theorie, sondern konzentriert sich auf reale Aufgaben, denen ein Webentwickler gegenübersteht: Request-Routing, Arbeit mit Vorlagen, Interaktion mit Datenbanken, Formularverarbeitung, Authentifizierung und Sicherheit sowie Testen und Bereitstellung.
Die Struktur des Buches ist logisch und konsequent:
- Kapitel 1–2: Einführung in Go, Installation, Einrichtung der Umgebung, grundlegende Syntax und Datentypen.
- Kapitel 3–5: Arbeit mit HTTP, Erstellung einfacher Webserver, Routing und Middleware.
- Kapitel 6–8: Templating, Arbeit mit Formularen, Dateien und Sitzungen.
- Kapitel 9–11: Interaktion mit Datenbanken (SQL und NoSQL), Caching, Arbeit mit APIs.
- Kapitel 12–14: Sicherheit (XSS, CSRF, SQL-Injection), Testen und Bereitstellung der Anwendung.
Für wen ist dieses Buch geeignet
Das Buch richtet sich an Entwickler, die bereits über grundlegende Programmiererfahrung (in einer beliebigen Sprache) verfügen und Go speziell für die Webentwicklung erlernen möchten. Es wird nützlich sein für:
- Python-Entwickler, die Go für die Erstellung leistungsstarker Microservices erlernen möchten.
- Anfängende Go-Programmierer, die ihr Wissen in der Praxis anwenden möchten.
- Webentwickler, die eine Alternative zu Node.js oder PHP für den Backend-Bereich suchen.
- Studenten und Dozenten, die moderne Programmiersprachen studieren.
Erwarten Sie von dem Buch keine tiefgehende theoretische Auseinandersetzung mit der Sprache oder Algorithmen – es ist ein rein praktischer Leitfaden mit Schwerpunkt auf der Erstellung eines funktionierenden Produkts.
Was der Leser lernen wird
Nach der Lektüre des Buches und der Durchführung der Beispiele wird der Leser in der Lage sein:
- Eine Entwicklungsumgebung für Go einzurichten und die Projektstruktur zu organisieren.
- HTTP-Server zu erstellen und Anfragen verschiedener Typen (GET, POST, PUT, DELETE) zu verarbeiten.
- Die Standardbibliothek net/http für Routing und Middleware zu nutzen.
- Mit HTML-Vorlagen über das Paket html/template zu arbeiten.
- Mit relationalen Datenbanken (MySQL, PostgreSQL) und NoSQL (MongoDB) zu interagieren.
- Benutzerauthentifizierung und Schutz vor häufigen Websicherheitslücken zu implementieren.
- Unit-Tests und Integrationstests für Webanwendungen zu schreiben.
- Eine fertige Anwendung auf einem Server bereitzustellen (Heroku, Docker).
Stärken
Einer der Hauptvorteile des Buches ist seine praktische Ausrichtung. Jedes Kapitel enthält zahlreiche Codebeispiele, die sofort ausgeführt und modifiziert werden können. Der Autor verwendet ausschließlich die Standardbibliothek von Go (mit Ausnahme der Datenbanktreiber), was es dem Leser ermöglicht, die interne Funktionsweise der Sprache besser zu verstehen, anstatt sich auf externe Frameworks zu verlassen.
Erwähnenswert ist auch die klare Struktur: vom Einfachen zum Komplexen, ohne abrupte Sprünge. Das Buch eignet sich gut zum Selbststudium – alle Beispiele werden mit Erklärungen begleitet, und am Ende der Kapitel gibt es Übungen zur Vertiefung.