AWS Amplify im Blick

AWS Amplify ist eine Sammlung von Tools von AWS, die Ihnen beim Erstellen von Anwendungen helfen.

Gestatten Sie mir, die Bühne zu bereiten, um zu versuchen, dies so klar wie möglich zu machen. Ich habe einen Freund (wahre Geschichte), der eine App rund um körperliches Training entwickeln möchte. Seine Frau ist eine Fitnesstrainerin, und sie denken, dass man damit vielleicht etwas Geld verdienen kann. Es ist nicht vollständig spezifiziert, aber vielleicht verkauft die App Zugang zu personalisierten Trainingsprogrammen, bietet maßgeschneiderte Diäten, Trainingsvideos und erledigt die Terminplanung für Einzelberatungen. Klingt für mich schlau! Angenommen, sie beweisen die Idee bis zu einem gewissen Grad, ist es an der Zeit, ihre Entwicklungsfähigkeiten einzusetzen und mit dem Bau zu beginnen.

Viele der Anforderungen einer solchen App lassen sich direkt und einfach auf Amplify übertragen. Ein Entwickler, der mit der Planung beginnt, könnte so denken:

  • Wir müssen das irgendwo hosten… Amplify bietet Static Web Hosting. Und es ist voll funktionsfähig mit dem schicken DX, das wir heutzutage erwarten: Ich verbinde ein Git-Repository, und es wird nicht nur ein Deployment zu CDN-gestütztem globalem statischem Hosting basierend auf Commits durchgeführt, sondern es wird auch mein CI/CD (z. B. Tests ausführen) ausgeführt und mir URLs zur Vorschau von Feature-Branches zur Verfügung gestellt. Das alles erledigen Sie mit der AWS Amplify Console.
  • Wir brauchen Benutzerauthentifizierung… Der Sinn der Sache ist, dass Benutzer sich anmelden können, um auf ihre Daten zuzugreifen. Amplify hilft dabei (es ist Amazon Cognito integriert), was typische Anmeldungs-/Registrierungs-/Passwort-vergessen-Funktionen ermöglicht, aber auch alle erwarteten Social-Login-Funktionen. Dies ist ein Beispiel dafür, was Amplify tut: Es hilft, zugrunde liegende Cloud-Dienste mit minimalem Code zu abstrahieren und zu erstellen.
  • Wir brauchen Datenspeicherung… Idealerweise wird dies mit GraphQL verwaltet, da mein modernes Frontend davon stark profitiert (vielleicht ist es eine React-App). Amplify hat das. Es ist AWS AppSync integriert, was bedeutet, dass Sie jeden Datenspeichertyp verwenden können, aber erstaunliche zusätzliche Funktionen erhalten, wie z. B. GraphQL-Endpunkte, Echtzeit-Datensynchronisierung und Offline-Unterstützung.

Das sind nur die Grundlagen. All das ist äußerst gut abgedeckt.

Wie richten wir all das ein? Das ist einer der besten Teile: Es gibt eine CLI, die bei allem hilft. Wie kommen wir zum Beispiel mit der Datenspeicherung voran? Sobald die CLI installiert ist und wir amplify init im Projekt ausgeführt haben, führen wir amplify add api aus, und wir werden dadurch geführt.

Nun, für diese körperliche Trainings-App benötigen wir auch eine statische Dateispeicherung. Vielleicht haben alle Benutzer benutzerdefinierte Avatare, und die Videos selbst benötigen geschütztes Hosting. Nun, wir sind hier im AWS-Bereich, also sind S3-Buckets perfekt geeignet. Wie? amplify add storage und wir werden dadurch geführt, und natürlich gibt es Dokumentation.

Wirklich beeindruckend. Wir können fast das gesamte Ding mit Amplify bauen.

Einmal könnten wir uns an einen anderen Dienst wenden müssen, um Zahlungen abzuwickeln. Stripe ist aufgrund seines großartigen DX und seiner robusten APIs normalerweise die erste Wahl der Entwickler. Sie sind genau für solche Apps konzipiert. Wir würden unsere Kommunikation mit den Stripe-APIs über serverlose Funktionen abwickeln. Und was wissen Sie? Wir sind hier im AWS-Bereich, also haben wir Zugriff auf Lambdas, den besten Anbieter für serverlose Funktionen überhaupt. Der Trick ist, dass unser GraphQL-Setup über AppSync eine Lambda aufrufen kann, die mit jeder externen API kommunizieren kann. Glücklicherweise gibt es hier von Ramon Postulart eine detaillierte Anleitung.

Und hier ist ein weiterer Ansatz von Beez Fedia.


Hier ist also, was ich für wichtig halte:

  • Amplify ist ein Helfer. AWS bietet unzählige Cloud-Dienste an. Amplify hilft Ihnen, diese zu verbinden und mit der Nutzung der wichtigen zu beginnen, die Sie benötigen.
  • Das statische Hosting ist die Grundlage für ein Webprojekt. Dies ist ein Jamstack-Ansatz. Aber selbst das ist nicht zwingend erforderlich, Sie können zum Beispiel eine iOS-App mit den Tools erstellen.
  • AWS ist der größte Cloud-Anbieter der Welt und betreibt viele der größten Websites der Welt. Sie können hier ein persönliches Projekt erstellen und typischerweise unter dem kostenlosen Kontingent bleiben, aber Sie müssen sich nie Sorgen um die Skalierung machen. Hier sind Sie an der richtigen Stelle für Skalierung.
  • Es gibt viel zu entdecken. Wenn Sie eines Tages aufwachen und Push-Benachrichtigungen hinzufügen oder etwas wie maschinelles Lernen erkunden möchten, gibt es auch das.

Wenn Sie bis hierher gelesen haben, denke ich, dass dieses schnelle High-Level-Video besser ankommen wird

https://www.youtube.com/watch?v=-Vm-4BbY58Y&feature=emb_title

Weitere Ressourcen