Upgrade to Pro — share decks privately, control downloads, hide ads and more …

PoCs rápidas com nextJS, now e faunaDB

PoCs rápidas com nextJS, now e faunaDB

More Decks by Milson Ramos de Carvalho Júnior

Other Decks in Programming

Transcript

  1. Contextualizando Roadmap das tecnologias de desenvolvimento frontend Curva de aprendizado

    e mercado de trabalho ⚙ A importância de aprender fazendo SHOW ME THE CODE!
  2. Roadmap das tecnologias de desenvolvimento frontend Curva de aprendizado e

    mercado de trabalho ⚙ A importância de aprender fazendo SHOW ME THE CODE!
  3. Roadmap das tecnologias de desenvolvimento frontend Curva de aprendizado e

    mercado de trabalho ⚙ A importância de aprender fazendo SHOW ME THE CODE!
  4. ⚙ A importância de aprender fazendo POC - Proof Of

    Concept “... The goal of a POC is to ensure that a specific technology can bring value to a given business problem. As a logical first step, POC teams should look to build something small, usually, over a period of a few weeks, that can be demonstrated to a business user.” https://www.quora.com/What-is-POC-How-does-the-work-go-for-POC-in-real-time
  5. ⚙ A importância de aprender fazendo SAAS - Software as

    a Service “SAAS, or "Software as a Service" in general refers to a software application which is hosted by a provider on their own servers, but accessible to users across the Internet. In other words when using a SAAS application the data and functionality that create the user experience are being delivered from the provider's servers and not installed locally in the user's own computer or intranet.” https://www.quora.com/What-is-SaaS
  6. ⚙ A importância de aprender fazendo GET SHIT DONE “Keep

    trying and never stopping in the face of consistent failures...” https://www.quora.com/What-is-Get-shit-done-for-entrepreneurs
  7. ⚙ A importância de aprender fazendo Caso de estudo WebApp

    que coleta nome e telefone dos usuários, envia-os para o backend, e este por sua vez persiste os dados no banco. Ferramentas para desenvolvimento - Framework/Lib para desenvolvimento frontend - Serviço de cloud para hospedagem - Banco de dados
  8. Roadmap das tecnologias de desenvolvimento frontend Curva de aprendizado e

    mercado de trabalho ⚙ A importância de aprender fazendo SHOW ME THE CODE!
  9. https://github.com/zeit/next.js/ - Framework open source para React - Redução de

    código boilerplate - Abstração de aspectos geralmente complexos, como webpack, roteamento e build. - Ambiente de desenvolvimento friendly
  10. https://github.com/zeit/next.js/ <div className="lead-form"> <h1 className="title">Adicionar contato</h1> <form onSubmit={onSaveContact} className="form-wrapper" ref={$form}>

    <Field name="lead_name" inputProps={{ placeholder: "Nome", autoFocus: true, maxLength: 40, type: "text" }} /> <Field name="lead_phone" inputProps={{ placeholder: "Telefone", maxLength: 13, type: "tel" }} /> {isLoading ? ( <Loader /> ) : ( <input type="submit" value="Salvar" className="btn" /> )} </form> </div>
  11. export default (req, res) => { if (!(req.method === "POST"))

    { return res.status(405).send(`method ${req.method} not allowed!`); } const contactData = req.body; const { error } = contactDataSchema.validate(contactData); if (error) { return res.status(400).send(error.details); } res.send("ok!"); };
  12. - Banco de dados serverless - Infraestrutura abstraída através -

    de um SaaS. - Abstração de aspectos geralmente complexos, indexação, segurança, modelagem de dados, etc. - Ambiente de desenvolvimento friendly
  13. const faunadb = require("faunadb"); const q = faunadb.query; const db

    = new faunadb.Client({ secret: process.env.FAUNA_DB, keepAlive: true }); const saveContactOnDB = data => db.query( q.Create(q.Collection("contacts"), { data: data }) );
  14. saveContactOnDB(JSON.parse(contactData)) .then(({ ref }) => res.json({ id: ref.id })) .catch(err

    => { console.log("error on save db contact", err); res.status(400).json({ err: true }); });
  15. - Deploy de sites estáticos e cloud functions em poucos

    minutos. - Abstração de aspectos geralmente complexos, CI/CD, deploy,logs, abstraídos através de um SaaS e uma CLI. - Ambiente de desenvolvimento friendly