Deploys instantâneos com o now

Em:

Na última semana tive a oportunidade de conversar com o Guillermo Rauch em minha breve passada pela Califórnia. O Guillermo é um desenvolvedor bem conhecido na comunidade JavaScript e Node.js por seus projetos open-source, sendo os mais conhecidos e usados o socket.io e o Mongoose, entre muitos outros. O Guillermo ja esteve no Brasil palestrando na BrazilJS Conf na edição de 2014, e a propósito, esta é uma palestra incrível. Assiste lá, caso ainda não tenha visto: https://www.youtube.com/watch?v=p2F-128e3sI

Mas hoje venho falar sobre o novo projeto do Guillermo, o 𝚫 now. Na mesa de um bar em San Franciso, o Guillermo me contou todos os detalhes do projeto que seria lançado na manhã seguinte.

Trata-se de uma plataforma extremamente simples que possibilita a “democratização” do deploy de aplicações Node.js.

Você pode pensar no 𝚫 now como uma CDN para código dinâmico

Esta frase define bem o projeto. Atualmente existem diversas soluções de CDN para arquivos estáticos. E não apenas CDN. O Github, por exemplo, serve arquivos estáticos, possibilitando inclusive hospedar sites em sua plataforma. O que o 𝚫 now faz é possibilitar que isso seja possível também para código dinâmico.

Mas como funciona?

Instale o 𝚫 now globalmente em sua máquina:

npm install -g now

Após isso, crie o diretório de sua aplicação:

mkdir braziljs-now

Projetos 𝚫 now precisam de um index.js e de um package.json. Para iniciar um projeto novo, eu usei o npm que já gera o package.json:

npm init

Até aqui não existe nada de novo, certo? Quem está acostumado com aplicações Node.js ou JavaScript, provavelmente utiliza alguma estrutura semelhante.

Você precisa fazer login no 𝚫 now para poder utiliza-lo.

now --login

Feito o login você está pronto para colocar sua aplicação em produção! Vamos fazer um simples Hello World, utilizando o Express para servir uma página:

var express = require('express'); 
var app = express();
app.get('/', function (req, res) { res.send('Hello Now!'); });
app.listen(3000, function () { console.log('Example app listening on port 3000!'); });

Agora abra o seu package.json e adicione a dependência do Express (você pode usar npm install express --save) e informe um start script:{ "name": "braziljs-now", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "node index.js" }, "author": "Jaydson Gomes", "license": "MIT", "dependencies": { "express": "^4.13.4" } } `<br>
Para o deploy, simplesmente chame o 𝚫 now:`bash now \
`

testando o now

Note que após rodar o comando now, o deploy é feito e uma URL é gerada. Essa URL já pode ser acessada com a aplicação em funcionamento!

hello now

O 𝚫 now é free para projetos open-source e funciona muito bem para aplicações simples, demos, protótipos, etc. Eles ainda possuem planos pagos para aplicações comerciais.

Conclusão

O 𝚫 now é mais uma alternativa interessante para projetos Node.js. Projetos open-source podem fazer uso da plataforma de forma gratuita, o que é muito legal para comunidade. O Guillermo ainda me contou detalhes técnicos sobre como eles estão resolvendo a escalabilidade de aplicações Node.js e vejo um enorme potencial no projeto.

  • JavaScript só é difícil para quem começa do fim

    Hoje é segunda-feira, dia de novo artigo da série “React: do básico ao avançado”, porém vamos dar uma pausa e falar sobre outro assunto hoje. JavaScript só é difícil para quem começa do fim. Há poucos anos, desenvolver web apps era muito fácil, por exemplo, usávamos PHP (ou qualquer outra linguagem server side, como Python […]

  • Conteúdo do blog Pony Foo no BrazilJS

    Uma das melhores maneiras de se aprender sobre um determinado assunto é tentar ensinar outras pessoas sobre o mesmo tópico. Para fazer isso, você deve reduzir o escopo para o que é essencial, dividir em pedaços, e montar tudo novamente. Desta maneira, o seu próprio entendimento também irá melhorar, quase que como um efeito colateral. […]

  • JS nosso de cada dia

    Blasfêmias a parte, esse post não é sobre a semelhança do nosso querido Jaydson com o carpinteiro de Jerusalém. Jaydson Gomes no FrontInSampa 2013 A ideia desse post é mostrar como algumas features relativamente recentes de JS podem facilitar em algumas tarefinhas mundanas do nosso dia a dia, tornar nosso código mais legível e, talvez, […]

Patrocinadores BrazilJS

Gold

Bronze

BrazilJS® é uma iniciativa NASC.     Hosted by Getup