revista imasters #16

72
Nós fazemos a Internet no Brasil R$24,00 Novembro 2015 / Ano 04 / Edição 16 REVIEW RUPTURE: CSS BREAKPOINTS SIMPLIFICADOS ANDROID DEVCONFERENCE 2015 OS DIAS DE INFÂNCIA JÁ PASSARAM: UMA ANÁLISE DO MERCADO ATUAL #CSS #pag47 #Android #pag37 20 anos de história e construção da web #capa #pag17 POR DENTRO DO W3C MELHORANDO A ACESSIBILIDADE NO <CANVAS> #Acessibilidade #pag29

Upload: imasters-redacao

Post on 24-Jul-2016

233 views

Category:

Documents


1 download

DESCRIPTION

JavaScript - 20 anos de história e construção da web / Melhore a acessibilidade no / Uma análise do mercado de desenvolvimento Android / Review do Rupture.

TRANSCRIPT

Page 1: Revista iMasters #16

Nós

faze

mos

a In

tern

et n

o B

rasi

lR

$24,

00

Nov

embr

o 20

15 /

Ano

04

/ E

diçã

o 16

REVIEWRUPTURE:CSS BREAKPOINTS SIMPLIFICADOS

ANDROID DEVCONFERENCE 2015OS DIAS DE INFÂNCIA JÁ PASSARAM: UMA ANÁLISE DO MERCADO ATUAL

#CSS#pag47

#Android#pag37

20 anos de história e construção da web#capa #pag17

POR DENTRODO W3CMELHORANDO A ACESSIBILIDADE NO <CANVAS>

#Acessibilidade#pag29

Page 2: Revista iMasters #16
Page 3: Revista iMasters #16

Expediente

TIAGO BAETA Publisher

RINA NORONHA (MTB 2759-ES) Editora/Jornalista Responsável

FABIO LODY Direção de Arte / Diagramação

NATHÁLIA TOREZANI Revisão

COLABORADORES Alexandre Brandão Lustosa, Anderson Casimiro, Bruno Rodrigues, Edison Fontes, Eduardo Mustafá, Fernanda Weiden, Flávia Jobstraibizer, João Smith, Kemel Zaidan, Marcelo Varon, Pedro Lemes, Reinaldo Ferraz, Ricardo Abdalla, Ubiratan Soares, Vitor Mendrone.

ESKENAZI INDÚSTRIA GRÁFICA Gráfica

GRUPO IMASTERS Organização

> 1000 exemplares

> ISSN 1981-0288

Rua Claudio Soares 72, conjunto 1302, Pinheiros - São Paulo/SP CEP: 05422-030 Telefone: (11) 3063-5941

www.imasters.com.br/revista [email protected] Twitter: @iMasters Facebook: /PortaliMasters

Os artigos assinados são de res-ponsabilidade dos autores e não refletem necessariamente a opinião da revista. É proibida a reprodução total ou parcial de textos, fotos e il-ustrações, por qualquer meio, sem prévia autorização dos artistas ou do editor da revista.

Page 4: Revista iMasters #16

www.stone.com.br

A Stone foi construída do zero,com tecnologia de ponta,

pensando no desenvolvedor.

Temos um conjunto poderoso de APIs que se integram de

forma rápida e fácil seja qual for sua necessidade:

Pagamento In-app, Chip & Pin, E-commerce, Conciliação, Etc.

Se o assunto é pagamento, a Força

está com a Stone.

[email protected]

Page 5: Revista iMasters #16

Editorial

Chegar à última edição do ano é um desafio. Aliás, todas as edições são. Definir os temas principais, selecionar os convidados para escrever e dar entrevistas para as matérias. Nada disso é feito de um dia para o outro e, principalmente, nada disso é feito apenas por mim.

É um clichê enorme, mas quero aproveitar esta edição para agradecer a cada um que colaborou para as mais de 300 páginas de conteúdo que publicamos este ano. Os colu-nistas fixos, os convidados, os entrevistados, todos que se dispuseram e enfrentaram esse desafio conosco.

Para fechar este ano, trazemos um especial sobre os 20 anos de JavaScript. Não foi a única linguagem a comemorar mais uma década este ano, mas foi a escolhida por nós por inúmeras razões, incluindo sua importância junto à comunidade e a forma como trouxe mudanças.

Nas próximas páginas, você terá a oportunidade de refletir sobre segurança, acessibilidade e empreendedorismo. Também poderá ver um pouquinho do que tem se feito pela internet Brasil afora.

Em 2016 comemoramos os 15 anos do iMasters. Se você quiser participar das próximas edições da revista, pode nos contar a sua história com o iMasters, ou o que você fazia há 15 anos e como imaginava que seria a vida neste período.

Envie por email para [email protected] - sugestões de pauta e de artigos também são sempre bem-vindos!

Um ótimo final de ano para você (ainda um pouco adiantado!)

Rina Noronha

[email protected] Chefe - iMasters

Page 6: Revista iMasters #16
Page 7: Revista iMasters #16

Capa - JS - 20 anos de história e construção da web

Review

Rupture – CSS Breakpoints simplificados

Android DevConference 2015Os dias de infância já passaram: uma análise do mercado atual

Por dentro do W3C

Melhorando a acessibilidade no <canvas>

37

17

4729

Sumário < 7

Page 8: Revista iMasters #16

A iMasters é uma revista de Tecnologia/Web aberta a novas ideias. Para colaborar envie o seu material por e-mail [email protected]

09 :: Entrevista > Zeno Rocha

17 :: Capa > JS - 20 anos de história e construção da web

22 :: Conexão Vale do Silício > Hora de falar sobre segurança

26 :: API > A simplicidade no centro da estratégia de negócios digital

29 :: Por dentro do W3C > Melhorando a acessibilidade no <canvas>

32 :: Por aí > Fazendo a internet do Brasil pelo mundo

37 :: Por aí > Android DevConference 2015: os dias de infância já passaram

34 :: Por aí > Quem faz a internet no Brasil?

41 :: Segurança > Estruturando o Processo Corporativo de Segurança da Informação

45 :: Código Livre > Informações e dicas sobre projetos Open Source

47 :: Review > Rupture – CSS Breakpoints Simplificados

53 :: Cloud > Cloud computing: o melhor da tecnologia no seu negócio

56 :: Sr. Conteúdo > Conteúdo para mídias sociais: modo de usar

60 :: Infra > Pipeline - Desacoplamento na implementação de workflows comserviços de barramento

65 :: Desenvolvimento Zen > Aprenda e empreenda

68 :: E-Commerce > Carteira digital: implementação simples e eficaz para o negócio

70 :: iMasters Box

50 :: Tecnologia do futuro > Em tempos de crise

14 :: Tendências > Simplicidade, velocidade e a revolução da internet

8 > Sumário

Page 9: Revista iMasters #16

Zeno Rocha: depois de 20 anos é que as pessoas começaram a levar JavaScript a sério

Por Eduardo Mustafá, para Revista iMasters

Entrevista < 9

Page 10: Revista iMasters #16

10 > Entrevista

“Tenho um contato próximo com JavaS-cript há pouco mais de seis anos. Durante esse tempo, conheci muitas outras lingua-gens, mas nenhuma me deu a liberdade de criar como o JavaScript”. É esse pensa-mento que Zeno Rocha, Front-end Engineer na empresa norte-americana Liferay, tem so-bre JavaScript.

Tendo completado 20 anos em setembro de 2015, o JavaScript foi lançado pela primeira vez na versão beta do navegador Netscape 2.0, em setembro de 1995, sendo que em dezembro do mesmo ano foi implementado no navegador Netscape versão 2.0B3.

O fundador do JavaScript foi o americano Brendan Eich. O programador iniciou sua carreira na Silicon Graphics, trabalhando por sete anos em  sistemas operacionais  e sis-

temas de rede. Depois atuou por três anos na  MicroUnity Systems Engineering,  escre-vendo  microkernels  e códigos para  DSPs, e bolou a primeira portagem do compila-dor  GCC  para  MIPS  R4000. Mas Eich fi-cou realmente conhecido por seu trabalho na Netscape e na Mozilla.

Para Zeno Rocha, que já foi desenvolvedor de software na Petrobras e no Globoespor-te.com, o JavaScript acompanha a evolução da web desde as barras de scroll customi-zadas até animações em 3D. Para entender o posicionamento dele sobre a linguagem, confira o bate-papo no qual falamos de tudo um pouco: características positivas e nega-tivas do JS; padronização; evolução digi-tal e tecnológica; comparação com outras linguagens; e o que podemos esperar do JavaScript daqui a 20 anos.

Revista iMasters: Há quanto tempo você usa JavaScript e o que a linguagem re-presenta para você? 

Zeno Rocha: Tenho um contato próximo com JavaScript há pouco mais de seis anos. Durante esse tempo, conheci muitas outras linguagens, mas nenhuma me deu a “liber-dade de criar” como JavaScript.

RiM: Você consegue imaginar quais eram os objetivos do JS quando foi lançado em 1995? Eles foram atingidos e superados?

ZR: Não consigo imaginar qual era o objetivo quando foi lançado, mas acredito que uma linguagem criada em apenas dez dias não tinha planos tão ambiciosos assim. Nem o mais otimista acreditaria, isso lá em 95, na dimensão que isso tudo iria tomar.

RiM: Com 20 anos de história, podemos di-zer que JavaScript acompanhou a evolução da web?

ZR: Sem dúvida. Desde as barras de scroll customizadas até animações em 3D. O Ja-vaScript foi figura carimbada na história da web.

RiM: Quais são as características positivas e negativas do JavaScript?

ZR: Muitos podem discordar, mas acredi-to que uma característica muito positiva é o fato de ser uma linguagem interpretada e não compilada. Isso abre margens para problemas de debug, mas ao mesmo tempo possibilita maior experimentação. O aspecto negativo são as falhas de design da lingua-gem que trazem incertezas ao mais expe-riente engenheiro de software.

Page 11: Revista iMasters #16

RiM: Enquanto desenvolvedor, quais foram as maiores dificuldades que você observou na padronização da linguagem? 

ZR: Entre todas as dificuldades que passei como desenvolvedor, a padronização da lin-guagem nunca foi um problema, mas sim a inconsistência das APIs que foram e são im-plementadas nos diferentes browsers.

RiM: JavaScript é forte na web e tem sua força no servidor. Com a evolução digital e tecnológica, o que podemos esperar daqui para frente (Internet das Coisas, aparelhos vestíveis etc.)?

ZR: As coisas vão se integrar muito mais umas com as outras. Tecnologia não vai ser vista como um campo separado, vamos to-dos respirar isso. As pessoas vão passar a não tolerar sistemas medíocres que foram instituídos na nossa sociedade há muito tempo. Essa transformação já pode ser vis-ta em diferentes segmentos do mercado, só que ainda falta muito, principalmente nos se-tores de transporte público e saúde.

RiM: Como você compararia o JavaScript com outras linguagens - Ruby, Perl e PHP -, já que a maioria é baseada no servidor? Quais são as principais diferenças?

ZR: Entre essas linguagens, JavaScript é a única baseada em protótipo, e isso causa uma mudança de paradigma enorme. Entre-tanto, é muito delicado fazer uma compara-ção dessas linguagens. Cada uma tem suas características e cada uma tem seu espaço. Apples and oranges.

RiM: O JavaScript está muito bem implan-tado há anos. O que podemos esperar da versão ES2015, também conhecida como ES6?

ZR: Muitas novidades! Graças ao Babel

(6to5), muita gente tem tido acesso e a oportunidade de experimentar essa versão. Inclusive, quem não quiser ficar para trás já deveria estar estudando esse assunto. A mi-nha previsão é de que arrow functions vão conquistar muitos desenvolvedores.

RiM: Christian Hellmann (ex-Mozilla, atu-almente Microsoft) afirmou recentemente que “Trocar os pneus de um carro em movi-mento é tão difícil quanto tentar fazer inova-ções com JavaScript”. Você concorda com essa afirmação?

ZR: Absolutamente. Isso acontece não só com a linguagem, mas com qualquer sof-tware ou plataforma com muita adoção de público. Qualquer mudança, por menor que seja, pode afetar um ecossistema inteiro. Eu diria que trocar os pneus de um carro em movimento é fácil. O pior que pode aconte-cer é você quebrar o carro. Agora imagina quebrar a web?

RiM: Quando o Node.JS surgiu, JavaScript ganhou popularidade no servidor. Por que isso aconteceu?

Zeno Rocha: Porque sempre foi muito ape-lativa a ideia de utilizar uma só linguagem em diferentes plataformas. Foi como se um gap fosse preenchido. E, com isso, uma legião de desenvolvedores que só sabiam progra-mar no navegador ganharam o poder de também desenvolver no servidor.

As pessoas vão passar a não tolerar sistemas me-díocres que foram instituí-dos na nossa sociedade há muito tempo

Entrevista < 11

Page 12: Revista iMasters #16

12 > Entrevista

RiM: Quanto da evolução do JS se deve ao Node?

ZR: Com certeza a popularidade da lingua-gem cresceu bastante à medida que o Node foi evoluindo - talvez a maior influência tenha sido o sistema de módulos.

RiM: Muito se falou de jQuery nos últimos quatro anos, e há menos tempo que isso ti-vemos a ascensão do Node.JS. Qual o pró-ximo passo? O que se tornará a nova ten-dência na divulgação do JavaScript?

ZR: Pela primeira vez, eu tenho visto mais ânimo e energia da comunidade sendo co-locados nas mudanças da linguagem em si, em vez de library X ou framework Y. Todo mundo está de olho no ES2015 e exploran-do maneiras de usar isso, mesmo com a enorme falta de compatibilidade entre as pla-taformas. Esse é um momento bem interes-sante na história, que só demonstra como a comunidade amadureceu nos últimos anos.

RiM: Você acredita que o JavaScript conti-nuará sua evolução como tem feito desde da sua origem para se adaptar às novas ferra-mentas?

ZR: Sem dúvida, sua maleabilidade é talvez uma das suas características mais podero-sas.

RiM: A ECMAScript 4 foi descontinuada e a versão 4 ficou reservada por conta da grande mudança que haveria entre a ECMA 3 e a 4; foi dito, na época, que essa grande mudança poderia quebrar a web. A ECMA 6 está finalmente chegando e, com ela, muitas mudanças que estariam presentes na ECMA 4. Além do contexto histórico e do cenário atual da web, seria possível enumerar alguns fatores que poderiam contribuir para a ado-ção da ECMA 6? Ainda, se a ECMA 4 tivesse sido especificada na época como a ECMA 6

está sendo especificada hoje, será que ela teria sido descontinuada também?

ZR: Vivemos um momento único, no qual existe muita gente interessada na especifi-cação e na padronização da linguagem. Isso faz com que a responsabilidade e a cobran-ça aumentem muito. Quanto maior o interes-se da comunidade, menor a possibilidade de descontinuação. 

RiM: Além de JavaScript, PHP e Java tam-bém completaram 20 anos em 2015. É possível traçar um paralelo no crescimento dessas linguagens e do desenvolvimento no geral?

ZR: Ainda falta muito, mas acho que essas linguagens e as comunidades em volta delas estão amadurecendo em ritmo muito pare-cido. PHP vai continuar atraindo um público iniciante, enquanto que Java vai continuar atraindo o mercado enterprise. Independen-temente de suas características, cada uma teve um papel importante nessa história e conseguiu de alguma forma sobreviver nes-se mercado extremamente mutável. 

