O AWS Amplify fez sua estreia em novembro de 2017 e, desde então, tem lançado aplicativos a torto e a direito. Neste artigo, revisaremos o que é o Amplify, como ele funciona e alguns dos recursos mais avançados do Amplify que você talvez não soubesse que existiam.

O que é AWS Amplify?

AWS Amplify é uma interface de linha de comando para uma conexão de biblioteca Java que acessa uma cadeia de ferramentas para clientes. A interface do Amplify fornece acesso rápido para trabalhar com aplicativos de página única ( SPA) frameworks por meio de contêineres que vinculam a biblioteca Java a outros serviços em nuvem, como AWS AppSync e AWS S3 . O Amplify também pode ser vinculado a repositórios existentes.

Usando a CLI e a cadeia de ferramentas da biblioteca fornecida pela Amplify, você pode construir, implantar, hospedar, experimentar e iterar rapidamente na web e em dispositivos móveis aplicativos de baixo custo.

Fácil desenvolvimento com integrações AWS

Usar o AWS Amplify não exige muita experiência em desenvolvimento de aplicativos para aproveitar o console do Amplify para CI/CD . Isso ocorre em parte porque o console do Amplify atua como um serviço de hospedagem de CI/CD front-end para aplicativos modernos.

Amplify simplifica as implantações de aplicativos back-end e front-end conectando-se ao seu repositório de código e lançando fluxos de trabalho únicos com cada confirmação de código. O Amplify também aproveita o CDN da Amazon, CloudFront , para facilitar a hospedagem.

Com sua abordagem em contêiner para criação e implantação do AWS CloudFormation , o Amplify permite que você envie atualizações enquanto elimina inconsistências de front-end e back-end. E, embora haja vantagens e desvantagens em não ter servidor , o Amplify facilita o envio de seu celular e código de aplicativo da web usando serviços gerenciados em nuvem.

Para criar APIs GraphQL leves e poderosas, o AWS Amplify também se integra ao AWS AppSync, que permite consultar os datastores DynamoDB NoSQL da Amazon ou escolher uma API REST por meio do Amazon API Gateway. Você também pode trabalhar com o AWS Lambda personalizado, se conectar ao AWS S3 e usar o CloudFormation para fazer backend de sua configuração, provisionamento e implantação para desvios de configuração.

Para obter mais informações sobre os serviços da AWS, consulte esta folha de dicas .

Usando Amplify em seu ambiente de desenvolvimento

O Amplify oferece suporte à integração de ferramentas de terceiros, como Github, Gitlab e repositórios AWS CodeCommit . Com a CLI do Amplify, você pode adicionar recursos rapidamente ao seu aplicativo, vinculando-o a outros serviços como Amazon Cognito, AWS Appsync ou AWS Lambda ou S3.

A Amplify segue o modelo “pague pelo que usar” da Amazon. Você normalmente pagará por minuto de construção, armazenamento de front-end e dados servidos, bem como os recursos de back-end que seu modelo do CloudFormation cria. O poder do servidor sem servidor é a capacidade de crescer com a base de usuários do seu aplicativo, o que faz do Amplify uma ótima ferramenta para empresas em crescimento.

Nas seções a seguir, falaremos sobre algumas das coisas divertidas que você pode fazer com o Amplify. Para todos os recursos, presume-se que o Amplify CLI foi instalado e configurado ; para fins de demonstração, trabalharemos em um aplicativo React.

Autenticação

O Amplify permite que você crie autenticação simples e fácil de implementar usando o Amazon Cognito , que inclui ações como login, inscrição, esquecer opção de senha e fluxo de trabalho de autenticação multifator. Você também pode adicionar integrações de login com contas sociais como Google, Facebook e Amazon.

Autenticação no Amplify

Primeiro, adicione a biblioteca de autenticação:

 amplificar adicionar autenticação 

No diretório do aplicativo React, instale a biblioteca Amplify:

 npm install aws-amplify @ aws-amplify/ui-react 

Em seu App.js, certifique-se de importar os componentes necessários da biblioteca aws-amplify/ui-react . Por enquanto, estamos importando withAuthenticator e AmplifyAuthenticator :

 import React from'react';
importar {withAuthenticator, AmplifySignOut} de'@ aws-amplify/ui-react';
const App=()=> (
Meu aplicativo
); exportar padrão com Autenticador (App);

Você também notará o componente AmplifySignOut aqui, que renderiza um botão de saída.

Datastore

O Amplify pode ser útil se você estiver desenvolvendo um aplicativo que usará o mecanismo de armazenamento persistente no dispositivo. Amplify permite que você sincronize dados entre aplicativos móveis/web e nuvem usando GraphQL.

O Datastore, que é desenvolvido por AWS Appsync, permite aproveitar os dados armazenados e os dados distribuídos sem escrever nenhum código adicional para cenários offline e online. Isso torna o trabalho com dados distribuídos tão simples e conveniente quanto trabalhar com os dados locais. O Datastore também permite que você mantenha os dados localmente em seu dispositivo, sem nem mesmo ter que criar uma conta AWS.

Datastore no Amplify:

A maneira mais rápida de começar a usar o armazenamento de dados no React é:

 npx create-react-app amplify-datastore--use-npm
cd amplify-datastore
npx amplify-app @ mais recente 

Analytics

Depois que seu aplicativo for implantado, pode ser benéfico para você usar alguma forma de análise para medir como as pessoas estão interagindo com seu aplicativo, como está o desempenho em geral e como funciona em diferentes plataformas e navegadores.

