Isomorphes Go
Isomorphes Go
Zusammenfassung:
Einleitung
Das Buch „Isomorphic Go“ von Kamesh Balasubramanian, erschienen im Jahr 2017, ist ein einzigartiger Leitfaden zur Erstellung moderner Webanwendungen, die sowohl serverseitiges als auch clientseitiges Rendering auf Basis der Sprache Go nutzen. Obwohl in den Metadaten JavaScript (Node.js) angegeben ist, besteht die Hauptidee des Buches darin, Go für den Serverteil und JavaScript für den Clientteil zu verwenden, um Isomorphie (gemeinsamen Code zwischen Server und Client) zu erreichen. Das Buch umfasst 326 Seiten und bietet einen praktischen Ansatz für die Entwicklung.
Worum geht es in diesem Buch
Das Buch widmet sich dem Konzept isomorpher (universeller) Webanwendungen, bei denen derselbe Code sowohl auf dem Server als auch auf dem Client ausgeführt werden kann. Der Autor zeigt, wie man Go für die serverseitige Logik und JavaScript für den Clientteil einsetzt, während eine gemeinsame Datenstruktur und Vorlagen gewährleistet werden. Der Schwerpunkt liegt auf dem Framework GopherJS, das die Kompilierung von Go-Code in JavaScript ermöglicht und so die Isomorphie realisierbar macht.
Hauptthemen:
- Einführung in die isomorphe Architektur und ihre Vorteile.
- Einrichtung der Entwicklungsumgebung für Go und GopherJS.
- Erstellung des Serverteils in Go unter Verwendung der Standardbibliothek und gängiger Pakete.
- Kompilierung von Go-Code in JavaScript mit GopherJS.
- Entwicklung der Client-Logik in Go, die im Browser läuft.
- Organisation von gemeinsamem Code (Modelle, Validierung, Vorlagen).
- Arbeit mit Datenbanken und APIs.
- Testen und Bereitstellen der isomorphen Anwendung.
Für wen ist dieses Buch
Das Buch richtet sich an Entwickler, die bereits mit den Grundlagen von Go und JavaScript vertraut sind und einen modernen Ansatz zur Erstellung von Webanwendungen erlernen möchten. Es ist nützlich für:
- Go-Entwickler, die ihre Fähigkeiten in der Webentwicklung erweitern möchten.
- JavaScript-Entwickler, die sich für serverseitige Programmierung mit Go interessieren.
- Alle, die das Konzept isomorpher Anwendungen verstehen und in der Praxis umsetzen möchten.
Was der Leser lernen wird
Nach der Lektüre des Buches wird der Leser in der Lage sein:
- Die Prinzipien der isomorphen Architektur und ihre Unterschiede zu traditionellen Ansätzen zu verstehen.
- Ein Projekt mit Go und GopherJS einzurichten.
- Servercode in Go zu schreiben, der HTTP-Anfragen verarbeitet und HTML rendert.
- Go-Code in JavaScript für die Ausführung im Browser zu kompilieren.
- Gemeinsame Module (Modelle, Validatoren) zu erstellen, die auf beiden Seiten funktionieren.
- Client-Server-Interaktion über REST-APIs zu implementieren.
- Die fertige isomorphe Anwendung zu testen und bereitzustellen.
Stärken des Buches
Das Buch zeichnet sich durch folgende Vorzüge aus:
- Praktische Ausrichtung: Jeder Abschnitt wird von Code und Beispielen begleitet, die sofort anwendbar sind.
- Aktualität des Konzepts: Isomorphe Anwendungen sind weiterhin für SEO und Leistung gefragt.
- Einzigartigkeit: Zum Zeitpunkt der Veröffentlichung war das Buch eines der wenigen, das sich mit Isomorphie mit Go befasste.
- Klare Struktur: Vom Einfachen zum Komplexen, mit allmählicher Steigerung der Beispielkomplexität.
- Community-Unterstützung: Der Autor ist aktiv an der Entwicklung von GopherJS beteiligt und teilt seine Erfahrungen.
Empfehlung
Wir empfehlen das Buch allen, die über die traditionelle Webentwicklung hinausgehen und den isomorphen Ansatz mit Go erlernen möchten. Besonders nützlich ist es für Teams, die eine Vereinheitlichung der Codebasis und eine Verbesserung der Benutzererfahrung anstreben. Obwohl das Buch 2017 erschienen ist, bleiben die grundlegenden Prinzipien und Werkzeuge (GopherJS) relevant, und die daraus gewonnenen Erkenntnisse helfen, moderne Frameworks schneller zu erlernen.
Empfehlungen
Programmierung des maschinellen Sehens mit Python
Refactoring von C# (.NET)-Code: Ein praktischer Leitfaden
Leistung von JavaScript (Node.js) Anwendungen
API-Entwicklung mit Kotlin: Von den Grundlagen bis zur Produktion
Asynchrones C++: Das vollständige Handbuch
Swift (iOS/macOS) und Docker: Containerisierung von Anwendungen