RiM: Se for pensar no JavaScript daqui a 20 anos, lá em 2035, o que vamos encontrar?

ZR: JavaScript sempre esteve em constan-te evolução, mas nunca teve a credibilidade necessária. Só depois de 20 anos é que as pessoas começaram a levar essa linguagem a sério. Agora que essa barreira foi vencida e a comunidade chegou ao tamanho que está, o ritmo de evolução vai aumentar mui-to mais. O que vamos encontrar em 2035? Essa eu deixo para a Mãe Diná, só tenho a certeza de que será algo absolutamente di-ferente do que temos hoje.

Page 13: Revista iMasters #16

Não importa o tamanho.

Com UOL HOST seu site não cai*.

HOSTSeu sucesso online começa aqui.

• Nova geração de hospedagem:

a única com isolamento

de recursos

• Suporte técnico em português –

24 horas

• Hospedagem de até 5 sites

• Espaço de até 30GB

LIGUE 4003-5973 OU ACESSE UOL.COM.BR/HOSPEDAGEM

PLANOS A PARTIR DE

R$12,90POR MÊS**

*Gara

nti

a d

e 9

9,8

% d

e e

stab

ilid

ad

e. *

*Refe

rente

à c

ontr

ata

ção

de p

lano

tri

enal d

e H

osp

ed

ag

em

Fit

.

Page 14: Revista iMasters #16

Simplicidade, velocidadee a revolução da InternetPor João Smith, head da ResellerClub no Brasil

No cenário competitivo da Internet, a sim-plicidade e o acesso rápido à informação são considerados fatores fundamentais para o sucesso. É com esse propósito que as novas gerações de domínios de primeiro ní-vel, também conhecidos como TLDs (“top level domains”), vêm ganhando espaço e prometem revolucionar o cenário mundial da Internet.

Atualmente, as extensões de domínios mais populares já estão saturadas, sendo cada vez mais difícil conseguir uma boa com-binação. Contudo, uma nova iniciativa da ICANN, entidade mundial responsável pela administração do sistema de nomes de do-mínios genéricos (gTLDs) e de códigos de países (ccTLDs), está trazendo inovação e concorrência para os populares .com, .net e “.com.br”. O projeto consiste em aumentar consideravelmente as extensões de domí-nios existentes na Internet e promete ampliar dezenas de vezes as possibilidades de com-binações de nomes de domínios, como a utilização das novas extensões .tech, .cloud, .online, .top, .site, .shop e .auto.

A expectativa do projeto é lançar mais de 1.300 novas extensões de domínios gené-ricos nos próximos anos, um número real-mente impressionante, considerando que desde 1985 apenas 22 gTLDs foram lan-çados. Atualmente, já existem milhões des-ses novos domínios registrados ao redor do mundo, e o Brasil está entre os 30 países

que mais registram essas novas extensões no ranking global, ficando atrás de países como China, EUA, Alemanha e Inglaterra.

Com essa movimentação, as empresas pre-cisam se preparar para proteger suas marcas com as novas extensões de domínios que correspondam às suas áreas de atuação. Agências, desenvolvedores web, varejistas, empreendedores, indústrias, comerciantes e empreendedores terão novas opções para tornarem seus sites, campanhas e projetos online mais criativos e inovadores. E novos empreendimentos terão possibilidades infini-tas para encontrarem aquele nome de domí-nio tão desejado.

Existem diversas aplicações e benefícios para as novas extensões de domínios. A pri-meira é a simplicidade de apresentar a área de atuação da empresa na própria URL, como nos casos de .software, .computer, .solutions e .hotel. Essa “autodescrição” tor-na as marcas ainda mais relevantes e me-moráveis. Além disso, a palavra-chave no nome do domínio é um critério importante que pode influenciar na relevância junto aos motores de buscas como o Google.

A segunda é que nunca foi tão fácil expli-car sobre serviços, produtos ou campanhas online, como na utilização de terminações .cloud, .host, .digital, .tickets, .top e .email, tornando-os muito mais marcantes na per-cepção dos clientes e consumidores. Outra

14 > Tendências

Page 15: Revista iMasters #16

opção está em usar a geografia para reforçar a identidade do local, como nos casos de .rio, .london e .nyc.

Comunidades ou grupos específicos tam-bém recebem as suas próprias identifica-ções - como o .tech, que reforça o contexto tecnológico, e .dev ou .guru, para desenvol-vedores ou profissionais de Internet.

Fazendo jus à importância desse movimen-to, grandes empresas já possuem suas pró-prias extensões, como: .globo, .itau e .sony . Isso traz um viés de inovação e valor perce-bido para a marca.

Existem extensões de domínios e combi-nações para todos os tipos de negócios, comunidades, estilos, gostos e tendências, tudo para proporcionar uma experiência realmente marcante na vida dos clientes e consumidores. Basta usar a criatividade que será possível encontrar combinações infini-tas, como: projeto.social, smith.guru, supor-te.ninja, agencia.marketing, cervejaria.beer,

estilo.moda, e assim por diante.

Por fim, esse movimento resulta em algum investimento de marketing, adaptação cul-tural e depende da própria evolução natural da Internet no âmbito global. O fato é que esse cenário realmente está criando uma nova oportunidade para empresas, empre-endedores e pessoas se destacarem na In-ternet e se tornarem ainda mais competitivas e inovadoras. E o quanto antes esses seg-mentos estiverem inseridos nesse contexto, mais rápida ocorrerá a evolução da Internet no Brasil e no mundo.

João Smith liderou a estratégia de negó-cios, parcerias e canais em empresas líderes de mercado. Atualmente, é head da Reseller-Club no Brasil, uma das maiores empresas de hospedagem e domínios do mundo. A Re-sellerClub possibilita que desenvolvedores gerenciem vendas, clientes e produtos por meio de uma única plataforma de revenda. [email protected] br.resellerclub.com

$

$

$

Tendências < 15

Page 16: Revista iMasters #16

`

j

v

`j

jv

`v

`jv

h

Page 17: Revista iMasters #16

20 anosde históriae construção da webPor Eduardo Mustafá, para Revista iMasters

Page 18: Revista iMasters #16

Você se lembra de alguns fatos que marca-ram o ano de 1995? Pensando rapidamente, recordo que a Microsoft lançou o Internet Explorer, dando início à “Guerra dos Bro-wsers” contra o Netscape; teve também a criação da plataforma mIRC para funcionar como um mecanismo de chat e troca de ar-quivos; na política brasileira, foi o começo do governo de Fernando Henrique Cardoso; e, na música, foi o ano da Macarena (essa lem-brança eu posso apagar da minha memória, rssss).

Se você nasceu no início dos anos 1980 ou antes, sabe do que estou falando. Mas caso tenha nascido no final dos anos 1980 ou depois, dificilmente você vai se lembrar, mas com certeza já viu algo no Google ou já assistiu a algum vídeo no YouTube. Falan-do em web, não poderíamos deixar de fora um dos principais personagens de 1995: o JavaScript.

Atualmente, é praticamente impossível ima-ginar a Internet sem a existência do JavaS-cript. Em conjunto com o HTML e o CSS, o JavaScript – bem como suas bibliotecas e tecnologias relacionadas – é um dos ali-cerces fundamentais da web como a conhe-cemos.

Praticamente todas as páginas executam algum tipo de código JavaScript, ou seja, pode ter certeza de que diariamente muito código JS está sendo executado durante uma pesquisa no Google, leitura de uma no-tícia em um portal ou mesmo no Facebook.

O início do JS há 20 anos

O JavaScript foi originalmente desenvolvido sob o nome de Mocha, posteriormente teve seu nome modificado para LiveScript e, por fim, JavaScript. LiveScript foi o nome oficial da linguagem quando ela foi lançada pela

primeira vez na versão beta do navegador Netscape 2.0, em setembro de 1995, mas teve seu nome alterado em um anúncio con-junto com a Sun Microsystems, em dezem-bro do mesmo ano, quando foi implementa-do no navegador Netscape, versão 2.0B3.

O fundador do JavaScript foi Brendan Eich, que nasceu em 1961 nos Estados Unidos. O programador iniciou sua carreira na  Si-licon Graphics, trabalhando por sete anos em  sistemas operacionais  e sistemas de rede.  Depois atuou por três anos na  Mi-croUnity Systems Engineering,  escreven-do  microkernels  e códigos para  DSPs, bolando a primeira portagem do compila-dor GCC para MIPS R4000.

Eich ficou realmente conhecido por seu tra-balho na Netscape e na Mozilla. Na Netsca-pe Communications Corporation,  começou a trabalhar em abril de 1995, justamente no JavaScript. Depois ajudou a fundar a Mozilla.org em 1998, atuando como arquiteto-che-fe. Quando a AOL desativou a divisão para o navegador Netscape em julho de 2003, Eich ajudou a fomentar a Mozilla Foundation.

A evolução do JS em duas décadas

“O JavaScript tem um papel fundamental na evolução da web, pois a ideia central da Internet era ser uma plataforma aberta para todos. Foi superimportante que a sua prin-cipal linguagem de programação também fosse aberta, sem controle centralizado de corporações e de fácil aprendizado”, ressalta Leonardo Balter, que é engenheiro de sof-tware especialista em JavaScript.

Balter lembra que, nesses 20 anos, o JS conseguiu, inclusive, eliminar os temíveis “plug-ins de terceiros” de navegadores, quando vivíamos uma Internet cheia de fer-

18 > Capa

Page 19: Revista iMasters #16

Capa < 19

ramentas proprietárias e com a performance ruim. “A principal vantagem é que todos os navegadores competiam por uma implemen-tação mais rápida de JavaScript; enquanto isso, os desenvolvedores e os usuários saí-am ganhando, daí o JS ficou cada vez me-lhor por causa dessa concorrência em cima do mesmo produto”, lembra o especialista em JavaScript.

As principais características do JS

Para Eduardo Mattos, programador Fullsta-ck no Medicinia, as principais qualidades do JavaScript são a possibilidade e a facilidade em testar a linguagem de forma rápida, o que contribui para o desenvolvedor visuali-zar o resultado do seu código. “Com Node.js, a linguagem rompeu a barreira da web, e isso é muito significativo na hora de escolher uma linguagem para trabalhar. Já negativa-mente eu vejo que ainda estamos discutindo compatibilidade de browsers por conta das políticas que estão por trás de cada grande empresa dona de navegadores. Isso impede de estarmos em um estágio mais avançado”, comenta Mattos.

Praticamente todas as páginas execu-tam algum tipo de código JavaScript

Já Balter enxerga a ECMA como o principal lado positivo do JavaScript, pois a fundação faz um trabalho de desenvolvimento contí-nuo e descentralizado. A ECMA coordena um grupo que tem participação colaborativa de empresas que implementam o run-time do JS, como Mozilla, Google, Microsoft e

Apple, além da participação de desenvolve-dores web que representam as comunida-des de desenvolvimento.

“Um ponto negativo eu digo que é o nome. Primeiro porque o JavaScript nunca foi Java, e hoje ele não é apenas um script, mas sim uma linguagem completa de programação. Apesar de ser a linguagem mais popular da web, muitos desenvolvedores subestimam o JS muitas vezes por ser realmente a úni-ca linguagem que tem como opção para o front-end”, explica Balter.

O JS caminhando com a tecno-logia

O JavaScript sempre teve sua força na web e no servidor, e isso se tornou um diferen-cial, mas com o avanço tecnológico algu-mas dúvidas pairam no ar sobre a evolução da linguagem.

Mattos aposta fortemente em duas tendên-cias que devem acompanhar o JavaScript. A primeira é a de aplicativos para desktop, que, por incrível que pareça, já é um novo ni-cho de desenvolvimento utilizando a lingua-gem (como Spotify, Slack etc.). A segunda questão é muito recente e trata dos subsets de JavaScript, como o asm.js, que propor-cionam executar programas escritos em ou-tras linguagens, como C, em JavaScript.

Já Balter acredita que o JS continuará sua evolução, como tem feito desde da sua ori-gem, para se adaptar às novas ferramentas que surgem com a tecnologia. “Assisti a duas demonstrações no evento BrasilJS (que aconteceu em Porto Alegre, em agosto) que comprovam meu pensamento - uma apre-sentação da Mozilla e outra da  Huia  (com realidade aumentada) - e fiquei impressiona-do. Usei óculos 3D - provavelmente o Ocu-lus Rift - em um sistema que interagia com

Page 20: Revista iMasters #16

movimentos de terceira dimensão. Pare-ce brega, mas gostei muito do que vi. Era tudo controlado por JavaScript”, exemplifica Leo Balter.

O que podemos esperar da versão ES6 (ou ES2015)?

“Classes, módulos, templates, promisses e destructuring. Muita coisa chegando, e o melhor: conceitos que realmente fazem fal-ta para os desenvolvedores. Ressalto aqui o quanto é gratificante trabalhar com uma lin-guagem que evolui dessa maneira”, come-mora Mattos.

Balter ressalta que a maior diferença do ES6 para o ES5 está na sintaxe do código. “Al-gumas são, inclusive, chamadas de Syntax Sugar, por resolver muito mais um problema estético do que técnico. Programadores são muitos vaidosos com o seu trabalho, temos orgulho de um código bem escrito, mesmo que a gente esqueça ou apague logo em se-guida”. O especialista em JavaScript comen-ta que existem várias novas funcionalidades, lembrando que foi a maior mudança que o JavaScript já teve. “A grande vantagem é que o TC39 (equipe do ECMA que fez o ES6) teve o cuidado de manter a retrocom-patibilidade. Assim, um ambiente com ES6 vai rodar JS que esteja ainda seguindo os padrões do ES5 ou do ES3, versão utilizada pelo já extinto IE6”, define Balter.

O JavaScript daqui a 20 anos

Sabemos que é difícil prever o que estará acontecendo em 2035, ainda mais com a evolução que vivenciamos no mundo tec-nológico. Mas esse trabalho de prever o futuro ajuda na questão de trabalhar algu-mas ideias para os próximos anos. Mattos concorda que é difícil prever um cenário fu-

turista, mas ele aposta em um sistema ope-racional feito com JavaScript, quase como o FirefoxOS. “Com o lance de ServiceWorkers, eu acredito que cada vez mais o JavaScript vai controlar mais coisas do seu device ou computador. E isso é extremamente fasci-nante de se pensar. JavaScript é uma das linguagens mais promissoras em termos de comunidade, novas funcionalidades e até investimento de empresas”, conclui Edu-ardo Mattos.

JS conseguiu, in-clusive, eliminar os temíveis “plug-ins de terceiros” de na-vegadoresJá Balter acredita que o JS continuará sua evolução, como tem feito desde da sua ori-gem, para se adaptar às novas ferramentas que surgem com a tecnologiaLeo Balter é mais enfático e aposta que a programação vai fazer parte do ensino fundamental nas escolas, e que o JavaScript tem mais chan-ce de ser a linguagem adotada por ser a mais flexível. “Faço outra aposta por conta de uma falta de distinção entre o que é apli-cativo e o que é Internet, fenômeno que já está acontecendo. As pessoas usam natu-ralmente aplicações como o Facebook e não sabem distinguir se é uma aplicação ou web. Já alguns dizem que é a própria Internet”. Balter complementa que as plataformas criativas estão caminhando para um mundo no qual a web faz cada vez mais parte do dia a dia de todas as pessoas, e o JavaS-cript continua como um dos seus pilares. “O nome web pode sumir, ser esquecido, mas as pessoas, e não só os desenvolvedores, vão estar cientes de que ela é formada de HTML, CSS e JavaScript”, finaliza.

