9 Gründe, Ihre Web-App mit dem Jamstack zu erstellen

Das Erstellen einer flexiblen und iterierbaren Anwendung in kurzer Zeit kann eine Herausforderung sein. Bekannte Clouds wie AWS, Azure und GCP helfen dabei, skalierbare Webanwendungen innerhalb weniger Wochen mit geringen Kosten bereitzustellen. Wählen Sie eine verwaltete Datenbank aus, verschieben Sie den Anwendungscode in Docker-Container oder Back-End-Funktionen und stellen Sie alles bei Codeänderungen bereit. So sieht moderne Anwendungsentwicklung aus, oder?

In diesem Beitrag werde ich die wichtigsten Dinge beschreiben, die für die Entwicklung und den Versand von Software in erstaunlichem Tempo erforderlich sind. Dazu gehört eine Next.js-Anwendung, die in TypeScript geschrieben, über Vercel bereitgestellt und von einer serverlosen Datenbank namens FaunaDB unterstützt wird. Ich werde jedes dieser Dinge im Detail erklären und hier und da einige Beispiele hinzufügen. Ich kann es nur empfehlen, sie alle auszuprobieren. Alle haben großzügige kostenlose Ebenen und können von einem kleinen Entwicklerteam mit bis zu drei Mitgliedern verwendet werden.

Die Verwendung von entwicklerorientierten Bereitstellungsplattformen in Kombination mit serverlosen Angeboten wird als Jamstack zusammengefasst. "JAM" bedeutet JavaScript, APIs und Markup. Weitere Informationen zum Jamstack finden Sie unter //jamstack.org/.

Die Bereitstellung ist ein Implementierungsdetail

Die Anzahl der Dienste, die ich in einer Cloud verwenden kann, ist überwältigend. Zu diesem Zeitpunkt verfügt AWS über 250 verschiedene Services. Ich muss definieren, wie Verbindungen für meine neuen Funktionen, für meine Nichtproduktionsumgebung und für meine Produktionsumgebung hergestellt und bereitgestellt werden sollen

Wenn ich an einem Projekt mit mehreren Entwicklern gleichzeitig arbeite, würde ich gerne einfach eine URL an meinen Kollegen übergeben, um meinen aktuellen Feature-Zweig freizugeben.

Außerdem muss ich Domänen und Subdomänen einrichten, den Dienst skalieren, öffentliche Endpunkte verkabeln, Datenbankverbindungen verwalten, die Verwaltung von Geheimnissen einrichten usw. 

Die Vercel-Plattform lässt sich nahtlos mit Versionskontrollsystemen wie GitHub oder GitLab verbinden. Ich verbinde einfach mein Repository und passe meine Nameserver-Hostnameneinstellung an, und fertig.

In meinem aktuellen Projekt habe ich einige praktische npm-Aufgaben definiert, die in jedem Build verwendet werden, um sicherzustellen, dass unsere Software sowohl funktioniert als auch den Softwarestandards und Best Practices entspricht:

{

"Skripte": {

    "tsc": "tsc", // Typensicherheit prüfen

    "lint": "eslint", // statische Code-Analyse durchführen

    "lint: ci": "eslint --max-warnings = 0",

    "lint: fix": "eslint --fix",

    "test": "jest --watch", // Tests ausführen

    "test: ci": "jest --ci",

    "Test: Berichterstattung": "Scherz - Berichterstattung",

    "prüft": "npm-run-all lint: ci tsc test: ci",

    "dev": "env-cmd next dev", // lokale Entwicklungsumgebung starten

    "start": "next",

    "start-port": "nächster Start -p $ PORT",

    "build": "next build",

    "now-build": "npm-run-all prüft den Build", // CI-Build

    "dienen": "nächster Start",

  }}

}}

Standardmäßig führt Vercel die now-buildAufgabe bei jedem Build aus. Dies löst einige andere Aufgaben aus, die unseren Code statisch überprüfen, alle Tests ausführen und unsere Software erstellen.

Aufgrund der Tatsache, dass einfach alles funktioniert, sind viele Funktionen der Bereitstellungsplattform sofort verfügbar. Ich profitiere von bevorstehenden Verbesserungen, ohne dass sie mir in Zukunft Probleme bereiten.