Desenvolvido por AWS Pinpoint e AWS Kinesis , Amplify permite que você use o rastreamento automático para rastrear sessões de usuário, métricas de página da web e criar atributos de usuário personalizados e métricas no aplicativo. Ao usar o Amplify para análise, você também terá acesso ao fluxo de dados em tempo real para obter insights do usuário e criar estratégias de marketing baseadas em dados que melhoram a adoção e o envolvimento do cliente.

Usando análises no Amplify

Configuração de back-end

Para configurar o back-end, execute este comando na pasta raiz do seu projeto:

 amplificar adicionar análises 

Certifique-se de fornecer o nome do recurso do terminal ( yourPinpointResourceName ). Você pode implantar o back-end usando amplificar push.

Depois de implantado, um arquivo de configuração chamado aws-export.js será copiado no diretório da pasta do seu projeto e um link do AWS Pinpoint será compartilhado com você via CLI para rastrear os eventos do seu aplicativo.

Configuração de front-end

Para configurar no front-end, certifique-se de importar o arquivo aws-export.js junto com o Amplify no App.js:

 import Amplificar de'aws-amplify';
importar awsconfig de'./aws-exports';
Amplify.configure (awsconfig); 

Gravando eventos

Para registrar um evento, você pode simplificar a criação de um método de registro como este:

 import Amplify, {Analytics} de'aws-amplify';
Analytics.record ({name:'albumVisit'}); 

AI/ML com Amplify

Sim, você leu certo! Você pode adicionar recursos de IA e ML, incluindo previsão de texto, geração de fala a partir do texto, tradução de texto, reconhecimento de imagem, interpretação de texto e muito mais ao seu aplicativo Amplify. O Amplify simplifica a orquestração de casos de uso avançados, como o upload de uma imagem para negociação automática e usa as diretivas GraphQL para encadear várias ações de AI/ML.

Os recursos de AI/ML do Amplify são fornecidos pela AWS SageMaker e Amazon serviços de aprendizado de máquina . Você não precisa girar seu próprio servidor para usar este modelo ou recursos em seu aplicativo React.

Usando AI/ML com Amplify

Configuração de back-end:

Para configurar o back-end, execute este comando na pasta raiz do seu projeto:

 amplificar adicionar previsões 

Quando a configuração de back-end necessária estiver pronta, você pode implantar usando amplify push . Um arquivo de configuração chamado aws-export.js será copiado para o diretório da pasta do seu projeto.

Configuração de front-end:

Importe o arquivo de configuração gerado no ponto de entrada raiz de seu aplicativo; nesta demonstração, usaremos app.js no React:

 import Amplificar de'aws-amplify';
importar Predictions, {AmazonAIPredictionsProvider} de'@ aws-amplify/predictions';
importar awsconfig de'./aws-exports';
Amplify.configure (awsconfig); Amplify.addPluggable (new AmazonAIPredictionsProvider ()); 

Armazenamento

O Amplify fornece um mecanismo muito simples para gerenciar o conteúdo do usuário, independentemente de seus dados serem públicos, armazenados em baldes privados ou protegidos. Isso facilita levar suas necessidades de armazenamento de aplicativo para a produção. Não é novidade que o Amplify vem com suporte integrado para Amazon S3.

Usando armazenamento com Amplify

Configuração de back-end:

Para configurar o back-end, execute este comando na pasta raiz do seu projeto:

 amplificar adicionar armazenamento 

A seguir, a CLI solicitará que você selecione um tipo de conteúdo e o guiará pela opção de habilitar o Auth se não tiver sido habilitado anteriormente. Ele também solicitará que você nomeie seu intervalo S3.

Como nas seções anteriores, você pode implantar usando amplify push . Um arquivo de configuração chamado aws-export.js será copiado no diretório da pasta do seu projeto.

Configuração de front-end:

Certifique-se de instalar o aws-amplify para trabalhar com a biblioteca de armazenamento. Você pode instalá-lo usando npm install-S aws-simplify .

Importe o arquivo de configuração gerado no ponto de entrada raiz de seu aplicativo; nesta demonstração, usaremos app.js no React:

 import Amplify, {Storage} de'aws-amplify';
importar awsconfig de'./aws-exports';
Amplify.configure (awsconfig); 

Você também pode definir a configuração de armazenamento manualmente em aws-export.js se necessário.

<”Conclusão

O Amplify existe há apenas alguns anos, mas está crescendo muito rápido. Na verdade, a Amazon até empurrou seu hub móvel para o Amplify.

Trabalhar com o Amplify tem algumas vantagens notáveis, muitas das quais estão relacionadas com o aproveitamento do poder da tecnologia sem servidor da AWS. O Amplify também torna o bombeamento do seu CI/CD direto e simples.

Uma última observação: o Amplify funciona melhor a partir da CLI e permite que os desenvolvedores distribuam SPAs rapidamente a partir do editor de sua escolha. No entanto, se você preferir não trabalhar na CLI, o Amplify pode não ser o melhor para você.

A beleza dos serviços da AWS é que eles permitem que os desenvolvedores se concentrem em seu código, e todo o resto é cuidado pela AWS. Com o Amplify, existem toneladas de integrações da AWS para escolher, que permitem criar e implantar aplicativos da web e móveis a baixo custo e com grande eficiência.

A postagem AWS Amplify: uma revisão dos recursos avançados apareceu primeiro no LogRocket Blog .

Source link