20 > Capa

Page 21: Revista iMasters #16

LOGIN COM

C

M

Y

CM

MY

CY

CMY

K

Page 22: Revista iMasters #16

Hora de falar sobre segurança

Por Fernanda Weiden, Engineering Manager, Protect and Care Engineering @ Facebook London

Falar de segurança de sistemas de infor-mação sempre foi meio tabu. Poucas em-presas falam e compartilham informações sobre práticas, com medo de expor suas próprias deficiências. Ainda é comum a prá-tica de “segurança por obscuridade” (ou se-curity by obscurity, em inglês). Porém, isso parece estar mudando.

No último ano, ficaram famosos alguns ca-sos de invasão de sistemas de grandes em-presas, como Sony Pictures Entertainment e Ashley Madison. Esses dois casos são interessantes de forma bastante particular, porque eles ilustram um ataque mais tradi-cional, e outro inovador de uma forma um pouco assustadora para a comunidade de segurança internacional. Ambas as empre-sas falaram publicamente sobre o assunto, e compartilharam diferentes níveis de deta-lhe sobre os ataques.

Ashley Madison é uma plataforma para ca-sos amorosos. O inusitado sobre essa pla-taforma é que o público-alvo são pessoas que queriam manter encontros casuais ou ter relacionamentos paralelos ao seu casa-mento ou relacionamento estável. Portanto,

discrição está no topo das prioridades. Em julho deste ano, um grupo invadiu os siste-mas da empresa e ameaçou publicar dados detalhados de todos os usuários da empre-sa, caso o website não fosse retirado do ar. Não foi, e o resultado foi a publicação de dados de quase 40 milhões de pessoas que usavam a plataforma.

Eu chamo esse ataque de tradicional por-que aparentemente é motivado por discor-dância ideológica do que a empresa faz: uma plataforma para facilitar traições. No entanto, a plataforma ainda está no ar, as pessoas ainda estão usando, mas os da-dos foram roubados e o constrangimento público de milhares de pessoas aconteceu.

Pensar sobre segurança no mundo digital, assim como no ambiente físico, não é mais opcional

O caso da Sony Pictures é diferente não pela motivação, mas pela proporção das ações tomadas pelos invasores.

22 > Conexão Vale do Silício

Page 23: Revista iMasters #16

Indícios apontam que o propósito do ata-que era impedir a Sony de lançar um filme no mercado, uma comédia que fazia piada com o líder da Coreia do Norte. Além de publicar dados pessoais de funcionários da empresa, os responsáveis pelo ataque instalaram software capaz de apagar todos os dados de milhares de computadores da empresa. E foram além do mundo virtual, ameaçando inclusive os cinemas que ou-sassem em mostrar o filme.

De uma hora para outra, os invasores fize-ram com que milhares de computadores e servidores da Sony se tornassem inutili-záveis. Um impacto imenso nas operações da empresa. E também um trabalho qua-se que inimaginável de recuperar siste-mas a partir do zero de um ponto de vista de engenharia.

Em julho deste ano, um grupo invadiu os sistemas da empresa e ameaçou pu-blicar dados detalhados de todos os usuários da em-presa, caso o website não fosse retirado do ar.

Esse ataque é inusitado porque pela primei-ra vez, em grande escala, invasores não só roubaram dados, mas causaram uma gran-de destruição e interrupção das operações

da empresa pelo período de tempo que a levou a recuperar seus sistemas.

Compartilhar informações sobre detalhes desses casos é importante para guiar uma reflexão e autocrítica do quão preparados os sistemas das nossas empresas estão, onde estamos investindo em matéria de se-gurança, e o impacto desses investimentos e mecanismos de segurança na cultura de cada empresa. Como aqui se fala de pre-venção, é difícil falar em uma solução, por-que o conceito do que é suficiente muda conforme a opinião do gestor sobre o as-sunto e também o orçamento disponível em cada empresa.

Nos dois casos citados, existem questões que pedem reflexão. Uma delas é a ques-tão de equilíbrio no investimento, ou o fa-moso custo-benefício. Outra é o impacto de mecanismo de segurança na cultura das empresas. E também importante, especial-mente tendo em mente o cenário da Sony, é pensar sobre “recuperabilidade” de siste-mas de informação.

Em matéria de custo-benefício, acredito que começar com boas práticas operacio-nais levam a um sistema mais limpo. Isso não tornará os sistemas naturalmente mais seguros, mas certamente facilitará a cria-ção de mecanismos de segurança e tam-bém recuperação de sistemas em caso de falhas, sejam elas causadas por problemas de segurança ou não. Computadores que são gerenciados centralmente, seja por uso

Conexão Vale do Silício < 23

Page 24: Revista iMasters #16

de sistemas de distribuição de configuração ou gerenciamento de atualizações, tornam mais fácil a identificação de comportamento inesperado de sistemas.

De uma hora para outra, os invasores fizeram com que milhares de computadores e servidores da Sony se tornassem inutilizáveis

Criação e teste de backups fazem com que a recuperação de dados seja testada. To-das essas práticas, que são por natureza mais operacionais, também colaboram para que o sistema como um todo seja mais pre-visível, e previsibilidade também pode sig-nificar uma melhor visibilidade sobre possí-veis problemas de segurança.

Em termos de cultura, também é necessá-ria atenção ao impacto. O atalho mais fá-cil é instaurar a cultura do “não pode”. E isso certamente tem um impacto relevan-te no sentimento de responsabilidade de cada um dos funcionários com relação à empresa como um todo. A cultura do “não pode” também pode afetar a velocidade de desenvolvimento e mudanças na infraestru-tura da empresa, tornando-a mais lenta. Se enfrentado como um desafio de engenha-ria, a adoção de mecanismos de segurança pode ser feita sem criar impacto negativo na cultura da empresa.

Desafios de segurança no mundo digital es-tão se popularizando, porque o mundo dos negócios está cada vez mais migrando do mundo físico para o virtual, e os negócios, mesmo que sejam quase totalmente offline, fazem uso e, em grande parte, dependem de sistemas digitais.

Saiba mais sobre os casos de invasão

de sistemas da Sony Pictures

Entertainment e da Ashley Madison:

https://en.wikipedia.org/wiki/Sony_Pictu-

res_Entertainment_hack

https://en.wikipedia.org/wiki/Ashley_Madi-

son_data_breach

Fernanda Weiden trabalha com infraestrutura de grande escala, atualmente como Gerente de En-genharia na equipe de Protect and Care Engine-ering do Facebook, em Londres. Anteriormente, Fernanda trabalhou no Google, na Suíça, e na IBM, em São Paulo. Participante da comunidade de Software Livre desde 2002 e foi uma das or-ganizadoras do FISL por vários anos. Ela é mem-bro da Free Software Foundation Europe

Você já pensou em implementar mecanis-mos para evitar um vazamento de dados estilo Ashley Madison? Ou por onde come-çaria uma restauração da sua infra em caso de destruição de dados estilo Sony Pictures Entertainment?

Independentemente do grau de investimen-to financeiro que sua empresa está disposta a fazer, uma boa pedida seria começar com um brainstorm e uma lista de tarefas co-meçando pelo básico de operabilidade dos sistemas, por backups e, quem sabe, dis-cutindo sistema de detecção de invasões e níveis de acesso a dados de clientes. Pensar sobre segurança no mundo digital, assim como no ambiente físico, não é mais opcional. E falar sobre o assunto felizmente está se tornando a prática.

24 > Conexão Vale do Silício

Page 25: Revista iMasters #16

www.mundipagg.com.br | [email protected] Capitais e Regiões metropolitana: 3003-0460 Outras regiões 21 3554-2800 Desenvolvendo para você

Precisa de ajuda na integração?MundiPagg gateway de pagamentos online

•APIemRest, garantindo flexibilidade e simplicidade

•O tempo de resposta mais rápido do mercado, menosde300ms

•MundiCheckout, integração rápida e ambiente seguro para capturar as transações

Page 26: Revista iMasters #16

Nos últimos anos, vivenciamos a explosão de popularidade das APIs Web. Onipresen-tes, hoje elas suportam funcionalidades em sites, aplicações móveis e desktop, softwa-re corporativo, e também objetos físicos co-nectados à Internet. A chamada “Economia das APIs” emergiu como um novo espaço de inovação e geração de valor, passando a fa-zer parte da estratégia de negócios digital de muitas empresas. Mas, vale lembrar, as APIs não são novidade na economia digital.

A primeira geração de serviços para a Web foi construída com o propósito de viabilizar a comunicação e a interoperabilidade entre sistemas heterogêneos, e baseou-se in-tensivamente no uso do protocolo SOAP/XML. A nova geração de serviços mantém a característica da interoperabilidade, mas o faz sob uma nova perspectiva arquitetural, o Representational State Transfer (REST), mais aderente ao protocolo HTTP natural da Web, e a um novo formato de dados, o JavaScript Object Notation (JSON), mais simples e adequado à nova realidade das APIs do que o seu predecessor.

XML versus JSON: o falso dilema

O surgimento das novas APIs REST/JSON suscitou o debate, principalmente no meio técnico, sobre a adoção do JSON como pa-drão para formato de dados em detrimento do já estabelecido XML. Simpatizantes de ambos os lados não tardaram em ressaltar vantagens e desvantagens de cada uma

das abordagens, e um dilema parecia es-tabelecido. No entanto, a resposta do mer-cado foi a rápida e progressiva adoção do padrão REST/JSON, com o suporte ativo de grandes empresas como Google, Facebook e Twitter, entre outras, que não apenas passaram a adotar o novo paradigma como também a eliminar gradualmente o uso do XML em seus serviços.

Esse movimento não é exclusivo de gran-des empresas estrangeiras e vem ocor-rendo também no Brasil. Recentemente, Cielo e Braspag, duas empresas com longo histórico de uso de XML em seus serviços, passaram a adotar novas versões de suas soluções no formato JSON.

A simplicidade no centro da estratégia de negócios digitalPor Ricardo Abdalla, especialista em desenvolvimento de software na Braspag

26 > API

Page 27: Revista iMasters #16

O motivo? A simplicidade do JSON

Para melhor entender por que o formato XML tem sido preterido em relação ao JSON, tenha clareza sobre alguns pontos impor-tantes:

• XML é uma tecnologia poderosa em seu domínio, compartilhamento de documen-tos, pois possui recursos complexos, como namespaces, extensibilidade, definição e validação de schema, suporte para conteú-do misto e diversos tipos de dados.

• Por algum tempo, o XML foi a única esco-lha possível para os desenvolvedores. Por ser a única ferramenta disponível, acabou sendo solução para todos os problemas.• JSON é um formato para compartilhamen-to de dados. Ele é simples, compacto e de mais fácil entendimento para desenvolve-dores Web do que o XML. Embora limitado, é adequado o suficiente para transmitir da-dos e coleções de objetos.

• JSON se enquadra mais naturalmente do que o XML ao modelo de programação Web, largamente baseado em JavaScript. Além disso, observa-se uma crescente tendên-cia de uso do JSON para além do frontend, como atestam as soluções de storage Apa-che CouchDB e MongoDB.

• XML é, de fato, ótimo em seu domínio de aplicação, mas a verdade é que a grande maioria dos serviços para Web não necessi-ta dos recursos complexos que a tecnologia oferece.

• Onde bons desenvolvedores puderem simplificar, eles o farão.

Na Economia das APIs, simplici-dade significa maior chance de sucesso

Um dos grandes atrativos da Economia das APIs é a possibilidade de alavancar a produ-tividade das aplicações, delegando tarefas específicas para serviços fornecidos por terceiros, geralmente experts em sua área de atuação, como o processamento de pa-gamentos online ou o envio de SMS.

A nova geração de serviços man-tém a característica da interop-erabilidade, mas o faz sob uma nova perspectiva arquitetural

Ao eliminar antigas distrações, o desenvol-vedor fica livre para focar no valor único que o seu produto busca oferecer ao mer-cado, beneficiando-se, portanto, de um ecossistema de APIs em que os padrões de comunicação atuam em seu favor, de forma simples e sem surpresas. Logo, existe uma clara relação entre a simplicidade no consu-mo de um serviço e o sucesso em sua ado-ção. Serviços mais simples tendem a atrair um maior número de consumidores. E con-sumidores significam sucesso.

Ricardo Abdalla, agilista, desenvolvedor e

cientista da computação formado pela Univer-

sidade Federal Fluminense. Profissional cer-

tificado Microsoft (MCSD Web Apps) e Scrum

(PSD), possui quase 10 anos de experiência

na área de tecnologia, tendo atuado nos seg-

mentos de pesquisa, finanças e e-commerce.

Atualmente, é especialista em desenvolvimen-

to de software na Braspag, empresa do grupo

Cielo, líder em pagamentos na América Latina.

[email protected]

API < 27

Page 28: Revista iMasters #16
Page 29: Revista iMasters #16

Melhorando a acessibilidade no <canvas>Por Reinaldo Ferraz, Especialista em Desenvolvimento Web do W3C Brasil

um elemento de âncora (que pode executar a mesma função do clique do mouse) pode melhorar a acessibilidade desse elemento da seguinte forma:

<canvas id=”x” > <a href=”#“>Desenho de uma estrela amarela feita ao clicar no elemento</a> </canvas>

A acessibilidade no <canvas> também pode explorar muito mais do que uma simples des-crição da aplicação. É possível fazer com que a aplicação seja controlada por ações basea-das na navegação por teclado.

No segundo exemplo, consideramos o de-senvolvimento de um jogo ou aplicação no qual o usuário deve mover objetos no <can-vas>. Todo esse controle pode ser feito na camada por trás do meu container, possibi-litando a navegação via teclado e especial-mente o acesso à tecnologia assistiva.

<canvas id=”x” > <h2>Controles</h2> <a href=“#” id=“up”>Para cima</a>

< a href=“#”id=“down”> Para baixo</a> </canvas>

Dessa forma, os controles da aplicação não ficam visí-veis para o usuário, mas es-

Acessibilidade vai muito além de marcações semânticas no HTML. É possível garantir que aplicações dentro de elementos <canvas> transmitam informação a usuários de tecno-logia assistiva ou até permitam o controle de uma aplicação complexa. O objetivo deste texto é mostrar como pequenas intervenções no código podem melhorar a acessibilidade de aplicações dentro do <canvas>.

O elemento <canvas> é um container que pode ser usado para renderizar gráficos de jogos, artes, ou outras imagens visuais em tempo real. Além da simples renderização de bitmaps, controles da aplicação atuam dentro desse container. E esses controles podem (e devem) ser acessíveis ao usuário.

Vamos usar como exemplo uma aplicação simples com <canvas> que permite desenhar uma estrela ao clicar no elemento. A princí-pio, sua marcação no HTML (excluindo os scripts para fazê-lo funcionar) funcionaria desta forma:

