Jaydson Gomes

HTML5 | JavaScript

HTML5 Web Notifications

| Comments

JSConfBR

Web Notification é mais uma das minhas features preferidas do HTML5.
Como o nome sugere, Web Notification é uma API para enviar notificações ao usuário mesmo que ele não esteja na página de origem.
A API já está em working draft desde o ano passado, e o Chrome suporta desde a versão 24.
A novidade é que o Firefox agora também suporta Web Notifications em suas versões Nightly e Aurora.
A API é bem simples, e como várias outras (Geolocation, WebRTC), é necessário pedir permissão ao usuário para poder utilizar.
O Chrome implementou bem antes o suporte a Web Notifications, mas baseado em uma versão velha da especificação.
A versão oficial da W3C ainda não está disponível no Chrome, mas é bem simples dar suporte ao Chrome e ao Firefox em nossas aplicações.

API

Temos disponível o obejto Notification.
Para pedir permissão, utilizamos o método requestPermission.

1
2
3
Notification.requestPermission(function(perm) {
    console.log(perm);
});

Este método recebe uma função de callback como parâmetro, e devolve o STATUS da requisição de permissão.
Este STATUS pode ter os seguintes valores: default, denied e granted.
O valor default e denied significam praticamente a mesma coisa, a diferença é que “denied” foi explicitamente escolhido pelo usuário, ou seja, ele clicou na opção “negar”.
Após pedir permissão, basta instanciar um objeto Notification.

1
2
3
4
5
6
7
var notification = new Notification("Título da notificação", {
    dir: "auto",
    icon: "icon.png",
    lang: "",
    body: "Uma bela notificação aqui",
    tag: "tag",
});

O primeiro parâmetro, e único obrigatório, é o título da notificação.
O segundo parâmetro é um objeto literal com algumas opções, dentre elas icon para definir um ícone para a notificação, e body, que define o corpo da notificação.
A notificação possui 4 eventos: onclick, onshow, onerror, onclose.
Estes callbacks nos dão mais poder sobre cada notificação, podemos tomar decisões específicas para cada um dos eventos.

1
2
3
4
5
6
7
8
9
10
11
12
var notification = new Notification("Chegou um novo Email cara!", {
    dir: "auto",
    icon: "icon.png",
    lang: "",
    body: "Olá, por favor entre em contato.",
    tag: "tag",
});
notification.onclick = function () {
  /*
     Alguma ação aqui.
 */
}

O legal destes callbacks é que, mesmo que o usuário não esteja na página, ao clicar na notificação, alguma ação pode ser executada em background na aplicação.

Demo - Programming quote

Fiz um demo utilizando o recurso das notificações.
A ideia é randomizar citações relacionadas a programação, e notificar o usuário, mesmo que ele não esteja na página.
Testem abaixo:

Considerações finais

Bom, é isso pessoal.
Mais uma API muito útil para deixarmos nossas aplicações ainda melhores.
Em pouco tempo outros browsers devem implementar, e a W3C deve lançar a versão final da especificação.
Qualquer dúvida ou sugestão, comentem aqui.

Links

O demo pode ser acessado diratamente aqui: http://jaydson.github.io/web-notification-sample/
O código do demo que fiz esta no Github: https://github.com/jaydson/web-notification-sample
A especificação da W3C: http://www.w3.org/TR/notifications/#title-direction
Artigo no HTML5 Rocks: http://www.html5rocks.com/en/tutorials/notifications/quick/

