Header Ads

AWS Amplify simplifica a criação de aplicativos móveis

O AWS Amplify é uma estrutura projetada para facilitar a criação de aplicativos nativos e da Web. Ele se concentra em ter um back-end totalmente construído pronto para uso, executando uma API e um banco de dados com autenticação é tratado por você.

O que é o AWS Amplify?

O Amplify não substitui uma estrutura como o React, você é livre para usar o front-end que desejar (embora React, React Native, Vue, Android e iOS sejam os mais adequados com suporte específico). bibliotecas). O Amplify manipula o back-end, como executar um servidor de API, gerenciar o banco de dados e autenticar clientes.

Quando você cria um projeto Amplify, os recursos de back-end serão provisionados automaticamente usando o CloudFormation. Quando você adiciona uma API, você será solicitado a definir o esquema e uma tabela do DynamoDB será criada para você, com os métodos do manipulador para inscrever, consultar e atualizar as entradas também. Se você deseja agrupar uma ferramenta de gerenciamento de estado de terceiros, como o Redux, no back-end do Amplify, você pode fazer isso também.

Para autenticação, o Amplify pode ser conectado ao Amazon Cognito, um serviço versátil de gerenciamento de identidades. O Cognito pode lidar com MFA, login e inscrição de usuários, serviços de diretório e logins federados para provedores sociais (Google, Facebook) ou até mesmo seu próprio servidor Active Directory sobre SAML.

O Amplify também contém uma biblioteca de interface do usuário cheia de componentes úteis, semelhantes ao Bootstrap. No entanto, a biblioteca de interface do usuário do Amplify é focada em fluxos funcionais, como inscrição e login de usuários, upload de arquivos e fotos e chatbots da AWS Lex. O uso do componente de autenticação, por exemplo, facilitará a conexão do seu aplicativo ao back-end de autenticação do Amplify (Cognito).

É claro que você pode estendê-las com seu próprio código e cores, se você não é fã da laranja icônica da AWS.

Primeiros passos

Se você gostaria de entrar e brincar com o Amplify, a configuração é bem simples. Instale a CLI do Amplify globalmente a partir do npm:

 npm install -g @ aws-amplify / cli 

Para o aplicativo real, inicializaremos um aplicativo React básico usando o próprio modelo inicial de criação e reação de aplicativos do React:

 npx criar-reagir-aplicativo amplificar 

cd nesta nova pasta e instale o Amplify como uma dependência npm:

 npm install @ aws-amplify / api @ aws-amplify / pubsub 

Execute o npm start e você verá o logotipo do React girando aberto no seu navegador.

Se você quiser usar a biblioteca de interface do usuário opcional do Amplify, ela estará disponível como um pacote separado para o React:

 npm install aws-amplify-react 

Depois que tudo estiver instalado no lado do cliente, você poderá configurar seu projeto Amplify usando a CLI:

 amplifica init 

Isso solicitará algumas informações, como o nome do ambiente (dev, prod etc.), o tipo de aplicativo que você está construindo (JavaScript, React Native) e a fonte e configuração de compilação. Entre com tudo, conforme necessário, e o Amplify levará um segundo para configurar seu back-end.

Isso conectará o Amplify ao console da AWS, mas você precisará fazer mais algumas configurações para colocar a API em funcionamento.

Adicionando uma API

Para configurar o back-end da API do Amplify, execute:

amplifique e adicione api

Isso fará algumas perguntas, sendo a primeira o seu tipo de API. Se você deseja usar uma API GraphQL ou Rest, precisará fazer essa escolha aqui. Iremos com o GraphQL.

Você também precisará escolher um esquema de autenticação. Se estiver apenas testando, poderá escolher a chave API para autenticar no desenvolvimento. Porém, na produção, você provavelmente desejará configurar o AWS Cognito para gerenciamento de usuários e vinculá-lo ao Amplify, que é o esquema de autenticação recomendado para aplicativos Amplify.

Você será solicitado a definir o esquema da sua API, que será aberto no seu editor de texto padrão. O Amplify usará isso para configurar o DynamoDB.

Depois de configurado, execute amplify push para enviar as alterações para a nuvem. O Amplify perguntará se você deseja criar as funções GraphQL para interagir com sua API, o que gerará automaticamente os métodos para consultas, assinaturas e mutações.

Na primeira vez que você pressiona, uma tabela do DynamoDB será provisionada e configurada automaticamente. Você pode visualizar a própria tabela no console do Amplify:

Mas se você quiser fazer alterações no esquema, precisará fazer isso através do console. A configuração de back-end do Amplify é armazenada em:

projeto / amplificação / back-end /

com a configuração da API sendo armazenada em api / amplify. Se você fizer alterações e executar o comando amplify novamente, ele fará modificações na pilha do CloudFormation.

Para usar sua API, você pode importar o PubSub do Amplify e configurá-lo para usar a configuração que o Amplify colocou em src / aws-imports. js

API de importação

, {graphqlOperation} de '@ aws-amplify / api'; importar PubSub de '@ aws-amplify / pubsub'; importe o awsconfig de './aws-exports'; // Configure o Amplify API. configure (awsconfig); PubSub. configure (awsconfig); 

Você pode usar o objeto API para fazer conexões. Por exemplo, se você estiver usando o GraphQL, poderá importar os métodos de mutação e chamar um deles usando API. graphql (método):

 import {createTodo} de './graphql/mutations'; função assíncrona createNewTodo () {const todo = {name: "new-item", descrição: "Hello Amplify!" }; aguarde API. graphql (graphqlOperation (createTodo, {input: todo})); }[/PRÉ]

Publicando seu aplicativo Amplify

Você está livre para distribuir seu aplicativo Amplify da maneira que achar melhor, mas se estiver publicando um aplicativo Web, o Amplify inclui algumas funções internas para implantar automaticamente seu aplicativo no S3. A opção padrão é para um ambiente de desenvolvimento sem HTTPS, mas também pode ser configurado para usar o CloudFront. Uma alternativa a isso seria configurar um pipeline de implantação S3 automatizado do CodePipeline ou simplesmente hospedá-lo em um servidor Web existente.

Se você deseja implantar no S3, basta adicionar o recurso de hospedagem na Web a partir da CLI:

 amplificar adicionar hospedagem 

Isso perguntará se você está implantando no dev ou prod, e solicitará o índice e os documentos de erro do seu site. Depois que isso estiver configurado, execute a publicação de amplificação para enviar uma nova pilha do CloudFormation.

Seu navegador abrirá o novo ponto de extremidade do seu aplicativo, que você poderá adicionar ao DNS com um registro CNAME ou um alias do bucket do Route 53.

Via: How to Geek

Nenhum comentário