<canvas id=”x” ></canvas>

Uma das principais dire-trizes de acessibilidade é possibilitar o acesso via te-clado ao conteúdo da pági-na. Sendo assim, um texto descrevendo o que a aplica-ção vai executar dentro de

Por dentro do W3C < 29

Page 30: Revista iMasters #16

O ponto mais importante dos exemplos mostrados é a simplicidade da sua imple-mentação em aplicações mais complexas e elaboradas. Vale lembrar que garantir aces-sibilidade a uma aplicação vai muito além de filantropia. A Web está evoluindo da mesma forma que nossos sentidos, e não podemos ser impedidos de acessar um conteúdo por não utilizar um computador de última ge-ração ou por alguma limitação física. Não precisamos de muito para fazer a Web ser inclusiva. Precisamos, antes de qualquer co-nhecimento técnico, de vontade de fazer a diferença.

30 > Por dentro do W3C

Reinaldo Ferraz é especialista em desenvolvi-

mento web do W3C Brasil. Formado em De-

senho e Computação Gráfica e pós graduado

em Design de Hipermídia pela Universidade

Anhembi Morumbi, em São Paulo. Trabalha há

mais de 12 anos com desenvolvimento web.

Coordenador do Prêmio Nacional de Acessi-

bilidade na Web e do Grupo de Trabalho em

Acessibilidade na Web e representante do

W3C Brasil em plenárias técnicas do W3C.

@reinaldoferraz

tão disponíveis para a navegação via teclado. A aplicação continua sendo acessível por mouse/toque no container, e também via te-clado/movimentos.

Podemos também fazer com que conteúdo atualizado dentro do <canvas> seja expos-to ao usuário de tecnologia assistiva. Nesse caso, utilizamos WAI-ARIA para garantir que as atualizações de status sejam informadas ao usuário, mesmo que seja fora do <can-vas>, como no exemplo a seguir:

<canvas id=”x” > <h2>Controles</h2> <a href=“#” id=“up”>Para cima</a> <a href=“#” id=“down”>Para baixo</a> </canvas>

<p aria-live=”polite”>Posição: movendo para <span id=“position”>cima </span></p>

Assim, quando ocorrer uma atualização de status, o usuário de tecnologia assistiva será informado imediatamente, e poderá continuar utilizando a aplicação devidamente informado sobre as notificações anteriores.

Page 31: Revista iMasters #16

A FERRAMENTA IDEAL PARA VOCÊ OTIMIZAR SITES SEM SER UM EXPERT EM SEO

Principais Vantagens:

TESTE GRÁTIS: kingho.st/testegratis

KINGHOST.COM.BR

Indicações práticas para as atividades de SEOAções como, “Adicione pelo menos um formulário de contato para o seu site”, entre outras, que serão apontadas de acordo com o seu site.

Ferramenta em português e sem jargões de SEOIndicações objetivas e de fácil entendimento, com explicação completa sobre os dados analisados.

Relatórios completosDados sobre o seu site e também sobre o site dos seus principais concorrentes.

Page 32: Revista iMasters #16

Fazendo a internet do Brasil pelo mundo Que os brasileiros têm feito muita coisa, a gente sabe. Mas quem está fazendo o quê e onde, nem sempre fica bem claro.

A ideia aqui é que você apareça, com a sua equipe, sua turma, seus amigos, mostrando um trabalho, a participação num hackaton, palestra etc. Tudo o que signifique “fazer a internet do Brasil” para você, cabe aqui! Quer participar? Envie uma foto e descrição para [email protected]

32 > Por aí

Bootstrap em português brasileiro

O Bootstrap tem sido um dos frameworks front-end mais utilizado no mundo web. Agora o framework conta com a tradução em portu-guês do Brasil - a documentação foi traduzida inicialmente por Adam R. Macias e Flávia C. Souza, desenvolvedores web freelancers e alunos do curso de Sistemas para Internet da Faculdade de Tecnologia da Baixada Santista. Eles esperam, com esse primeiro passo, aju-dar desenvolvedores que possuem dificulda-de com o inglês, mas que descobriram todo o poder e funcionalidades que o Bootstrap tem a oferecer. Também acreditam que a propos-ta possa alavancar uma comunidade brasilei-

ra sobre Bootstrap, com objetivo de juntar e ajudar desenvolvedores Bootstrappers. Ficou interessado? Quer ajudar ou participar? Envie um email para [email protected] - a documentação traduzida está disponível em https://github.com/bootstrapbrasil/bootstrap

Clipboard.js

Zeno Rocha lançou recentemente um novo projeto, chamado Clipboard.js. A nova lib tor-na mais fácil criar botões do tipo “Copy to Cli-pboard”, sem depender de nenhum plugin. A lib tem apenas 2kb, e ele usou algumas APIs novas do browser e também ES6 + Browseri-fy. Ficou interessado? A lib está disponível em http://zenorocha.github.io/clipboard.js

Mobile Summit

O Mobile Summit reuniu profissionais de desenvolvimento, estudantes, amantes de tecnologia e um time fera de palestrantes, que compartilhou suas experiências e conhecimento. Um dia intei-ro dedicado a mobilidade, inovação e debate de assuntos relevantes e principalmente, conectar as pessoas, tornando o Mobile Summit a maior conferência mobile do sul do Brasil.

Foto

: div

ulga

ção

Page 33: Revista iMasters #16

Por aí < 33

JS4Girls: evento inclusivo de JavaScript para mulheres

Em agosto aconteceu a edição carioca do JS4Girls, evento que vem para completar o cenário de iniciativas com a missão de diminuir a diferença de gênero na área de tecnologia. O objetivo do projeto é empoderar mulheres através de workshops, palestras e promover o networking entre as participantes e instrutoras. Na agenda do evento muito Git, HTML, CSS e JavaScript, em um currículo montado pelas organizadoras. Além de ensinar, o evento tem como objetivo mostrar que não é preciso muito para incluir a programação como uma ferramenta comum do dia-a-dia.

Foto

: div

ulga

ção

JS4

Girl

sRio

Foto

: div

ulga

ção

JS4

Girl

sRio

Foto

: div

ulga

ção

JS4

Girl

sRio

Page 34: Revista iMasters #16

Quando comecei a programar para web, cerca de 8 anos atrás, tive algumas dúvidas so-bre coisas que eu gostaria de fazer. Pesquisei no Google sobre uma delas e encontrei no Fórum iMasters a resposta para a minha dúvida. Criei uns dois tópicos no subfórum de WebStandards (HTML/CSS), fui respondido por outro membro e consegui fazer o que eu queria.

Neste momento, vi que eu poderia também ganhar experiência com as dúvidas de outros mem-bros. Ao responder as perguntas de outras pessoas, eu acabava estudando mais sobre o as-sunto. Dai não parei mais, respondia cada vez mais tópicos por dia e ajudava outras pessoas com as suas dúvidas. Hoje, tenho mais de 26 mil posts no Fórum iMasters!

Como tem sido essa experiência ao longo dos anos?

Tem sido bastante gratificante e enriquecedora. Saber que fiz a diferença ao ajudar outra pessoa a terminar um projeto, economizei horas de dor de cabeça, ao responder um tópico, ou até mesmo li sobre algo que não sabia e adquiri um conhecimento, melhorou as minhas próprias skills.

O que de mais interessante/importante existe em uma comunidade?

O mais importante de uma comunidade são as pessoas. Um fórum sem as pessoas que o frequentam é apenas um software hospedado num servidor web. São as pessoas que fazem perguntas e as que respondem, discutem e aprendem juntas, que fazem a comunidade um lugar gerador de conhecimento. O mais interessante é como a comunidade se mantém, novos profissionais aparecem e aqueles que um dia já tiveram a mesma dúvida e aprenderam, res-pondem o novo membro, gerando assim um ciclo sustentável de passagem de conhecimento.

Quem faz a Internet no Brasil?

William Bruno é moderador e um dos membros mais ativos do Fórum iMas-ters. Ele possui mais de 26 mil posts pu-blicados! Nesta entrevista, ele fala sobre comunidade, sua participação no Fórum iMasters e também sobre o livro de No-deJS que ele lançou este ano!

34 > Por aí

Page 35: Revista iMasters #16

Por aí < 35

William Bruno lançou, há poucos meses, um livro sobre NodeJS, pela editora Novatec.

Criada em 2009, a plataforma é relativamente nova e existem poucas fontes de informaçãoo em português.

“Sempre gostei de ensinar, experiência que adquiri no fórum. No começo desse ano, co-mecei a procurar escolas técnicas onde eu poderia dar aulas de programação. Encon-trei o Centro de Treinamento da Novatec, onde tive a oportunidade de iniciar o curso de NodeJS, plataforma com a qual eu já es-tava trabalhando no meu dia-a-dia a cerca de 2 anos. Da apostila da primeira turma, surgiu o primeiro rascunho desse livro”, ex-plica William Bruno.

O livro ensina como organizar uma estrutura para uma API robusta e escalável, além de desmitificar alguns temas como modelagem no MongoDB, o que realmente é RESTful e como utilizar.

Livro: Construindo aplicações com NodeJS

Qual é o seu “saldo de vida” por participar do Fórum?

Eu ganhei muita experiência em identificar problemas, aprendi assuntos que eu não havia tra-balhado ainda, melhorei a minha escrita e clareza ao transmitir idéias, além de ter praticado a minha didática. Palestrei no 7 Masters jQuery, e no TDC Florianópolis graças ao Fórum. Foi com a experiência adquirida nos milhares de tópicos que li e respondi que montei as minhas palestras sobre dúvidas frequentes e problemas enfrentados por outros programadores.

Hoje você é um dos moderadores do Fórum. Que conse-lho você daria para quem está começando na área de In-ternet, e ainda não participa de nenhuma comunidade?

Eu diria para começar hoje mesmo a fazer parte de alguma. A troca de informação, experiência, e até contatos profissionais são essenciais para acelerar o desenvolvimento profissional.

Page 36: Revista iMasters #16
Page 37: Revista iMasters #16

Android DevConference 2015: os dias de infância já passaramPor Ubiratan Soares, Google Developer Expert para Android e co-organizador do GDG-SP

A primeira versão do SDK para desenvolvi-mento de aplicações para Android remete ao distante ano de 2008. Nesses sete anos que se passaram, os desenvolvedores que trabalham com essa tecnologia tiveram a oportunidade de assistir a uma excitante evolução do Android como plataforma ubí-qua para o desenvolvimento de aplicações móveis; não obstante, o método de trabalho e as ferramentas do dia a dia vêm evoluindo e se aprimorando continuamente, de manei-ra que a forma de pensar a construção de um aplicativo Android hoje é radicalmente diferente se comparada à de pouquíssimo tempo atrás - falar em um ano talvez não seja um exagero aqui.

A plataforma evoluiu e as ferramentas me-lhoram drasticamente. A API oficial está em sua versão 23. Vimos o ocaso da IDE Eclipse e do plugin ADT como solução oficial para desenvolvimento, bem como o surgimento e a disseminação da solução Android Stu-dio combinada com Gradle Build System, o que definitivamente consolidou um ambiente de trabalho mais estável e melhor, em linhas gerais.

Vimos a evolução das bibliotecas de su-porte, além do surgimento e da adoção em massa das APIs dos Google Mobile Services

Por aí < 37

- distribuídas através do aplicativo do Goo-gle Play - como recursos para a promoção de comportamentos consistentes e unifi-cados dentro das aplicações ao longo das várias versões da plataforma - e, definitiva-mente, fragmentação é hoje um problema muito menor do que a mídia “especializada” divulga para nós, desenvolvedores.

Dada toda essa evolução do ecossistema e do ferramental, o que será que os próximos dias reservam? No intuito de encontrar algu-mas dessas respostas, o Android DevCon-ference aconteceu em agosto, trazendo à baila algumas reflexões e contando com a presença de mais de 600 participantes, de todos os lugares do Brasil.

É um ledo engano pensar que todos os pro-blemas estão resolvidos dado o status quo atual das ferramentas e soluções para os de-senvolvedores Android. A maturidade desse tipo de desenvolvimento vem tomando for-ma há cerca de três anos e, hoje, diversos caminhos se colocam adiante, no sentido de possibilitar aplicações que sejam cada vez mais complexas e ao mesmo tempo robus-tas, confiáveis, de fácil manutenção, impac-tantes e encantadoras para os usuários.

Alguns problemas remetem às próprias raí-

Page 38: Revista iMasters #16

zes da plataforma em si. A API do Android é primariamente acessível através da lingua-gem de programação Java, hoje com su-porte oficial para a versão 7. Não obstante, essa API implementa apenas um subconjun-to do CoreJDK, além das APIs específicas do Android em si e alguns (poucos) paco- tes open source, que vagamente vão sen- do depreciados…

Uma das consequências diretas do desenho da API do Android é a enorme verbosidade associada à linguagem Java em si. Contudo, sendo o toolchain do Android inspirado nas ferramentas para o Java tradicional, natural-mente linguagens que têm como alvo a JVM - como Scala e Groovy - passaram a buscar um lugar ao sol dentre os desenvolvedo-res, e a grande estrela do momento é Ko-tlin, linguagem desenvolvida e mantida pela JetBrains - empresa responsável pela IDE Android Studio - e que traz diversas caracte-rísticas de linguagens de programação mo-dernas com compatibilidade com o Java6, permitindo uma base de código muito mais concisa e expressiva para a aplicação. Trata--se de algo que facilita o trabalho dos desen-volvedores com prejuízo quase nulo de per-formance para a aplicação (e o usuário) final.

Por outro lado, uma aplicação que almeja ser robusta e encantadora precisa abusar do que melhor existe nas bibliotecas de com-

patibilidade, desenvolvidas e oferecidas pelo próprio Google. Não cabe aqui apenas re-ferenciar os tradicionais backports de APIs, como Fragments, GridLayout, RecyclerView e outros: agora temos toda uma biblioteca que oferece padrões de interface e usabili-dade consolidados na proposta do Material Design e que estão disponíveis para uso em implementações simples, diretas e - cla-ro! - retrocompatíveis. Adicionalmente, hoje temos mais de 70% da base de aparelhos rodando versões do Android superiores ao KitKat, o que torna tudo o que pode ser cria-do com a API de Transitions capaz de redu-zir em muito o trabalho para construções de animações complexas – acessível à grande maioria dos usuários das nossa aplicações.

É preciso destacar também que atualmen-te é quase impossível, do ponto de vista de produtividade, construir aplicações Android sem alguma biblioteca de código aberto, em especial aquelas consolidadas dentro da comunidade de desenvolvimento. Conhecer as principais opções, como consumo de REST, bibliotecas para ORM, Logging, con-sumo de imagens de forma assíncrona, Pu-blisher/Subscriber e outras, medindo prós e contras, é básico para qualquer desenvolve-dor moderno.

Ainda dentro do mundo open source, diver-sas soluções têm surgido para resolver an-

38 > Por aí

Page 39: Revista iMasters #16

tigos problemas ainda ligados ao desenho do framework do Android em si, como a ausência de um mecanismo padrão para im-plementar injeção de dependências na apli-cação - objetivo hoje facilmente alcançável com a biblioteca Dagger2, também explora-da a fundo no evento em uma apresentação dedicada ao tema.