PS: Desculpem a falta de perspectiva na imagem :(
Mas me dêem um desconto, eu fiz no Gimp.

BrazilJS, JSConf, E a Comunidade JavaScript No Brasil

| Comments

Resolvi fazer este post para explicar e contar, para quem ainda não sabe, a história por trás da BrazilJS, e a minha visão sobre comunidade JavaScript no Brasil.
A grosso modo, podemos dividir a história da comunidade JavaScript no Brasil em “Antes do BrazilJS” e “Depois do BrazilJS”.

Antes do BrazilJS

Antes da primeira BrazilJS Conf, a comunidade JavaScript no Brasil era baseada em alguns grupos de discussão.
Alguns blogs e sites especializados também existiam, mas a realidade naquela época era outra.
O JavaScript cresceu, e de uma linguagem imcompreendida, passou a ser a linguagem mais popular do mundo, cada vez mais presente em todos os lugares e dispositivos.
Em 2004, ano que iniciei minha faculdade, o JavaScript não era levado a sério. Em todas as cadeiras Web que tive, nenhuma linha de código JavaScript foi apresentada.
Mas sempre simpatizei com a linguagem, e todos os trabalhos que podiam ser feitos com outra linguagem, eu escolhia o JavaScript.
Aprendi muito deste então, inclusive fiz o meu TCC baseado no JavaScript.
Me formei em 2008, e em pouco tempo eu dei minha primeira palestra sobre a linguagem.
A palestra que dei não foi em nenhum evento relacionado a linguagem, mas sim na própria faculdade, para alunos que estavam iniciando.
Não existiam eventos de JavaScript nesta época. Nenhum mesmo, muito menos na cidade que eu moro, Porto Alegre.
Em 2009, aconteceu o primeiro evento focado em JavaScript no mundo, a JSConf.
Juntamente com o Felipe Moura, tive a ideia. Fazer um evento assim aqui no Brasil.
Passamos um bom tempo idealizando como deveria ser o evento, fazendo contatos, etc.
A ideia de fazer um evento focado 100% em JavaScript era algo que o Brasil precisava.
Além de 2 caras em Porto Alegre, um cara em Fortaleza também teve a mesma ideia.
O Cristiano Milfont, ao mesmo tempo que o Felipe e eu pensavamos e organizavamos o primeiro evento JavaScript do Brasil, também fazia o mesmo.
O que fizemos?
Unimos forças.
Juntamos tudo o que tínhamos feito até o momento, e juntamente com o Milfont, fizemos a primeira conferência JavaScript do Brasil, intitulada BrazilJS 2011.
Nossa ideia sempre foi fazer o evento com o mesmo nome da conferência gringa, JSConf.
Conversando com o Milfont, ele nos informou que a “cúpula” da JSConf não autorizou o uso do mesmo nome do evento, e com isso surgiu o nome “BrazilJS”.
BraZil com “Z”, foi ideia dos organizadores da JSConf.
BrazilJS 2011
Álbum de fotos da primeira BrazilJS Conf:
https://www.facebook.com/media/set/?set=a.1994677222388.117938.1107157477&type=1&l=035dbf3f3b

Depois do BrazilJS

Muita coisa mudou de lá pra cá, e para melhor.
O sucesso do BrazilJS de 2011 refletiu em todo o Brasil, e dezenas de eventos focados em JavaScript começaram a surgir.
A comunidade começou a crescer e se profissionalizar.
Em 2012, continuamos o trabalho, e fizemos a segunda edição da BrazilJS Conf.
O Sucesso é incontestável.
Sem dúvida, elevamos o nível de eventos no Brasil.
A BrazilJS Conf 2012 teve 1000 participantes e a presença do Brendan Eich, criador da linguagem JavaScript, pela primeira vez na América Latina.
Digo sem sombra de dúvidas, que isso foi um marco histórico na comunidade.
Em 2012 os eventos front-end se multiplicaram, e até perdi as contas de quantos aconteceram.
Brendan Eich - BrazilJS 2012

Mudamos o mercado

Hoje ocupo um cargo importante em um dos maiores portais da América Latina, o Terra.
Meu trabalho é focado quase que 100% em JavaScript, e em todas as tecnologias que a cercam.
Tenho vários amigos, espalhados pelo Brasil todo, com a mesma função, e cada vez vejo mais vagas para este nicho que antes era menosprezado.
Muitas empresas passaram a dar o devido valor ao JavaScript, e hoje patrocinam eventos regionais e se engajam com a comunidade.
Hoje podemos dizer que temos (comunidade) uma parcela importante de participação na mudança do mercado front-end brasileiro.
Além disso, temos vários exemplos de profissionais que ganharam um destaque enorme no Brasil, e fora do Brasil.
Obviamente o talento conta muito, mas este grande “boom” do front-end no Brasil, ajudou bastante.
Fico muito feliz de ver que em poucos anos a comunidade conseguiu mudar o mercado e a realidade front-end.
Claro que tudo isso se deve também ao grande avanço deste mercado em outros países.
Mas cada dia que passa, mostramos que aqui no Brasil as coisas acontecem.

JSConfBR 2013

Em meio a tudo isso, eis que em 2013 acontecerá a JSConf no Brasil.
Nossa ideia inicial, anos depois, irá se concretizar por intermédio de outros membros da comunidade.
Em 2012 o Milfont não conseguiu participar da organização da BrazilJS Conf, e este ano ele, o Douglas Campos e mais 2 pessoas, estão organizando a JSConf brasileira.
Douglas Campos que inclusive foi palestrante na BrazilJS de 2011, e se não me falha a memória, foi um dos primeiros brasileiros a palestrar em solo gringo.
Vários nomes de peso nesta primeira edição, mas não posso deixar de falar do Brendan.
Após sua presença épica na BrazilJS 2012, ele volta ao Brasil para a JSConf. Imperdível!
Várias pessoas me perguntam, e agora respondo publicamente:
BrazilJS Conf e JSConfBR não são eventos concorrentes.
São 2 eventos com temáticas bem diferentes, e quem ganha com isso é a comunidade.
Inclusive, Felipe e eu estaremos por lá :)
JSConfBR

