Criar uma aplicação Web de uma única página com backend API REST – UWP app desenvolvedor docs Microsoft que comprar com bitcoins

Este tutorial em duas partes fornece um rápido passeio do desenvolvimento fullstack web moderna como você construir um jogo de memória simples que funciona tanto no navegador e como um Hosted Web App para o Microsoft Store depósito bitcoin. Na Parte I você vai construir um serviço REST API simples para backend do jogo. Ao acolher a lógica do jogo na nuvem como um serviço de API, você preservar o estado do jogo para que o seu utilizador pode continuar a jogar o seu jogo mesma instância em diferentes dispositivos. Na Parte II você vai construir a interface do usuário front-end como um aplicativo web de uma única página com o layout responsivo.

Nós estaremos usando algumas das tecnologias mais populares da web, incluindo o tempo de execução Node.js e Express para o desenvolvimento do lado do servidor, o quadro Bootstrap UI, o modelo de motor Pug, e Swagger para a construção de APIs RESTful.


Você também vai ganhar experiência com o Portal Azure para cloud hospedagem e trabalhar com o editor de código Visual Studio. Pré-requisitos

Se você deseja concluir os passos finais de hospedar seu serviço de API e aplicativo jogo de memória no Microsoft Azure, você precisa criar uma conta Azure livre se você não tiver feito isso.