Uma aplicação Android moderna é essen-cialmente construída de forma orientada a eventos, quase em sua totalidade assíncro-nos ou mesmo incontroláveis do ponto de vista do ciclo de vida de seus componen-tes. Nesse sentido, uma solução de frontei-ra, inicialmente criada pelos engenheiros do Netflix para problemas na Web e atualmente conduzida pela comunidade de código aber-to, invadiu o dia a dia dos desenvolvedores Android, oferecendo um alento da progra-mação funcional para a solução desse tipo de problema. RxJava é um dos assuntos mais quentes do momento para quem tra-balha com o robozinho, e também teve uma palestra dedicada ao tema no evento. De-finitivamente, é algo que um desenvolvedor moderno precisa entender e que uma apli-cação moderna vai se beneficiar ao adotá-lo.

Por fim, não menos importante, foram-se os dias em que testes automatizados e a arqui-tetura da aplicação eram assuntos de se-gunda - ou terceira - ordem. Aplicações ro-bustas precisam ser pensadas com um bom design de seus componentes em foco, tanto do ponto de vista de divisão de responsa-bilidades – e, aqui, falamos de padrões de arquitetura como MVP, MVVM e outros que ofereçam alguma saída para o código ma-carrônico induzido pelo framework do An-droid nas camadas de UI - quanto do ponto de vista de coesão e acoplamento de cada classe de domínio em si, no sentido de fa-cilitar os testes automáticos, unitários e de interface, que atualmente têm um suporte oficial cada vez melhor com as novas ferra-

mentas, como AndroidJUnitRunner, Espres-so e Support Testing Library.

Dado tudo o que foi exposto até aqui - e que constitui apenas um breve resumo do que tivemos na edição deste ano -, o Android DevConference traz como a conclusão prin-cipal que os dias de infância do ecossistema de desenvolvimento para Android chegaram ao fim.

Aplicações que não se atentem para o que existe de mais moderno e mais atual e op-tem por seguir um caminho mais “tradicio-nal”, usando a mentalidade de desenvol-vimento de dois anos atrás, tendem a ficar muito distantes de concorrentes antenados do ponto de vista competitivo, podendo fa-cilmente cair no ostracismo e irrelevância.

A velocidade de iteração e a adaptabilidade são alguns dos fatores mais críticos no su-cesso de qualquer projeto ou negócio que envolve software, e as soluções que hoje via-bilizam isso de forma mais elegante, produti-va e (por quê não?) divertida para Android já não são mais as mesmas de antigamente. O desenvolvimento para Android chegou enfim à sua fase adulta, e é melhor a sua empresa e o seu time estarem atentos para não abra-çarem o novo quando já for tarde demais.

Ubiratan Soares é formado em Ciência da Computação pelo ICMC/USP. Trabalha desde 2010 com aplicações móveis, com maior foco na plataforma Android, tendo contribuído com dezenas de projetos. É co-organizador do Goo-gle Developers Group em São Paulo, além de palestrante frequente nos principais eventos de tecnologia móvel do País. No ano de 2014, foi convidado para fazer parte do programa de ino-vadores para Android da Intel Software. No ano de 2015, foi convidado para representar o Brasil como Google Developer Expert para Android.

[email protected]

Por aí < 39

Page 40: Revista iMasters #16

Acesse: developers.mercadopago.com

O consumidor pagasem sair do ambiente

do site

Menos etapasno fluxo depagamento

Totalmentecustomizável

Visualização de todos os itens do carrinho durante a finalização de compra

Integre ocheckout transparente do MercadoPago

E aumenteas vendasdos seusclientes

C

M

Y

CM

MY

CY

CMY

K

anuncio_imaster.pdf 1 10/04/15 17:44

Page 41: Revista iMasters #16

Todas as organizações precisam proteger as suas informações. Independentemente do seu tipo de negócio ou do seu porte, a proteção da informação é um fator crítico para que a organização alcance os seus objetivos corporativos. Sem informação não existe negócio. Algumas organizações estão submetidas à rígida legislação ou aos padrões de mercado, mas todas pre-cisam desenvolver ações para cristalizar essa proteção.

Entretanto, surge uma grande questão: como estruturar essa proteção da infor-mação? Como garantir que a proteção da informação está alinhada com os objetivos corporativos? Como garantir que todos os aspectos da segurança estão contempla-dos e que os controles serão implantados na prioridade adequada? E como fica o ali-nhamento com a governança corporativa?

Um erro conceitual e estrutural que muitas organizações executam é concentrar a pro-teção exclusivamente no ambiente compu-tacional. Muitas empresas possuem a maior parte dos seus dados no ambiente digital, e pensam que apenas protegendo esse am-biente, com a implantação de ferramentas, estarão protegidas. No máximo, elas esta-rão meio protegidas. Elas estarão se enga-nando. Com certeza, não é esse o patamar que os acionistas desejam.

Para proteger adequadamente a infor-mação da organização, é necessária uma abordagem estruturada que permita um planejamento e a priorização das ações que devem ser executadas. Entendemos que, para o sucesso da proteção da informação, é obrigatória a implantação de um Processo Corporativo da Segurança da Informação. Mas como estruturar esse processo?

Apresentamos neste artigo uma abor-dagem prática para o desenvolvimento e a implantação desse processo. Indepen-dentemente do tamanho da sua organi-zação, os conceitos e as recomendações aqui apresentadas podem ser implemen-tados. Evidentemente, precisamos de sabedoria para fazer o ajuste adequado à sua organização.

Em primeiro lugar, é necessário tomar um referencial teórico. Sugerimos a Fa-mília das Normas ISO/IEC – 27000, mais especificamente a Norma NBR ISO/IEC 27002:2013 – Tecnologia da Informação – Técnicas de Segurança – Código de prática para a gestão da segurança da informação.

Dessa maneira, podemos estruturar o Pro-cesso Corporativo de Segurança da Infor-mação como a figura abaixo:

Estruturando o processo corporativo de segurança da informaçãoPor Edison Fontes, Consultor-Gestor em Segurança da Informação, Gestão de Riscoe Continuidade de Negócio.

Segurança < 41

Page 42: Revista iMasters #16

Estrutura Baseada na Norma Internacional ISO/IEC 27002Fonte: Livro Praticando a segurança da informação, Edison Fontes, Editora BRASPORT, 2008.

Dimensão Política da Segurançada Informação

A dimensão política de segurança da infor-mação define as regras de como o processo corporativo de segurança da informação irá funcionar, define as responsabilidades e permite a conexão da governança da se-gurança com a governança corporativa. Ela é um elemento estrutural para o Processo Corporativo da Segurança da Informação.

Dimensão Gestão de Riscos em Segurança da Informação

A dimensão de riscos em segurança da in-formação implanta e operacionaliza as re-gras e controles para a existência da Ges-tão de Riscos de Segurança da Informação da organização. Esta dimensão facilita a priorização das ações e a continuidade do processo corporativo da segurança da in-formação e, consequentemente, ajuda o seu alinhamento com a governança corpo-rativa.

Dimensão Acesso Lógico à Informação

A dimensão de acesso à informação implan-ta e operacionaliza as regras e os controles necessários para um acesso seguro à infor-mação, tanto no ambiente de tecnologia quanto no ambiente convencional. São con-sideradas nesta dimensão Gestão de iden-tidade, Gestão de autenticidade, Gestão de autorização e Auditabilidade dos acessos à informação. Também são definidos os conceitos de Gestor de usuário e de Gestor da informação.

Dimensão Classificação da Informação

A dimensão classificação da informação implanta e operacionaliza as regras e os controles para a existência de níveis de classificação da informação no que diz res-peito ao seu sigilo. Nesta dimensão, são de-finidos os níveis de sigilo que são utilizados para as informações sob responsabilidade da organização.

42 > Segurança

A seguir, detalhamos o que contempla cada um desses componentes.

Page 43: Revista iMasters #16

Dimensão Desenvolvimento Aplica-tivo e Aquisição de Produto

A dimensão desenvolvimento aplicativo e aquisição de produto define, implanta e operacionaliza as regras e os controles de segurança (obrigatórios ou desejáveis) em relação ao desenvolvimento de siste-mas aplicativos ou à aquisição de programa produto. São definidos os requisitos de se-gurança da informação que devem ser for-malmente atendidos, após a especificação do produto/sistema e antes da especifica-ção técnica.

Dimensão Modelo Operativo da Segurança da Informação

A dimensão modelo operativo da segurança da informação define, implanta e mantém a operacionalização da área de segurança da informação da organização. Também indica como essa área funcionará, a sua posição no organograma da organização e as suas responsabilidades e limitações de atuação.

Dimensão Treinamento e Conscien-tização do Usuário

A dimensão conscientização e treinamento do usuário, define, implanta e operacionali-

Dimensão Proteção do Ambiente de Tecnologia da InformaçãoEsta dimensão implanta e garante a exis-tência de controles que protegem o am-biente digital da organização contra uso in-devido do ambiente e invasões maliciosas, ataques buscando vulnerabilidades técni-cas e outras ações de criminosas.

Dimensão dos Recursos de Tecnolo-gia - Utilizados pelos usuários

Esta dimensão define como os recursos e facilidades de tecnologia, tipo correio ele-trônico, Internet, Redes Sociais e similares, devem ser utilizados pelos usuários e quais devem ser os controles e a sua rigidez, no ambiente digital da informação.

Dimensão Flexibilidade Operacional

A dimensão flexibilidade operacional con-sidera como a organização vai desenvolver controles paralelos à segurança da infor-mação, mas que influenciam fortemente a proteção da informação. São consideradas as ações para Gestão de Mudanças, Gestão de Problemas e Gestão de Recursos.

Dimensão Ambiente Físico

A dimensão do ambiente físico define, im-planta e operacionaliza as regras e os con-troles necessários para o acesso do usuário no ambiente físico que possui recursos de informação.

Dimensão Infraestrutura

A dimensão infraestrutura define, implanta e operacionaliza as regras e os controles necessários para que a infraestrutura que suporta o ambiente físico esteja adequa-da e atenda aos requerimentos exigidos pelo processo corporativo de segurança da informação.

Segurança < 43

Page 44: Revista iMasters #16

za as regras e os controles para que exista de maneira efetiva o treinamento contínuo do usuário em segurança da informação.

Dimensão Continuidade de Negócio

A dimensão continuidade de negócio defi-ne, implanta e operacionaliza as regras e os controles para garantir que a organização continuará funcionando em condições míni-mas aceitáveis, mesmo quando da ocorrên-cia de uma indisponibilidade da informação. É necessária a existência do Gestor da In-formação para cada informação da organi-zação. Ele é responsável para indicar o tem-po (desejado) máximo de indisponibilidade da informação no que se refere à ocorrência de uma indisponibilidade, considerando im-pactos financeiros, impactos de imagem e impactos operacionais.

Tratamento de Incidentes de Segu-rança da Informação

Muitas vezes, este aspecto é considerado apenas no ambiente técnico. Quantitativa-mente, com certeza, os eventos de inciden-tes nesse ambiente técnico serão sempre em grande quantidade. Porém, uma Gestão de Incidentes deve contemplar todos os tipos de incidentes, inclusive no ambiente convencional.

Conclusão

Para uma efetiva proteção (eficiente e efi-caz ao longo do tempo) da informação, são imprescindíveis o desenvolvimento e a im-plantação de um Processo Corporativo de Segurança da Informação. Recomendo que, após definir a existência desse processo, inicialmente sejam desenvolvidas as políti-cas e normas de segurança da informação. Esses regulamentos são elementos estru-

Leitura recomendada:

“Políticas e Normas para a Segurança

da Informação” (2012, Editora Bras-

port) – neste livro, defino uma Arqui-

tetura para a Política de Segurança da

Informação e apresento 30 exemplos

de regulamentos.

Edison Fontes, CISM, CISA, CRISC. Con-sultor-Gestor em Segurança da Informação, Gestão de Risco, Continuidade de Negócio. Autor de livros sobre segurança da informação. [email protected]://nucleoconsult.com.br

turadores, definem responsabilidades e declaram como a segurança da informação deve acontecer na organização.

Tenha sempre em mente a estrutura do Processo Corporativo da Segurança da In-formação. Ele deve ser o seu orientador para a proteção da sua organização no que diz respeito à informação.

44 > Segurança

Page 45: Revista iMasters #16

Iridium Secure Browser

O Iridium é um fork do Chromium (no qual o Google Chrome se baseia) mas com foco na segurança e privacidade. Embora o site não deixe claro quais as diferenças em re-lação ao projeto original, trata-se de uma iniciativa alemã que conta inclusive com o patrocínio de algumas empresas do país. https://iridiumbrowser.de

Bitmessage

O Bitmessage é um mensageiro P2P ba-seado na tecnologia da cadeia de blocos (blockchain) do Bitcoin. Diferentemente des-te último, as mensagens são armazenadas por apenas 2 dias. Com ele é possível trocar mensagens de forma criptografada e com-pletamente anônima.https://bitmessage.org

Tails

Trata-se de uma distribuição Linux para ser executada de forma “live” diretamente de um pendrive, sem deixar rastros em qualquer computador. Todo o conteúdo fica criptgra-fado no próprio pendrive. Além disso ele já trás diversas ferramentas como o TOR, OTR e HTTPS everywhere para tornar sua nave-gação e comunicação na web a mais segura e anônima possível.https://tails.boum.org

Pixelated

O Pixelated é um projeto brasileiro criado dentro da Thoughtworks como uma solução de webmail que você pode instalar em um servidor próprio e que torna mais fácil a utili-zação e adoção de ferramentas de criptogra-fia como o PGP.https://pixelated-project.org

Kemel Zaidan é um pseudo-programador, metido

a jornalista, com alma de artista e evangelista

na Locaweb.

[email protected] | @kemelzaidan

Por Kemel Zaidan, evangelista Locaweb em tempo integral e de software livre nas horas vagas

Informações e dicas sobre projetos Open Source

O mundo não será mais o mesmo depois de Eduard Snowden revelou o PRISM, programa de espionagem digital do governo dos EUA. Nem mesmos George Orwell em seus sonhos mais loucos pode imaginar algo parecido. Trouxemos uma lista de programas de código aberto para você preservar a sua privacidade sem compartilhar seus dados com a NSA.

Código Livre < 45

Page 46: Revista iMasters #16

EM TODOS ESSES ANOS NESTA INDÚSTRIA VITAL...

Não é todo dia que se vê uma linguagem de programação completando 20 anos e se mantendo com

relevância no cenário mundial.

Conheça nosso curso de JavaScripte mais de 50 treinamentos de programação.

www.impacta.com.br

11 3254-2200

Acompanhamos o crescimento do JavaScript e nos orgulhamos de ter um dos cursos mais completos do país.

C

M

Y

CM

MY

CY

CMY

K

Anuncio IMasterv Java1.pdf 1 25/09/15 16:45

Page 47: Revista iMasters #16

Rupture – CSS BreakpointsSimplificadosPor Vitor Mendrone, desenvolvedor front-end na Fastcommerce/zFast

Um pouco sobre pré-processadores de CSS

