AWS Förstärka Gör att Bygga Mobile Apps Enkelt

0
205

AWS Förstärka är ett ramverk för att bygga webb och native applikationer ett mycket enklare. Det fokuserar på att ha en helt byggd backend out of the box—kör ett API och en databas med autentisering är alla hanteras för dig.

Vad Är AWS Förstärka?

Förstärker inte ta plats i en ram som Reagerar—du är fri att använda vad skal du vill ha (men Reagerar, Reagerar Infödda, Vue, Android och iOS är bäst kan stödjas med särskilda bibliotek). Förstärker kommer att hantera backend, sådana saker som att köra en API-server, hantera databasen för det, och autentisera klienter.

När du skapar en Förstärka projektet, backend resurser kommer att konfigureras automatiskt med hjälp av CloudFormation. När du lägger till ett API, du kommer helt enkelt att bli ombedd att definiera schemat, och en DynamoDB bord att skapas åt dig, med föraren metoder för att prenumerera, fråga, och uppdatera poster som genereras också. Om du vill avsluta en tredje stat verktyg som Redux runt Förstärka är backend, du kan göra det också.

För autentisering, Förstärker kan anslutas till Amazon Cognito, en mångsidig identity management service. Cognito kan hantera MFA, användaren logga in och registrera dig, katalogtjänster, och federera inloggningar till sociala tjänster (Google, Facebook), eller ens din egen Active Directory-server över SAML.

Förstärker också innehåller en UI bibliotek fullt av användbara komponenter, liknande Bootstrap. Men, Förstärka UI bibliotek fokuserar på funktionella flöden, som användare registrera sig och logga in, fil och ladda upp foto, och AWS Lex-drivna chatbots. Att använda autentisering komponent, till exempel, kommer att göra att ansluta din app för att Förstärka s auth backend (Cognito) mycket lättare.

Du kan givetvis förlänga dessa med din egen kod och färger, om du inte är ett fan av AWS ikoniska orange.

Komma Igång

Om du vill hoppa i och leka med Förstärka installationen är ganska enkel. Installera Förstärka CLI globalt från npm:

npm install-g @aws-förstärka/cli

För själva ansökan, vi ska komma igång med en grundläggande Reagera app använder Reagera egna skapa-reagera-app starter mall:

npx skapa-reagera-app förstärka

cd-skivan till den nya mappen och installera Förstärka en npm beroende:

npm install @aws-förstärka/api @aws-förstärka/pubsub

Kör npm start, och du bör se spinning Reagera logotypen öppnas i din webbläsare.

Om du vill använda Förstärka tillval UI-bibliotek, som är tillgänglig som ett separat paket för att Reagera:

npm install aws-förstärka-reagera

När allt är installerat klienten, kan du ställa in din Förstärka projektet med hjälp av CLI:

förstärka init

Detta kommer att be dig om lite av information, till exempel namnet på miljön (dev, prod, etc.), den typ av app som du byggnad (JavaScript, Reagera Modersmål), och källkoden och bygga konfiguration. Ange i allt som behövs, och Förstärka kommer att ta en sekund för att ställa in din backend.

Detta kommer att koppla upp Förstärka till AWS-Konsolen, men du kommer att behöva göra några mer inställningar för att få API igång.

Lägga till En API

Att ställa upp Förstärka API-gränssnitt, kör:

förstärka lägg till api

Detta kommer att ställa några frågor, och den första är din API-typ. Om du vill använda en GraphQL eller Rest API, du måste göra det valet här. Vi ska gå med GraphQL.

Du kommer också att välja ett autenticeringssystem—om du bara testa saker, du kan välja API-nyckel för att verifiera i utveckling. I produktion men du kommer förmodligen vill ställa upp AWS Cognito för hantering av användare och länka den till att Förstärka, vilket är den rekommenderade auth systemet för att Förstärka apps.

Du kommer att bli ombedd att ange schema för din API, vilket kommer att öppna upp i din standard text editor. Förstärker kommer att använda detta för att konfigurera DynamoDB.

När det är upprättas, kör förstärka tryck för att skicka ändringarna till molnet. Förstärker kommer att fråga dig om du skulle vilja att skapa GraphQL funktioner för att interagera med din API, som kommer att automatiskt generera metoder för frågor, abonnemang, och mutationer.

Första gången du trycker på en DynamoDB tabellen kommer att administreras och konfigureras automatiskt. Du kan visa tabellen sig från Förstärka konsolen:

Men om du vill göra ändringar i schemat, måste du göra det via konsolen. Förstärka är backend konfiguration sparas i:

projekt/förstärka/backend/

med API konfiguration lagras i api/förstärka. Om du gör ändringar, och kör förstärka tryck igen, det kommer att göra ändringar till CloudFormation stack.

För att använda ditt API kan du importera PubSub från Förstärka och konfigurera det att använda den konfiguration som Förstärker placeras i src/aws-exports.js

importera API, { graphqlOperation } från ‘@aws-förstärka/api’;
importera PubSub från ‘@aws-förstärka/pubsub’;

importera awsconfig från”. /aws-export’;

// Konfigurera Förstärka
API.konfigurera(awsconfig);
PubSub.konfigurera(awsconfig);

Du kan sedan använda API-objekt för att göra-anslutningar. Till exempel, om du använder GraphQL kan du importera mutation metoder och kalla en av dem med hjälp av API.graphql(metod):

import { createTodo } från”. /graphql/mutationer’;

asynkron funktion createNewTodo() {
const todo = { name: “nytt objekt” , beskrivning: “Hej Förstärka!” };
väntar API.graphql(graphqlOperation(createTodo, { input: todo }));
}

Publicera Din Förstärka App

Du är fri att distribuera din Förstärka app men du tycker passar, men om du publicerar en web app, Förstärka innehåller några inbyggda funktioner för att automatiskt distribuera din app till S3. Det förvalda alternativet är för en dev miljön med någon HTTPS, men det kan vara konfigurerad för att använda CloudFront också. Ett alternativ till detta skulle vara att inrätta en automatiserad S3 distribution rörledning från CodePipeline, eller att helt enkelt placera den på en befintlig webbserver istället.

Om du vill distribuera till S3, lägg helt enkelt till webbhotell har från CLI:

förstärka lägga hosting

Detta kommer att fråga om du installerar till dev eller prod, och be för index och fel handlingar för din webbplats. När det är konfigurerad, kör förstärka publicera för att driva en ny CloudFormation stack.

Din webbläsare kommer att öppna nya slutpunkt för din app, som du kan lägga till dina DNS-med en CNAME-post eller en Rutt 53 hink Alias.