Leseproben
Jan Stamer comdirect bank

„Buffalo bietet eine einheitliche Struktur, berücksichtigt für uns Best Practices der Go-Webentwicklung und deckt den kompletten Lebenszyklus von der Entwicklung bis zur Produktion ab.“

Die Weiten des Webs lieben Go. Aber auf der Suche nach dem passenden Web-Framework kann man sich leicht verirren. Die Suche hat jetzt ein Ende, denn mit Buffalo lernt ihr das vollständigste Ökosystem für Webanwendungen mit Go kennen. Mit diesem Büffel seid ihr auf jedem Ritt durch die Weiten des Webs richtig unterwegs.

Buffalo ist ein ganzes Ökosystem zur Entwicklung von Webanwendungen in Go. Routing, Templating und Testing werden von Buffalo zu einer Webanwendung nach dem Model-View-Controller-Ansatz kombiniert. Die Peitsche schwingt dabei ein mächtiges Tooling mit Hot-Code-Reload, einem Codegenerator für Views und Controller und zur Automatisierung wiederkehrender Aufgaben, wie JavaScript komprimieren oder Datenbankskripte einspielen. Dazu kombiniert Buffalo bestehende Bibliotheken, wie das Webtoolkit Gorilla, mit Best Practices der Go-Webentwicklung, wie einer einheitlichen Struktur für Packages und Verzeichnisse oder dem Handling der Datenbank-Session. Buffalo erfindet also nichts neu, sondern kombiniert Bestehendes zu einem Ökosystem für Webanwendungen mit Go. So kann jeder Cowboy das auswählen, was er für seine Reise durch die Weiten des Webs braucht.

Cowboy George baut ein REST API für die Best Western Bank mit Postgres im Backend und nutzt das Routing und die Datenbankanbindung. Cowgirl Abby braucht Templating und die Asset-Pipeline für ihre Webanwendung zur Tischreservierung im Klondike Saloon. Jetzt aber genug der Worte, satteln wir die Pferde damit ihr Greenhorns endlich was über Buffalo lernt.

Als erste Buffalo-Anwendung bauen wir ein REST API mit Cowboy George. Als zweite Buffalo-Anwendung helfen wir Cowgirl Abby bei ihrer Webanwendung mit Frontend für den Klondike Saloon.

Let’s go, Buffalo

Bevor es losgeht, müssen wir Buffalo erst noch installieren. Das geht am einfachsten über go get -u -v github.com/gobuffalo/buffalo/buffalo oder wie in der Buffalo-Dokumentation beschrieben. Jetzt sollte der Befehl buffalo auf der Kommandozeile die Buffalo-Hilfe ausgeben. Buffalo unterstützt Go Modules zur Verwaltung der Package Dependencies, also aktivieren wir Go Modules mit der Umgebungsvariable GO111MODULE=on.

Cowboy Georges REST API

Als Erstes folgen wir den Spuren von Cowboy George und seines REST API für die Best Western Bank. George erstellt das Grundgerüst für seine neue Buffalo-Webanwendung mit dem Kommandozeilentool buffalo. Der Befehl buffalo new bwb ––api erzeugt eine neue Buffalo-Webanwendung ohne Frontend (daher der Zusatz ––api). George hat jetzt eine vollständige und lauffähige Webanwendung für seinen Kunden Best Western Bank im Verzeichnis bwb. Schauen wir uns an, was Buffalo generiert hat.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Entwickler Magazin 5.19 - "Web & Beyond"

Alle Infos zum Heft
579901231Go Buffalo
X
- Gib Deinen Standort ein -
- or -