Não é novidade que os pré-processadores de CSS tornaram muito mais ágil o dia-a--dia de desenvolvedores web. Ferramentas como SASS, LESS e Stylus caíram rapida-mente nas graças da comunidade, cada qual com seus recursos e particularidades que levaram – e levam – a intermináveis e acaloradas discussões em fóruns, eventos, meetups etc. O Stylus se destacou entre es-sas ferramentas por sua sintaxe diferenciada e sua poderosa API JavaScript.

Os recursos exclusivos oferecidos pelo Stylus deram a ele o fôlego necessário para sua luta contra o – quase onipresente – SASS e garantiram uma resposta da comunidade, que dia após dia tem disponibilizado plugins, libraries e artigos que dão ainda mais poder de fogo ao Stylus.

Conheça o Rupture

O Rupture surgiu como uma alternativa para usuários do Stylus ao já conhecido Break-point Slicer (SASS), mas mantendo o mes-mo conceito: tornar mais simples a vida de quem precisa definir breakpoints. O plugin foi desenvolvido por Jeff Escalante (github.com/jenius/), que ostenta um repositório repleto de utilitários para Stylus, como o (excelente) Axis. Jeff usou o conceito de block mixins para dar forma ao Rupture, que ainda tira vantagem da sintaxe simplificada do Stylus.

Review < 47

A instalação do Rupture não tem segredos e nem pré-requisitos além do Node/NPM, porém é importante lembrar que o Rupture é um plugin para Stylus e, por isso, o pré--processador também deve ser instalado.

$ npm install rupture

O grande diferencial do Rupture está jus-tamente em sua simplicidade. Não existem segredos ou truques complexos. Sua docu-mentação é bastante concisa e em poucos minutos um desenvolvedor sem muita ex-periência já estará familiarizado o suficiente para começar a montar páginas com diver-sos breakpoints. Para executá-lo, basta ro-dar o comando abaixo:

$ stylus -u rupture -w <arquivo>.styl

Scale

Uma das features mais legais do Rupture é sua variável scale. Com ela, é possível defi-nir uma série de breakpoints de acordo com suas preferências de tamanho e quantidade. Os valores padrões são:

rupture.scale= 0 400px 600px 800px 1050px

Cada valor acima pode ser alterado de acor-do com sua necessidade. Além disso, todos eles possuem um número identificador pró-prio:

scale: 0 400px 600px 800px

scale #: 0 1 2 3

Page 48: Revista iMasters #16

//

// Slice #: 1 2 3 4

rupture.scale-names: ‘xs’ ‘s’ ‘m’ ‘l’

Mixins

São a alma do Rupture. Com eles, é possí-vel definir uma boa variedade de breakpoints com uma excelente semântica e códigos simplificados. Os principais são:

+above(medida)

+below(medida)

+between(medida1, medida2)

Além de um segundo grupo que faz o uso da variável scale:

+at(medida)

+mobile() // <= 400px

+tablet() // 400px ~ 1050px

+desktop() // >= 1050px

+retina() // Para telas com densidade

de pixels

maior que 1.5

Exemplo de uso:

.abox

width 500px

height 500px

background #f00

+above(600px)

background #0f0

+above(1000px)

background #00f

O Rupture ainda tem uma boa lista de variá-veis que incrementam suas funcionalidades,

como rupture.enable-em-breakpoints, que converte automaticamente as medidas de pixels para em, e rupture.anti-overlap, que permite a configuração exata do overlap em seus breakpoints.

Porque usar o Rupture? Produtividade e diversão

Por sua simplicidade, o Rupture não deman-da um grande tempo de adaptação e, se você já escreve muitas media queries, sem dúvidas ele fará uma enorme diferença em seu workflow, que se tornará mais veloz e divertido!

Lembre-se sempre de que ferramentas como essa só serão realmente úteis se fo-rem usadas dentro do contexto do proje-to ao qual serão aplicadas - ter pressa em utilizá-las pode transformar qualquer projeto simples em uma tremenda dor de cabeça. O importante é se divertir!

Para saber mais sobre o Rupture ou conhecer

os demais projetos de Jeff Escalante, acesse:

http://github.com/jenius/rupture

Se não conhece o Stylus e quer saber mais

sobre ele, acesse:

https://learnboost.github.io/stylus/

Vitor Mendrone é desenvolvedor frontend no Fastcommerce/zFast e dedica boa parte do seu tempo conhecendo e evangelizando novas tecnologias dentro e fora de seu ambiente de trabalho.@vhmendrone | [email protected]

Saiba mais:

48 > Review

Page 49: Revista iMasters #16
Page 50: Revista iMasters #16

Em tempos de crisePor Flávia Jobstraibizer, Analista de Sistemas, Editora-chefe das Revistas Linux Magazine e Admin Magazine

50 > Tecnologia do Futuro

Profissionais de vários segmentos (pra não dizer de todos), estão sofrendo os efeitos da crise econômica enfrentada pelo nosso País. No mercado de tecnologia, isso não é dife-rente. Cortes em posições de trabalho, cortes em recursos de sistema (servidores sobres-salentes, serviços extras de TI etc.) e diversos tipos de economias têm sido feitos, de forma a enxugar gastos do setor. Neste momento, é ideal informar-se sobre os mercados emer-gentes e mais atuantes, e procurar formas de sobreviver à crise atendendo a determinadas demandas.

Mas a crise que vivemos não é apenas eco-nômica. E, por conta disso, existe uma forte tendência na busca por profissionais do setor de tecnologia nas áreas de sustentabilidade, principalmente no que tange à economia de água ou energia elétrica. Tais profissionais utilizam técnicas modernas para medir o de-sempenho do uso da energia elétrica, dispo-

sição de mobiliário e iluminação, de forma a utilizar ao máximo os recursos naturais, eco-nomizando energia elétrica dos mais varia-dos modos. Da mesma forma, um consultor em sustentabilidade consegue mensurar gas-tos com água, sugerir melhorias na instala-ção hidráulica e criar formas de reaproveita- mento sustentável.

Tecnologias das mais variadas têm surgido nesse sentido, de forma a aumentar a sus-tentabilidade de empresas e residências. A criação de aplicativos que ajudem a mensurar gastos elétricos, ajudem empresas e pesso-as a substituírem papel por arquivos digitais, economia com descartáveis e outras formas é muito bem-vinda. O aplicativo para iPhone chamado “Sai desse banho” é descontraído e visa a incentivar os banhos mais rápidos, além de informar os gastos de água e energia durante o banho.

Page 51: Revista iMasters #16

Flávia Jobstraibizer é editora-chefe das Revistas Linux Magazine e Admin Magazine, analista de sistemas, autora de livros de informática e defensora da liberdade digital. Mãe de dois meninos lindos, solteira convicta e workaholic assumida, mantém vários projetos em paralelo nas áreas de TI e terceiro setor. Toca violoncelo, odeia cigarro e adora estudar, aprender, conversar com gente inteligente e tomar Piña Colada de vez em quando. http://flaviajobs.com.br | @flaviajobs

Tecnologia do futuro < 51

O papel é outra preocupação para o futuro. Geramos todos os dias toneladas de lixo, e grande parte dele é constituída por papel, nas suas mais variadas formas: comprovan-tes de pagamento do almoço, contas, cor-respondências, jornais, revistas, impressão de documentos, embalagens, entre outras. Diminuir esse consumo também é algo ex-tremamente necessário atualmente. A gestão eletrônica de documentos é uma vertente que deve receber atenção. Para isso, sugiro que conheçam o Alfresco, que possui uma ver-são livre e comunitária (https://www.alfresco.

com/community), e atende incrivelmente bem às necessidades de quem precisa gerenciar documentos empresariais (ou mesmo em sua casa), substituindo o papel e os docu-mentos físicos por arquivos digitais certifica-dos e legítimos.

No futuro, sabemos que o papel será um bem precioso e cada vez mais caro. Pensar em usá-lo de forma inteligente desde já é uma boa pedida.

Aproveitar os recursos naturais é outra preo-cupação. Nesse sentido, o Google, sempre pioneiro, mostra por meio de imagens aére-as como seria útil instalar painéis solares em determinadas regiões (e não é novidade que, com a quantidade de sol que temos no Brasil, seríamos referência em uso do sol de forma sustentável).

O projeto é chamado de Google Sunroof e faz parte de uma incubadora de inovadores pro-jetos voltados para sustentabilidade (infeliz-mente, grande parte poderia ser aplicada com incrível sucesso no Brasil, mas, por falta de incentivo governamental, não recebe a menor atenção), denominada Google Green Blog: http://googlegreenblog.blogspot.com.br/

Visite o blog e surpreenda-se com proje-tos eólicos, concursos de sustentabilidade e outras iniciativas que preservam os recur--sos naturais.

Pensar em sustentabilidade, economia e formas de sobreviver às crises enfrentadas por nosso País faz parte do futuro. Caso contrário, nem chegaremos a tê-lo.

Page 52: Revista iMasters #16
Page 53: Revista iMasters #16

Cloud < 53

Cloud computing: o melhor da tecnologia no seu negócioPor Marcelo Varon, Gerente Geral de Marketing e Vendas do UOL HOST

No decorrer da história, sempre acompa-nhamos previsões sobre como seria a so-ciedade na próxima década, no próximo século, e por aí vai. A literatura e o cinema foram alguns dos responsáveis por alimentar essa obsessão.

Passamos anos ansiosos para saber como a tecnologia seria capaz de invadir nossa vida, como seria o mundo nos “anos 2000”, quando nos transformaríamos nos Jetsons, sem perceber que a mudança acontecia su-tilmente ao nosso redor.

Hoje presenciamos um fenômeno, que ain-da tem muito a crescer, chamado de “In-ternet das Coisas” (Internet of Things). Já é possível encontrarmos - além de smar-tphones - geladeiras, televisores e outros aparelhos que se conectam por meio de dispositivos eletrônicos.

Apesar de fazer parte da realidade de uma pequena parcela da população - e estar pre-sente em poucos gadgets -, especialistas afirmam que a Internet das Coisas vai cres-cer, e muito.

Em um futuro não muito distante, carros e tantos outros aparelhos estarão conec-tados por dispositivos eletrônicos. Mas a base da sua operação já está fazendo dife-rença, principalmente no meio corporativo: o cloud computing.

A tecnologia em nuvem está inserida na categoria dos agentes transformadores do nosso tempo, que engloba os dispositivos de armazenamento. Desde os anos 1980, eles evoluíram de disquetes para CDs, car-tões de memória, passando pelos pen dri-ves até chegar ao que conhecemos hoje como cloud.

De repente, nossos arquivos se tornaram capazes de estar em todos os lugares, sem precisar de um dispositivo físico − tudo está sempre guardado em plataformas como Google Drive, Microsoft One Drive, Dropbox, entre outras.

Mas essa é só a ponta do iceberg, são os serviços mais populares a grande massa (para a grande massa?). A nuvem é capaz de nos oferecer muito mais, e vocês, que já mergulharam nas águas da tecnologia, sabem disso. O ouro dessa plataforma está na sua capacidade de facilitar e agilizar processos.

De aplicações simples a mais complexas. Há algum tempo, a publicação americana The New York Times precisava digitalizar e disponibilizar na Internet todo o seu acervo. No início, a empresa acredita-va que o trabalho seria demorado e caro, e não valeria a pena tocar esse

Page 54: Revista iMasters #16

projeto. No entanto, um engenheiro foi até um serviço de nuvem, criou 20 servidores virtuais, fez o upload dos arquivos e, em apenas um fim de semana, toda a história do jornal estava na Internet. E o preço? US$ 240!

O The New York Times não joga sozinho no time que acerta ao usar a nuvem. Segundo a Harvard Business Review, 85% das novas empresas de serviços de Internet contam com o cloud para hospedar seu sistema. Entre os mais famosos estão Netflix e What-sApp, que sustentam sua infraestrutura na leveza do cloud e seus inúmeros benefícios, como escalabilidade, baixo custo inicial e se-gurança.

A escalabilidade se resume à capacidade de adicionar licenças acompanhando as neces-sidades do negócio. Além disso, o gestor tem a vantagem de usufruir de um sistema que oferece controle de autenticação, per-mitindo que funcionários acessem o sistema em qualquer lugar, sem passar pelo firewall.

Outra vantagem competitiva é que com o cloud é possível compartilhar informações com mais facilidade entre parceiros de negó-cios, acelerando determinadas transações. É possível, também, facilitar a métrica dos serviços, oferecendo à empresa dados pre-cisos sobre o uso da plataforma. O provedor de cloud computing disponibiliza recursos por segmento, como memória, disco, ar-mazenamento, processador e rede, e geral-mente esses recursos são combinados em planos que se encaixam com as necessida-des dos clientes. Essa elasticidade deve ser considerada pelo cliente que pode vivenciar as oscilações da demanda.

A administração da nuvem geralmente é feita pelo próprio usuário, sem precisar recorrer a

intermediários, em diferentes gadgets: smar-tphones, laptops e tablets. Não é necessário adquirir outro equipamento para acessar a plataforma.

O cloud rompe com a infraestrutura conven-cional e facilita os processos, diminuindo os custos de tecnologia mesmo para microem-presas. A plataforma supre a necessidade de ter um servidor dedicado para manter aplicações corporativas em funcionamento. Esses servidores exigem manutenção cons-tante, mais energia e equipamento específi-co, o que pode sair caro.

Além de diminuir o custo, optar pela nuvem, em vez de um servidor dedicado próprio, permite que o empreendedor aumente ou di-minua sua capacidade, caso precise ou tro-que o hardware com rapidez, apenas entran-do em contato com a operadora do sistema.

A agilidade está entre os principais motivos que levaram as empresas a migrar para a nuvem. Se você tem uma grande ideia para negócio e precisa colocá-la em prática com rapidez, garantindo sua fatia de mercado, a melhor opção é recorrer a essa tecnologia para montar o seu produto ou serviço.

É clichê dizer que os negócios estão mu-dando em um ritmo cada vez mais frenéti-co. No entanto, clichês geralmente contêm verdades. É tempo de se abrir para novas experiências tecnológicas, e a computação em nuvem está com suas portas abertas, convidando-o a entrar nesse mundo.

Marcelo Varon possui mais de 10 anos de experiência no mundo digital e atualmente é o Gerente Geral de Marketing e Vendas do UOL HOST, divisão do Grupo UOL especializada em pequenas e médias empresas que queiram en-trar e crescer no mundo online. [email protected]

54 > Cloud

Page 55: Revista iMasters #16
Page 56: Revista iMasters #16

Conteúdo para mídias sociais: modo de usar

Por Bruno Rodrigues, Consultor de Informaçãoe Comunicação Digital

Um dos momentos mais curiosos - e ins-trutivos – de minha vida profissional foi um retweet que dei em uma mensagem, e que levava junto um comentário sobre o conte-údo sugerido.

Fosse um usuário comum, o retweet seria apenas parte da rotina de relacionamento que vivemos no dia a dia das mídias so-ciais. Mas o dono do tweet (e do conteú-do) era uma personalidade do meio digital, que, caso raro, também decidiu retweetar o meu comentário.

Seguido por literais milhares de pessoas, o mero ‘passe adiante’ em minha mensagem viralizou pelas mãos de meu colega famo-so. Em segundos, eu me vi no meio de algo que não esperava, sendo retweetado por centenas de pessoas e recebendo segui-dores (desavisados) que mal sabiam quem eu era, apenas passaram a me seguir por-que eu havia sido ‘considerado’ pelo usuá-rio famoso.

