Skip to content

fastify/docs-portuguese

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Documentação em Português (BR)

Build Status Known Vulnerabilities Coverage Status js-standard-style

NPM version NPM downloads Gitter Security Responsible Disclosure


Um servidor eficiente implica em baixo custo de infraestrutura, uma melhor capacidade de resposta sob carga e usuários felizes. Como lidar eficientemente com os recursos do servidor, provendo o maior número de requisições possível, sem sacrificar validações de segurança e desenvolvimento prático?

Conheça o Fastify. Fastify é um framework web focado em prover a melhor experiência de desenvolvimento com a mínima "dor de cabeça" e com uma poderosa arquitetura de plugins. Inspirado por Hapi e Express, contudo, até onde sabemos, é um dos web frameworks mais rápido do ecossistema node.

Instalação

Instalando com npm:

npm i fastify --save

Instalando com yarn:

yarn add fastify

Exemplo

// Importando o framework e instancializando.
const fastify = require('fastify')({
  logger: true
})

// Declarando uma rota
fastify.get('/', (request, reply) => {
  reply.send({ hello: 'world' })
})

// Inicia o servidor na porta 3000!
fastify.listen(3000, (err, address) => {
  if (err) throw err
  fastify.log.info(`Servidor respondendo no endereço ${address}`)
})

usando async-await:

const fastify = require('fastify')({
  logger: true
})

fastify.get('/', async (request, reply) => {
  reply.type('application/json').code(200)
  return { hello: 'world' }
})

fastify.listen(3000, (err, address) => {
  if (err) throw err
  fastify.log.info(`Servidor respondendo no endereço ${address}`)
})

Quer conhecer melhor? Acesse: Aquecendo.

Guia rápido sobre o Fastify CLI

Boas ferramentas agilizam e facilitam a manutenabilidade do desenvolvimento de APIs para não ter que fazer tudo manualmente.

O Fastify CLI é uma ferramenta, via linha de comando, que ajuda na criação de novos projetos, gerenciamento de plugins, realizam uma variedade de tarefas de desenvolvimento enquanto testam e executam a aplicação.

O objetivo desse guia é construir e executar um projeto Fastify simples, usando o Fastify CLI, estabelecendo Boas Práticas recomendadas que beneficiam todo e qualquer projeto Fastify.

Examplo

Abra um terminal.

Instale o Fastify CLI:

npm install fastify-cli --global

Crie um novo projeto padrão, executando o comando abaixo: Generate a new project and default app by running the following command:

fastify generate

Para mais informações, veja a documentação Fastify CLI (English).

Fastify v1.x

O código-fonte do Fastify's v1.x está na Branch 1.x, assim sendo, todas as alterações relacionadas ao Fastify 1.x devem se basear na branch 1.x.

Nota

.listen restringe ao host local, localhost, interface de rede padrão (127.0.0.1 or ::1, a depender das configurações do sistema operacional). Se você está utilizando o Fastify em um container (Docker, GCP, etc.), você provavelmente deverá passar como parâmetro de restrição 0.0.0.0. Tenha cuidado ao decidir em escutar em todas as interfaces de rede; esta configuração vem com riscos de segurança (english) inerentes. Veja a documentação para mais informações.

Principais recursos

  • Alto desempenho: até onde sabemos, Fastify é um dos mais rápidos web frameworks 'na área', dependendo da complexidade do código, com o Fastify, você pode servir mais de 76 mil requisições por segundo.
  • Extensível: Fastify é completamente extensível via hooks, plugins e decorators.
  • Baseado em Schema: mesmo não sendo obrigatório, recomendamos o uso de JSON Schema para validar suas rotas e serializar seus retornos, internamente o Fastify compila o schema em funções de alto desempenho.
  • Logging: logs são extremamente importantes mas são dispendiosos; escolhemos o melhor logger para quase remover esse 'custo', Pino!
  • Amigável ao Desenvolvedor: o framework foi construido para ser significante ao mesmo tempo que realmente ajuda o desenvolvedor no uso dia após dia, sem sacrificar desempenho ou segurança.

Benchmarks

Hardware: EX41S-SSD, Intel Core i7, 4Ghz, 64GB RAM, 4C/8T, SSD.

Metodologia:: autocannon -c 100 -d 40 -p 10 localhost:3000 * 2, obtendo a estimativa por segundo

Framework Versão Router? Requisições/seg
hapi 18.1.0 29,998
Express 4.16.4 38,510
Restify 8.0.0 39,331
Koa 2.7.0 50,933
Fastify 2.0.0 76,835
-
http.Server 10.15.2 71,768

Benchmarks utilizando https://github.com/fastify/benchmarks. Este é um sintético, "hello world" benchmark que visa avalia a capacidade do framework. A capacidade que cada framework tem depende na sua aplicação, você deve sempre avaliar se capacidade de resposta importa para você.

Documentação

Documentation English
中文文档地址

Ecossistema

Suporte

Equipe

Fastify é o resultado do trabalho de uma comunidade maravilhosa. Os membros da equipe é listado em ordem alfabética.

Líderes mantenedores:

Equipe Fastify Core

Equipe Fastify Plugins

Colaboradores

Grandes colaboradores em áreas específicas no ecossistema Fastify seráo convidados a se juntar a este grupo pelos Líderes Mantenedores.

Já contribuiram

Hospedado por

Atualmente somos um projeto incubado (English) na OpenJS Foundation.

Acknowledgements

Este projeto é bondosamente patrocinado por:

Já patrocinaram:

Licença

Licenciado sob a licença MIT (English).

Para sua comodidade, aqui está a lista de todas as licenças das bibliotecas de produção utilizadas:

  • MIT
  • ISC
  • BSD-3-Clause
  • BSD-2-Clause

About

Portuguese docs for Fastify

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published