Se você decidir para salvar (ou adiar) a parte Azure, simplesmente ignorar as seções finais de partes I e II, que cobrem hospedagem Azure e empacotar seu aplicativo para o Microsoft Store. O serviço API e web app que você construir ainda será executado localmente (de http: // localhost: 8000 e http: // localhost: 3000, respectivamente) em sua máquina. Parte I: Construir um backend API REST

Se você gostaria de pular esta parte e ir direto para a Parte II: construir uma aplicação web de uma única página, aqui está o código acabado para a Parte I. Siga as instruções LEIA-ME para obter o código instalado e funcionando localmente, ou ver 5 bitcoin Grátis . Hospedar seu serviço API no Azure e permitir CORS para executá-lo a partir Azure. visão geral do jogo

Memória (também conhecido como concentração e Pelmanism), é um jogo simples que consiste de um baralho de pares de cartas. As cartas são colocadas viradas para baixo sobre a mesa, eo jogador inspeciona os valores das cartas, dois de cada vez, à procura de fósforos. Após cada transformar os cartões são novamente colocadas com a face para baixo, a menos que um par correspondente for encontrado, caso em que estes dois cartões são limpos do jogo. O objetivo do jogo é encontrar todos os pares de cartas no montante menor de voltas.

Para fins de instrução, a estrutura do jogo vamos usar é muito simples: é jogo único, um único jogador. No entanto, a lógica do jogo é do lado do servidor (em vez de no cliente) para preservar o estado do jogo, de modo que você pode continuar a jogar o mesmo jogo em diferentes dispositivos.

A estrutura de dados para um jogo de memória consiste simplesmente de uma matriz de objetos JavaScript, cada um representando uma única placa, com os índices na matriz na qualidade de IDs de cartão. No servidor, cada objeto cartão tem um valor e uma bandeira apuradas livre bitcoins instantaneamente. Por exemplo, uma placa de 2-fósforos (4 placas) podem ser geradas aleatoriamente e serializados como este. [

Quando a matriz bordo é passado para o cliente, chaves de valor são removidos da matriz para evitar batota (por exemplo, inspecionando o corpo da resposta HTTP usando ferramentas do navegador F12). Veja como esse mesmo jogo de novo ficaria para um cliente chamar o endpoint GET / jogo de lazer: [{ "apuradas":"falso"}, { "apuradas":"falso"}, { "apuradas":"falso"}, { "apuradas":"falso"}]

Retorna matriz JSON de objetos cartão. Cada cartão tem uma propriedade apagada indicando se o jogo já foi encontrado. cartões combinados também relatam o seu valor comprar bitcoin com cartão de débito sem verificação. Exemplo: [{"apuradas":"falso"}, {"apuradas":"falso"}, {"apuradas":"verdade","valor": 1}, {"apuradas":"verdade","valor": 1}]

ID Card (índice em ordem de tabuleiro de jogo) do cartão para revelar. cada completa "acho" consiste de duas placas especificados (ou seja, duas chamadas para / acho que com os valores das cartas válidas e únicas). Exemplo: http: // memorygameapisample / palpite cartão = 0

Usaremos Swagger para transformar o projeto de nossa memória jogo API para trabalhar código do servidor Node.js. Veja como você pode definir nossas APIs jogo de memória como Swagger metadados predição do preço bitcoin 2025. Vamos usar isso para gerar recibos de código do servidor.

Crie uma nova pasta (em seu diretório local GitHub, por exemplo), e baixar o arquivo api.json contendo nossas definições API jogo da memória. Verifique se o seu nome da pasta não contém quaisquer espaços.

Abra o seu shell favorito (ou use o terminal integrado Visual do Código Studio!) Para essa pasta e execute o seguinte comando Node Package Manager (NPM) para instalar o Yeoman (yo) ferramenta de código-andaimes e gerador de Swagger para o seu (-g) Nó mundial ambiente: npm instalar yo -g

Agora inicie Código e Arquivo VS gt; Abrir pasta …, e mova para o diretório MemoryGameAPI. Este é o servidor API Node.js você acabou de criar! Ele usa a estrutura popular aplicativo ExpressJS web para estruturar e executar o seu projeto.

O arquivo server.js na raiz do seu projeto atua como o "a Principal" função do seu servidor. Abri-lo no Código VS e copie o seguinte para ele. As linhas modificadas a partir do código gerado são comentados com mais explicações. ‘Usar rigoroso’;

Com isso, é hora de executar o seu servidor! Vamos configurar Visual Código Estúdio para depuração nó enquanto estamos no assunto. Selecione no ícone do painel de depuração (Ctrl + Shift + D) e depois no ícone de engrenagem (Open launch.json), e modificar "configurações" para isso: "configurações": [

Agora pressione F5 e abrir o seu navegador para http: paypal troca 8000 bitcoin: // localhost. A página deve abrir a UI Swagger para o nosso jogo de memória API, e de lá você pode expandir os detalhes e campos de entrada para cada um dos métodos. Você pode até tentar chamar as APIs, embora suas respostas irá conter dados apenas ridicularizado-up (fornecidos pelo módulo Swagmock). É hora de adicionar o nosso lógica do jogo para fazer essas APIs real. 3. Configure os manipuladores de rota

O arquivo Swagger (config \ swagger.json) instrui o nosso servidor como lidar com várias solicitações HTTP cliente, mapeando cada caminho de URL que define para um arquivo manipulador (em \ manipuladores), e cada método definido para esse caminho (por exemplo, GET, POST ) a um operationId (função) dentro desse arquivo manipulador.

Você pode roçar os comentários nesses arquivos para obter mais detalhes sobre as mudanças, mas em essência, eles verificar se há erros de digitação básicas (por exemplo, o cliente solicita um novo jogo com menos de um jogo) e enviar mensagens de erro descritiva, conforme necessário. Os manipuladores também pedidos de clientes válidos rota através de seus arquivos de dados correspondentes (em \ data) para posterior processamento bitcoin operação de mineração. Vamos trabalhar sobre aqueles seguinte.

Esta camada do nosso programa representa os cartões de memória si e fornece a maior parte da lógica do jogo, incluindo "embaralhar" o convés para um novo jogo, identificar pares de cartas correspondentes, e manter o controle do estado do jogo. Copiar e colar:

Por simplicidade, estamos guardando a nossa tabuleiro de jogo em uma variável global (global.board) no nosso servidor Node. Mas, realisticamente você pode usar armazenamento em nuvem (como o Google Cloud Datastore ou Azure DocumentDB) para fazer isso em um serviço de API de memória jogo viável que simultaneamente suporta vários jogos e jogadores.

Certifique-se de que você salvou todas as mudanças no Código VS, o fogo até o servidor novamente (F5 no Código VS ou início npm de shell, e depois procurar para http: // localhost: 8000) para testar a API jogo.

Cada vez que pressionar o Experimente! botão em uma das / jogo / palpite, ou / novas operações, verificar o corpo da resposta resultante e Código de resposta abaixo para verificar de trabalho que está tudo como esperado.

Se tudo parece bom, o serviço de API está pronto para sediar on Azure! Se você está correndo em problemas, tente comentar as seguintes linhas em \ data \ game.js. para (var i = 0; i lt; board.length; i ++) {

Com essa mudança, o método GET / jogo vai devolver todos os valores do cartão (incluindo os que não foram compensados). Este é um hack de depuração útil para manter no lugar enquanto você construir o front-end para o jogo da memória. 5. (Opcional) hospedar seu serviço API no Azure e permitem CORS

Se você chegou até aqui e Azure agora está servindo o seu UI arrogância, há apenas um passo final para o backend jogo da memória. De Azure Portal, selecione o recém-criado Serviço App e selecione ou procurar a opção CORS (Resource Sharing Cross-Origin). Sob Origens admitidos, adicione um asterisco (*) e clique em Salvar bitcoin taxa na Índia. Isso permite fazer chamadas cross-origem para o seu serviço de API do seu front-end de memória jogo como você desenvolvê-lo em sua máquina local. Depois de finalizar o front-end de memória jogo e implantar essa a Azure, você pode substituir esta entrada com a URL específica do seu aplicativo web. Indo além

Para tornar o jogo de memória API um serviço de back-end viável para um aplicativo de produção, você vai querer estender o código para suportar múltiplos jogadores e jogos gratuitos gerador de bitcoin conectados. Para isso você provavelmente vai precisar sondar na autenticação (para o gerenciamento de identidades jogador), um banco de dados NoSQL (para rastreamento de jogos e jogadores), e alguns testes de unidade básica para a sua API.

No diretório de memória, instale as dependências listados no arquivo package.json. O arquivo package.json é criado na raiz do seu projeto. Este arquivo contém os módulos que são necessários para seu aplicativo Node.js. memória cd

Alterar o título padrão do seu aplicativo web editando index.js na memória \ diretório rotas pagar com bitcoins. Alterar expresso na linha abaixo para Jogo da Memória (ou outro título de sua escolha). res.render ( ‘índice’, {título: ‘Express’});

Este código recupera o valor do menu suspenso com id ="selectGameSize" (Que irá criar mais tarde) e armazena em uma variável (tamanho). Nós usamos a função parseInt () para analisar o valor da cadeia no menu suspenso para retornar um inteiro, para que possamos passar o tamanho do tabuleiro do jogo solicitada ao servidor.

Usamos o novo método / criado na Parte I deste tutorial para deixar o tamanho escolhido do tabuleiro de jogo para o servidor. O método retorna uma única matriz JSON de cartões e verdadeiro / falso valores que indicam se os cartões foram correspondidas.

Em seguida, preencher a função restoreGame () que restaura o último jogo jogado. Para simplificar, o aplicativo sempre carrega o último jogo jogado. Se não houver um jogo armazenado no servidor, use o menu drop-down para começar um novo jogo.

O jogo agora vai buscar o estado do jogo a partir do servidor. Para mais informações sobre o método [ `/ game`] (# part-i-build-a-rest-api-backend) a ser utilizado nesta etapa, consulte a Parte I deste tutorial. Se você estiver usando Azure (ou outro serviço) para sediar a API backend, substitua o * localhost * endereço acima com o seu URL produção.

Em seguida, precisamos para completar a função Flipcard (). Esta função manipula a maioria da lógica do jogo, inclusive recebendo os valores das cartas selecionadas a partir do servidor usando o método / palpite desenvolvido na Parte I do tutorial. Não se esqueça de substituir o endereço localhost com o seu URL de produção se você estiver nuvem que hospeda o backend API REST.