Aproveitei a chance, então, para me per-guntar:

o que havia de tão relevante em meu comentário?

E, o principal, o que existia de tão especial no conteúdo que eu apenas tinha elogiado - nada mais que isso - para transformá-lo em um ‘fenômeno’? Fato é que, em 24 horas, mais de 52 mil pessoas haviam visualizado a minha mensagem, além das centenas dos retweets. Impossível ignorar.

O que faria, então, um conteúdo posta-do em uma rede social transformar-se em ‘case de sucesso’? Mergulhei fundo, pes-quisei, comparei, descartei fórmulas apa-rentemente fáceis e certeiras, até chegar a alguns pontos que listo abaixo.

É bom ter em mente que, exatamente por estarem bem próximas da realidade, mi-nhas conclusões não apontam soluções que possam ser aplicadas com um simples estalar de dedos, mas pedem, sim, reflexão e uma boa dose de esforço para acertar no alvo. Ou seja, dedique-se!

O conteúdo é novo

Nós bem sabemos que não há como um post em uma rede social ser visto por todos os que gostaríamos, quanto mais exigir que nosso público realmente cheque o conteú-do, clicando no que estamos enviando.

56 > Sr. Conteúdo

Page 57: Revista iMasters #16

O que ficou patente para mim ao longo da pesquisa é a quase exigência que existe hoje de conteúdo novo, descartando o que já há espalhado pela web, no tempo que for além de um ou dois dias: o conteúdo de mais de uma semana passou a ser conside-rado ‘passado profundo’, e imediatamente descartado pelos usuários.

O motivo? Não é difícil imaginar, todos nós passamos por isso: a imensa maioria já viu o conteúdo em posts publicados (e portan-to veiculados) assim que ele foi produzido.

Em suma: o usuário só vai clicar no link se ele for fresco, surgido agorinha, colhido da horta.

O conteúdo é empático

Empatia é ‘criar pontes’, e a ideia cabe per-feitamente em um dos pontos críticos que encontrei em conteúdos desinteressantes: eles são extremamente frios, secos, algo como chamadas de notícias criadas da for-ma burocrática. Parecem produzidos por obrigação, sem compromisso algum com persuasão ou – o mais grave hoje – resul-tado.

Quando o conteúdo é realmente noticioso, o problema fica ainda pior: como o que está sendo veiculado muito provavelmente está sendo propagado por diversos veículos di-gitais, de portais a blogs, a burocracia será a senha para a total invisibilidade.

Em tempo: nem sempre posts chamati-vos, daqueles que apontam para listas, por exemplo, são sinônimo de empatia. O que importa não é apenas como você escreve, mas qual o conteúdo produzido. Essa foi uma das fórmulas de sucesso que percebi que começam a se desgastar: os usuários já perceberam a ‘isca’. Ainda assim, ainda vale a consistência do conteúdo apontado.

O conteúdo é emocional

Mais que ser persuasivo, um post de mídias sociais precisa ser, cada vez mais, opinati-vo. Afinal, o que *você* acha do que está sugerindo? Seja empresa ou pessoa física, um conteúdo produzido que já leva em seu bojo um ‘parecer’ sobre que está sendo apresentado, ainda que superficial, é meio caminho andado.

Esse foi, com toda a certeza, o principal motivo que fez com que meu comentário fosse retweetado: minha opinião, para o meu colega famoso, era o ‘molho’ opinativo que ele precisava naquele momento (co-mentei logo após a publicação) para provar para os seguidores que alguém já o consi-derava relevante.

Há um limite, contudo, entre ‘colocar-se’ no texto de um post de mídias sociais, ou criar frases e declarações que beiram a publici-dade e podem resvalar para a autobajula-ção. Nesse caso, a questão é o que será elogiado e a forma como o texto será escri-to. Cuidado.

O que faz um conteúdo postado em uma rede social transformar-se em case de sucesso?

Sr. Conteúdo < 57

Page 58: Revista iMasters #16

O conteúdo é útil

Não é tão óbvio quanto parece: a utilidade, ou seja, o ‘poder ser utilizado pelo usuá-rio’, não pode ser algo tão amplo quanto normalmente permitimos que seja. O que é útil para mim pode não ser para você – e, principal, o que era útil ontem pode perder sua função em questão de horas!

Do que seu público precisa naquele mo-mento, então? Nem sempre um conteúdo deve procurar atender às demandas mais complexas, por exemplo. Olhe para o seu dia a dia: muitas vezes o que precisamos é de uma dica inteligente, de uma sugestão esclarecedora, de uma informação inespe-rada.

A chave para a utilidade é o conhecimen-to profundo de um público e seus anseios. Ninguém espera de uma marca nas mídias sociais a solução de suas vidas; queremos receber insights que acrescentem algo aos pequenos momentos de nossas vidas. São esses conteúdos que fazem da social me-dia um recurso quase indispensável para a maioria dos usuários.

O conteúdo é perene

Existe uma diferença enorme entre conte-údo antigo e conteúdo perene: o antigo se desfaz pela falta de ineditismo e, por vezes, pelo prazo de validade vencido da utilidade, enquanto o perene permanece, não está ‘acorrentado’ ao presente momento, sua utilidade pode ser perpetuada.

É comum que marquemos um conteúdo em uma rede social quando pode ser visto depois e, entre eles, os que permanecem são justamente os que não estão atrelados à necessidade de ‘consumo’ imediato.

Pude perceber que muitos dos conteúdos

retweetados são aqueles que podem ‘ficar para depois’, que passamos para nossos amigos já que não há obrigatoriedade de checagem imediata – fica a cargo do usuá-rio consultá-lo quando for o caso.

No ‘mergulho’ de alguns dias que fiz no universo dos retweets de posts em redes sociais, saí com duas certezas:

Envolvimento é tudo

Fala-se tanto em storytelling e tão pouco se aplica, mas quem já estudou um pouco sobre o assunto sabe que é preciso ‘abrir’ uma informação para lidar com todas as suas possibilidades, todo o seu potencial. Para isso, é necessário envolver-se com o universo de dados, imagens, sensações e histórias que uma informação engloba. Sem ‘mesclar-se’ com a informação, nenhum produtor de conteúdo avança.

Descaso é o fim

Transformar a mídia social em um simula-cro de repartições públicas dos anos 1950, com sua paisagem de mesas sem fim, gen-te sem rosto e documentos sendo carimba-dos à exaustão, é o caminho do apocalipse digital para uma marca. Muitas vezes o pla-nejamento excessivo tira a alma das ações, e a informação fica pesada, incômoda, cha-pa branca.

Trabalhe com amor, essa é a conclusão fi-nal. ;-)

Bruno Rodrigues é Consultor de Informação

e Comunicação Digital, autor dos livros ‘Web-

writing’ (2000, 2006 e nova edição em 2014) e

de ‘Padrões Brasil e-Gov: Cartilha de Redação

Web (2010), padrão brasileiro de redação on-

line’. Também é instrutor de Webwriting e Ar-

quitetura da Informação no Brasil e no exterior.

bruno-rodrigues.blog.br | @brunorodrigues

58 > Sr. Conteúdo

Page 59: Revista iMasters #16

Uma empresa do grupo iMasters. Especializada em WordPress.

Pioneira no Brasil, a Apiki tornou-se referênciaquando o assunto é WordPress. O domínio da plataforma somado a um time altamente quali�cado fez da Apiki uma especialista no

desenvolvimento de qualquer solução personalizada em WP.

APIKI. EMPRESA ESPECIALIZADA EM WORDPRESS.CERTIFICADA POR NOSSOS CLIENTES.

apiki.com

Page 60: Revista iMasters #16

Pipeline - Desacoplamento na implementação de workflows com serviços de barramentoPor Alexandre Brandão Lustosa, Analista Desenvolvedor Sênior na Mundipagg

Nós, profissionais da área de TI, sejamos arquitetos de sistema, gestores, analistas de infraestrutura ou desenvolvedores, esta-mos habituados a propor soluções com uso de um modelo online compartilhando, com um fluxo ou workflow totalmente baseado em controle por status, ou sequencial com concorrência transacional, para garantir a atomicidade.

Esse modelo convencional e mais conser-vador é de fácil compreensão por parte de profissionais, sejam eles de TI ou não, por refletir exatamente o modelo conceitual dis-cutido em brainstorm e blueprint nas fases iniciais dos projetos, quando todo fluxo é direcionando para o banco de dados, sen-do essa camada responsável por garantir a

atomicidade, o estado e o controle do fluxo de dados.

No entanto, quando nos deparamos com problemas de performance, desempenho e tempo de resposta, a primeira solução que vem à mente é escalar o hardware, mas isso impacta diretamente no resultado, aumen-tando o custo por transação.

Pense grande para ser grande

Bela frase, não? Recentemente, fiz uma pes-quisa para entender como grandes players de tecnologia efetuam o seu processamen-

60 > Infra

Page 61: Revista iMasters #16

Agent

Agent

Agent

Initial Process

Data Bus – Pipe 1 State A

Data Bus – Pipe 2 State B

Data Bus – Pipe 3 State C

Data Bus – Pipe 4 State D

Data Bus – Pipe 5 State E Data Bus – Pipe 6 State F

Agent

Agent AgentFinal State

Final Process

Agent

Figura 1 - exemplo de workflow distribuído em serviços de barramento

to e conseguem otimizar seus recursos de infraestrutura frente à evolução do negócio. Pense grande para ser grande, distribua o processamento com micro-serviços dividi-dos e/ou agrupados por responsabilidade com workflows desacoplados em nível de infraestrutura com serviços de barramento.

O barramento de serviços utiliza o conceito de processamento por filas, no qual o conte-údo de cada item da fila pode ser apenas a chave ou o identificador de um objeto a ser processado. O formato dependerá da tecno-logia empregada no projeto.

Apresento na figura 1 um exemplo de imple-mentação de fila utilizando um pipeline base-ado em troca de estado, no qual em cada fila há um agente responsável por:

• Efetuar a aquisição da informação na fila, garantindo atomicidade;

• Invocar o serviço que irá processar a regra de negócio;

• Persistir os dados no banco de dados;

• Analisar o resultado do processamento;

• Tomar a decisão de passar o objeto para o próximo Data Bus - Pipe;

Infra < 61

Page 62: Revista iMasters #16

Manter a atomicidade transacional no ser-viço de barramento é a característica mais importante do serviço de barramento, e isso pode ser garantido no nível de aplicação pelo agente responsável por retirar e inserir itens na fila. No entanto, essa não é a opção recomendada, pois, quando houver a neces-sidade de escalar o serviço de barramento, a quantidade de agentes apontando para a mesma fila poderá gerar erros de persistên-cias, possibilitando que mais de um agente leia a mesma informação do barramento.

Para resolver o problema de atomicidade, deve-se definitivamente optar por filas atô-micas, nas quais o controle de inserção e retirada de um item da fila fique a cargo do serviço de barramento; assim, quando houver necessidade, o número de agentes de serviços poderá ser elevado ao máximo necessário, aproveitando a capacidade de processamento e o uso balanceado dos re-cursos de hardware disponíveis.

Atomicidade transacional no barramento de serviços

Figura 2 - exemplo de implementação do processo Agent com proces-samento assíncrono

DataBase Application

ServiceDatabase Business Process

LayerAgent Invoke

Process

Atomicidade transacional no barramento de serviços

Manter a atomicidade transacional no ser-viço de barramento é a característica mais importante do serviço de barramento, e isso pode ser garantido no nível de aplicação pelo agente responsável por retirar e inserir itens na fila. No entanto, essa não é a opção recomendada, pois, quando houver a neces-sidade de escalar o serviço de barramento, a quantidade de agentes apontando para a mesma fila poderá gerar erros de persistên-

cias, possibilitando que mais de um agente leia a mesma informação do barramento.

Para resolver o problema de atomicidade, deve-se definitivamente optar por filas atô-micas, nas quais o controle de inserção e retirada de um item da fila fique a cargo do serviço de barramento; assim, quando houver necessidade, o número de agentes de serviços poderá ser elevado ao máximo necessário, aproveitando a capacidade de processamento e o uso balanceado dos re-cursos de hardware disponíveis.

62 > Infra

Page 63: Revista iMasters #16

Alexandre Brandão Lustosa é desenvolve-dor com 16 anos de experiência, com certifi-cações Microsoft .Net MCSD Web Developer, MCP Microsoft SQL Server 2012 e Microsoft IT Specialisty. Possui vasta experiência em de-senvolvimento em C/C++ for Linux Embeded e Microchip Microcontrollers, Assembler. Partici-pou de projetos na área financeira para o Banco Itaú, entre outras instituições, e do desenvolvi-mento de armas militares para o Exército Bra-sileiro, Arábia Saudita e Malásia. Atualmente, é Analista Desenvolvedor Sênior na Mundipagg. [email protected]@abrandaolustosa

Agent

Initial Process

Atomic Data Bus – Pipe 1 State A

Data Bus – Pipe 4 State D

Agent Agent

Firgura 3 - exemplo de utilização de fila atômica com mais de uma instância do agente

No mercado, há diversas opções de tecno-logia para uso do serviço de barramento, opções de instalação Stand-Alone, Clusters e Cloud Service. Seguem abaixo algumas delas:

• Amazon SQS

• IBM WebSphere MQ

• Microsoft BizTalk

• Microsoft Azure BizTalk

• Microsoft Azure Service Bus

• Microsoft Message Queue

• Microsoft SQL Service Broker

• RabbitMQ (Open source / Mozilla Public License v1.1)

Esses produtos oferecem diversos tipos de fila, como queue, tópicos, retransmissões, hubs de evento e notificação. Escolha o pro-duto e o tipo de fila que irão se adequar me-lhor à sua necessidade de negócio.

Conclusão

Há diversas maneiras, cenários e tecnologias com características diferentes para aplicar o uso de filas com serviços de barramento. Otimize seus recursos, e pense grande para ser grande!

Infra < 63

Page 64: Revista iMasters #16

O PRESENTE Éestudar online.

| CURSOS ONLINE

TOP RANKINGo que estão estudando mais no Cursos Imasters Online

Com uma linguagem simples edireta, os cursos disponíveis naplataforma foram feitos paraatender um público que precisade flexibilidade de tempo paraorganizar a sua grade deestudos.

HISTÓRIAS DA VIDA REAL

O EAD VEIO PRA FICAR

DESENVOLVENDO SITES COM BOOTSTRAP - TREINAMENTO ESSENCIAL

Facebook Marketing

PHP ORIENTADO A OBJETOS TREINAMENTO ESSENCIAL

SEO - SEARCH ENGINE OPTIMIZATION - TÉCNICAS DE MARKETING NO GOOGLE

https://cursos.imasters.com.br

depoimentos de quem já estudou e estuda no Cursos Imasters Online

Rafael Zaia - metrossexuais.com.br

Consegui desenvolver projetos profissionais e lucrar com issoapós fazer basicamente todos os cursos do grupo, hoje a Metrossexuais é um dos maiores E-commerce para o públicoMetrossesual do país.

Antonilza Barros - pinksweet.com.br

Fiz os cursos de e-commerce, pricipalmente de magento econsegui desenvolver a loja virtual da Pink Sweet, voltado para moda feminina e potencializar minhas vendasrapidamente.