BrazilJS Foundation

O sucesso da BrazilJS Conf e a movimentação positiva da comunidade fez com que muita coisa surgisse.
Tanta coisa, tantas pessoas, eventos, etc, que achamos que aquilo estava se tornando um problema.
Surgiu a ideia da BrazilJS Foundation.
Um grupo de pessoas que ajudam de alguma maneira a centralizar as coisas na comunidade front-end.
Além disso, nosso intuito é ajudar a comunidade a crescer ainda mais.
Ajudar com a organização de eventos regionais, ajudar levando o conhecimento adquirido ao longo dos anos.
Este foi e continua sendo o único motivo da existência da BrazilJS Foundation.
Quem faz parte da BrazilJS? Toda a comunidade.
Nós não somos uma federação, nem representamos a comunidade através de algumas pessoas.
Somos apenas pessoas que decidiram fazer algo para tentar ajudar.
Não existe “fazer parte da BrazilJS”, se a pessoa é ativa na comunidade, cria eventos, ajuda outras pessoas, tem um blog, faz qualquer coisa relacionada, esta pessoa faz parte da BrazilJS.
BrazilJS é um movimento, que começou em 2011, com a primeira conferência brasileira de JavaScript, e hoje faz com que a comunidade seja o que é.
RSJS, RIOJS, BeagaJS, BahiaJS, SampaJS, PernambucoJS, Tableless Conf, FrontinRio, FrontinSampa, FrontinCuritiba, FrontinLondrina, FrontinFortaleza, FrontinAracaju, FrontinTeresina, FrontinFloripa, FrontinPoa, FrontinMaceio, FrontinBahia, BrazilJS, JSConfBR.
Este é o retrato da comunidade front-end no Brasil. E eu tenho orgulho de fazer parte disso.

Conclusão

Ano a ano estamos conquistando cada vez mais espaço, e estamos amadurecendo.
O cenário atual nos favorece muito, temos tudo na mão para construir algo ainda melhor.
Que 2013 seja repleto de iniciativas que somem para a comunidade, que agreguem valor, e que sejam para o bem.
Não é em qualquer país que rolam 20 eventos de front-end, entre eles, 2 com a presença de Douglas Crockford e Brendan Eich.
JS Cake

Cultura Maldita No Desenvolvimento De Software

| Comments

Cultura Maldita

A cultura maldita no desenvolvimento de software é um fenômeno natural que atinge todas as empresas, que de uma maneira ou de outra, desenvolvem algum tipo de software.
Sisteminhas, grandes portais, aplicações gigantescas, sites de padaria, enfim, todo e qualquer tipo de software está sujeito a ser desenvolvido baseado na cultura maldita.

RSJS 2013 - Resumo

| Comments

E mais um evento regional de front-end foi realizado no Brasil.
Desta vez foi o RSJS, evento da qual sou orgazidor, juntamente com o Felipe Moura.
Neste ano tivemos a participação do Jean Carlo Emer, que nos deu uma boa ajuda, e ainda desenvolveu o site, que ficou muito legal.

Dobramos o número de participantes neste ano. Foram 200 pessoas presentes no evento.
Um número bem considerável, o que mostra que a comunidade e o mercado estão mudando.
O desenvolvimento front-end levado a sério, hoje é uma realidade.

Como Foi a BrazilJS Conf 2012

| Comments

Depois de vários meses, conseguimos finalmente ter acesso a um vídeo muito legal da BrazilJS Conf 2012.
Este vídeo possui depoimentos dos palestrantes, cenas de palestras, recado dos organizadores(eu e o Felipe Moura), e um compilado com takes feitos durante os 2 dias de evento.
Vale a pena lembrar de como foi uma das maiores conferências JavaScript do mundo!
E aguardem, que este ano tem mais!