Hoje, um dos espaços onde a educação mais cresce é nas empresas, como uma ferramenta estratégica para desenvolver e ampliar o negócio. A Educação Corporativa se estabeleceu no mercado para atender a expectativa de vencer a concorrência com estratégias sustentáveis e econômicas. Os prazos para alcançar as metas organizacionais estão mais curtos, porque as transformações são quase instantâneas.

Page 65: Revista iMasters #16

Salve, meus caros. Diferente do que pode pare-

cer, não quero que este seja mais um daqueles

textos dizendo que o mundo do empreendedo-

rismo é maravilhoso e que você deveria abrir sua

própria empresa - nada contra, mas não é a ideia

aqui. Quero dizer que você pode empreender, ou

já empreende, de várias maneiras, e é bom de-

senvolver isso.

Há alguns anos, minha até então carreira de

desenvolvedor guinou para a gestão, que exer-

ço com prazer, assim como o código nosso de

cada dia me agraciava, e ainda agracia. Mas,

neste ano de 2015, tentei algo até então inédi-

to para mim: ser empresário de fato. Junto com

alguns sócios que fundaram a empresa, comecei

meus trabalhos com a Agrosmart, e havia mui-

to a ser feito. Apesar da constante associação

com o empreendedorismo, dado que a empresa

participa de diversos projetos dentro dessa área,

como o StartUp Brasil e o Call to Innovation, caiu

a minha ficha de que não era a primeira vez que

eu estava empreendendo. Na verdade, isso co-

meçou bem antes.

Iniciei minha carreira de desenvolvedor ainda an-

tes de estar nesse papel. Quando trabalhava no

Hospital de Itapevi como escriturário, havia uma

certa dificuldade em trabalhar com o censo di-

ário de pacientes e pedidos de medicamentos.

Muito trabalho manual e repetitivo. O computa-

dor no qual eu trabalhava dispunha somente do

terminal com o sistema do hospital e do pacote

Office - que dispunha naquela época de um pro-

grama chamado Access, que era basicamente

uma interface programática de banco de dados.

Então, eu automatizei o meu trabalho e o dos

meus colegas, e ganhamos agilidade nos nossos

processos. Essa ação foi uma das responsáveis

pela minha vindoura promoção ao CPD, onde de

fato atuei como desenvolvedor pela primeira vez.

Sim, profissionalmente esse foi meu primeiro em-

preendimento.

Embora muitas das definições que encontramos

para a palavra empreendedorismo sejam relati-

vas a criar do zero um novo negócio ou empresa,

gosto muito de uma que está no dicionário Pri-

beram: “Atitude de quem, por iniciativa própria,

realiza ações ou idealiza novos métodos com

o objetivo de desenvolver e dinamizar serviços,

produtos ou quaisquer atividades de organização

e administração”. Ou seja, não depende somente

da criação de uma empresa. Empreender está

mais relacionado à livre iniciativa para o desen-

volvimento (nesse caso, não somente software).

Empreender, em minha humilde opi-

nião, está mais

para resolver

um problema

por conta pró-

pria do que abrir uma em-

presa. Se isso te levar a abrir

uma empresa, melhor ainda.

Por quantas vezes você já não se

questionou se aquele processo des-

necessariamente engessado na sua

empresa, seja você desenvolvedor,

gestor ou dono, não poderia ser

Aprenda e empreendaPor Anderson Casimiro, CTO da Agrosmart e ativista do PHPSP

Desenvolvimento Zen < 65

Page 66: Revista iMasters #16

Anderson Casimiro é CTO da Agrosmart e ativis-

ta do PHPSP. Apaixonado por Tecnologia desde

sempre, tendo atuado como desenvolvedor, ins-

trutor, evangelista e líder de times de desenvolvi-

mento, além de palestrante nos principais even-

tos de tecnologia do país.

@duodraco | [email protected]

simplificado? Talvez com um novo software, ou

uma nova ideia, todos poderiam tirar proveito.

Vamos dizer que na sua empresa o incentivo a

aprender é deixado de lado, ou mesmo que a

empresa para a qual está trabalhando não da a

mínima para seu aprendizado. Mas essa neces-

sidade latente esta lá, pois profissionais da área

de desenvolvimento precisam estudar sempre - o

conhecimento é a base do seu trabalho. Já que

não o fazem por você, comece você mesmo. Crie

um grupo de estudos com um objetivo - uma cer-

tificação, por exemplo. Reúna-se com seus co-

legas em horários oportunos para estudar. Sim,

você estará empreendendo também.

Por quantas vezes você já não se questio-nou se aquele proces-so desnecessariamen-te engessado na sua empresa, seja você de-senvolvedor, gestor ou dono, não poderia ser simplificado?Ainda no tópico de aprendizado, mas de manei-

ra mais prática: já sentiu que a solução para um

problema era um novo projeto, complementar ao

atual? Um time para o qual trabalhei passou por

isso. O problema era sincronizar os pedidos en-

tre um software legado, sem APIs, e um software

com desenvolvimento mais ativo. Algumas pes-

soas desse time desenvolveram um middleware

para realizar essa sincronia. Na primeira semana,

uma prova de conceito; na outra, um protótipo

funcional para então o Marley entrar na linha de

desenvolvimento paralelo às demais aplicações

da empresa.

Eu não poderia falar de empreendedorismo sem

falar do caso mais comum: quando você está

criativamente limitado pelo projeto no qual está

trabalhando, e a única saída que vê é sair e de-

senvolver a sua própria solução. Esse é um ca-

minho mais difícil, mas no qual eu vejo mais e

mais pessoas se arriscarem. É certo? Se você

tiver a consciência de que criar um negocio não é

simplesmente colocar a ideia pra funcionar, con-

siderando riscos, contratações, contas, e mais

tragicamente impostos, ok, vá em frente e faça!

Caros, longe de mim querer jogar água fria no

empreendedorismo. A questão aqui é que vejo

“startups” nascerem tão rápido quanto morrem

por seus criadores, por vezes pessoas talento-

síssimas, mas que pecaram por enxergarem de

maneira míope o que estavam criando.

O espírito empreendedor não reside somente nas

startups. Está em todo lugar. Há diversos pen-

sadores que citam a criatividade como forma de

superar a rotina. A rotina é o que fazemos todos

os dias, sem intervenções. Se a rotina nos é de

alguma forma nociva, buscamos vencê-la. Seja

criando algo novo ou uma nova forma de fazer

o que nos é comum. Em outras palavras: não

se acomode. Empreenda no código, no projeto,

na empresa e na vida - na sua e na de quem te

cerca.

Empreenda e até o próximo ;)

66 > Desenvolvimento Zen

Page 67: Revista iMasters #16
Page 68: Revista iMasters #16

Carteira digital: implementação simples e eficaz para o negócioPor Pedro Lemes, Programador PHP Sênior na Zoo Varejo Digital

As carteiras digitais facilitam o processo de compra no e-commerce ao simplificar o pro-cesso de pagamento dos clientes, tornando--o mais rápido e eficiente. Com isso, a taxa de conversão de vendas é maior, já que há menos abandono de carrinho.

Esse cenário é importante para qualquer va-rejista, e não foi diferente no caso da Zoo Varejo Digital, administradores dos e-com-merces Girafa, BeeFitness e Ovelha Negra. Neste artigo, conto um pouco do nosso case de implantação da carteira digital Stelo.

Com a popularização dos e-commerces e a disputa cada vez maior para conseguir oferecer ao cliente a melhor opção de com-pra, os meios de pagamento se tornaram peça fundamental para atrair mais clientes e fazer, principalmente, com que eles finalizem suas compras.

Por conta das funcionalidades, com a possi-bilidade de realizar a compra sem o cadastro prévio no varejista, a carteira digital escolhi-da por nós foi a Stelo, junto com a funcio-nalidade Login com Stelo, até então inédita no mercado brasileiro. A ferramenta permite que o consumidor finalize a compra mesmo que não tenha cadastro com o varejista - basta digitar o login e a senha de sua conta na Stelo.

A implementação das APIs da carteira digi-tal e do Login com Stelo foi simples e sem intercorrências. Para ambas as ferramentas, a comunicação utilizada é por meio da tec-

nologia REST e do padrão de dados JSON. Na tecnologia REST, não são necessários os arquivos de configuração, como no caso dos arquivos WSDL para o SOAP. Houve apenas a realização de requisições HTTP em deter-minadas URLs disponibilizadas pela API.

O retorno foi de acordo com o esperado. Como a plataforma das lojas administradas pela Zoo Varejo Digital é baseada na lingua-gem PHP, apenas a biblioteca cURL e as funções json_encode e json_decode foram necessárias para realizar a implementação.

Um ponto muito interessante da carteira digital escolhida é o fato de o pagamento ser feito totalmente em ambiente Stelo, fa-cilitando bastante para o e-commerce por não ter que tratar os dados de pagamento do cliente como bandeira do cartão, número e quantidade de parcelas, por exemplo. Como a maioria dos gateways requer esse tipo de informação, o processo de implemen-tação com a Stelo é mais simples para o desenvolvedor.

A ferramenta permite que o consumidor finalize a compra mesmo que não tenha cadas-tro com o varejista

Após o cliente realizar o seu pagamento no ambiente Stelo, todos os dados do paga-mento são coletados, como status e quanti-dade de parcelas, por meio de uma requisi-ção HTTP via cURL. Portanto, basicamente

68 > E-Commerce

Page 69: Revista iMasters #16

E-Commerce < 69

as únicas informações necessárias para en-vio são referentes aos produtos da própria loja, como preço, quantidade e frete.

Para muitos desenvolvedores e lojas de e--commerce, a escolha dos meios de paga-mento ainda é uma grande dúvida devido à quantidade de opções do mercado. Mas esse novo conceito de carteira digital é mui-to interessante. Para demonstrar a diferença, alguns adquirentes requerem a manipulação de todos os dados de pagamento, assim como suas opções de parcelamento. Após a aprovação, há ainda um novo processo por conta da ferramenta de controle de fraude.

Esse processo de análise de risco inclui a criação de um XML para ser enviado via REST para a operadora de Controle de Frau-de. Por se tratar de uma análise de perfil do cliente, muitos dados, como nome, CPF e data de nascimento, são requisitados. Outro ponto importante é o endereço, para verifi-car se o local de entrega condiz com a área de atuação do cliente. Após o envio, é ne-cessário um Cron, que periodicamente faz a consulta com a Controladora de Fraude para verificar se a compra é segura ou não. Caso seja aprovada, ainda é necessário realizar

a Captura junto ao adquirente, que se tra-ta de mais uma requisição REST ou SOAP, dependendo do Gateway utilizado. Com a carteira digital, conseguimos pular essas duas etapas.

Os benefícios do pagamento via carteira di-gital são evidentes - seja pela simplicidade do processo, pelo fato de haver necessidade de praticamente apenas uma única etapa e depois realizar a coleta do status do pedido. Outro ponto a ser destacado é o fato de o pagamento se realizar em um ambiente ex-terno, ficando tudo por conta da operadora de carteira digital, como o oferecimento das bandeiras dos cartões e parcelas disponíveis para os clientes. Ao simplificar esse proces-so fundamental, sobra ao lojista mais tem-po e energia para ser empregado em outras questões estratégicas para o negócio.

Pedro Lemes é formado em Tecnologia em Análise e Desenvolvimento de Sistemas, atua no mercado de tecnologia desde 2006. Atual-mente, exerce o cargo de Programador PHP Sênior na empresa Zoo Varejo Digital. É res-ponsável pelo desenvolvimento e manutenção dos sistemas de e-commerce do Grupo ZVD, atuando com linguagem de programação PHP e banco de dados MySQL.

Page 70: Revista iMasters #16

iMasters BoxSeleção: Flávia Jobstraibizer [email protected] - envie suas sugestões de ferramentas!

O iMasters Box é um agregador de serviços voltado para desenvolvedores web. Confira aqui alguns dos destaques do Box. Participe, indique a sua ferramenta favorita e torne-se um colaborador do Portal iMasters | http://bit.ly/indiqueumaferramenta

70 > iMasters Box

VisualSVN Server (Standard Edition) é um gerencia-dor/instalador do servidor de controle de versões Subversion de modo visual e facilitado, permite, junto ao Tortoise SVN, total controle e gerenciamen-to de fontes e arquivos de documentos, tanto para desenvolvedores como para escritórios em geral. Acesse: http://ow.ly/SLqqB

VisualSVN Server

A empresa Adafruit, pensando em facilitar a vida dos desenvolvedores do mini computador SoC Raspberry Pi, criou uma completa IDE para desen-volvimento. Basta conectar o Raspberry Pi à rede local, fazer login no WebIDE através do seu nave-gador web para criar e editar scripts Python, Ruby, JavaScript, ou qualquer outro e facilmente enviar para testes diretamente no dispositivo Pi. A Webi-DE inclui um terminal, para que seja possível enviar múltiplos comandos para o dispositivo a partir do navegadir. Além disso, o código fonte criado será versionado em um repositório Git local e enviado remotamente para o Bitbucket para que seja possí-vel acessá-lo de qualquer lugar, e a qualquer hora.Acesse http://ow.ly/SLruP

WebIDE para Raspberry Pi

Gnoduino é uma implementação do conhecido Ar-duino IDE para o GNOME. O software original Ar-duino IDE é escrito em Java. Esta é uma implemen-tação de Python e é voltado para o GNOME. Seu objetivo é ser leve, mantendo a compatibilidade com o original Arduino IDE. O editor de código é basea-do em gtksourceview. | git://git.gnome.org/gnoduino Acesse http://ow.ly/SLri5

Gnoduino

Esta ferramenta online gratuita cria gráficos simples e claros, sem adornos, e os exporta em formato bastante compatíveis, como HTML, PDF e JPEG. Seu funcionamento é rápido e fácil: basta criar os blocos e movê-los pela página. caso o mapa te-nha muito conteúdo, é possível ocultar partes dele rapidamente sob seus temas principais, quando estes não estiverem sendo usados, reativando--os quando necessário. Os mapas podem dar links as páginas web, documentos ou pastas no computador do usuário, rede local ou Internet. (Texto retirado do livro “Enciclopédia da nuvem”). Acesse http://ow.ly/SLryj

Freemind

Page 71: Revista iMasters #16

Conectam os problemas da empresa com as competências dos nossos jovens, com o objetivo de encontrar soluções nunca antes pensadas.

DESAFIOS ACADÊMICOS E HACKATONS

Capacitam profissionais de acordo com as expectativas das organizações.

CURSOS CUSTOMIZADOS E CURSOS IN COMPANY

Solução que combina recrutamento e treinamento à seleção de talentos com o perfil desejado.

TALENT HUNTING

Para a FIAP, ser o centro de excelência em tecnologia mais respeitado

do país é ir além do nosso foco em educação. É oferecer soluções

corporativas inovadoras, envolvendo nossos 4.000 jovens talentos

da Graduação e MBA. Conheça algumas das nossas iniciativas:

Vamos pensar juntos? Entre em contato.FIAP. O novo é aqui.

SUA EMPRESA TEM UM PROBLEMA?

A NOSSA TEMPELO MENOS

SOLUÇÕES4.000

www.fiap.com.br

11 3274-6909

Page 72: Revista iMasters #16