Page 1

Novembro 2015 / Ano 04 / Edição 16 Nós fazemos a Internet no Brasil R$24,00

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

POR DENTRO DO W3C

ANDROID DEVCONFERENCE 2015

MELHORANDO A ACESSIBILIDADE NO <CANVAS>

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

#Acessibilidade #pag29

#Android #pag37

REVIEW RUPTURE: CSS BREAKPOINTS SIMPLIFICADOS

#CSS #pag47


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 redacao@imasters.com.br Twitter: @iMasters Facebook: /PortaliMasters Os artigos assinados são de responsabilidade dos autores e não refletem necessariamente a opinião da revista. É proibida a reprodução total ou parcial de textos, fotos e ilustrações, por qualquer meio, sem prévia autorização dos artistas ou do editor da revista.


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.

dev.stone.com.br

meajuda@stone.com.br

www.stone.com.br


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 colunistas 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 redacao@imasters.com.br - 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 rina.noronha@imasters.com.br Editora Chefe - iMasters


Sumário < 7

17

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

29

37

47

Por dentro do W3C

Android DevConference 2015

Review

Melhorando a acessibilidade no <canvas>

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

Rupture – CSS Breakpoints simplificados


8 > Sumário

09 :: Entrevista > Zeno Rocha 14 :: Tendências > Simplicidade, velocidade e a revolução da internet 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 34 :: Por aí > Quem faz a internet no Brasil? 37 :: Por aí > Android DevConference 2015: os dias de infância já passaram 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 50 :: Tecnologia do futuro > Em tempos de crise 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 com serviç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

A iMasters é uma revista de Tecnologia/Web aberta a novas ideias. Para colaborar envie o seu material por e-mail revista@imasters.com.br


Entrevista < 9

Zeno Rocha: depois de 20 anos é que as pessoas começaram a levar JavaScript a sério Por Eduardo Mustafá, para Revista iMasters


10 > Entrevista

“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 liberdade de criar como o JavaScript”. É esse pensamento que Zeno Rocha, Front-end Engineer na empresa norte-americana Liferay, tem sobre JavaScript.

temas de rede. Depois atuou por três anos na  MicroUnity Systems Engineering,  escrevendo  microkernels  e códigos para  DSPs, e bolou a primeira portagem do compilador  GCC  para  MIPS  R4000. Mas Eich ficou realmente conhecido por seu trabalho na Netscape e na Mozilla.

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-

Para Zeno Rocha, que já foi desenvolvedor de software na Petrobras e no Globoesporte.com, o JavaScript acompanha a evolução da web desde as barras de scroll customizadas 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 negativas do JS; padronização; evolução digital 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 representa para você?

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

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 “liberdade de criar” como JavaScript.

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

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.

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: Quais são as características positivas e negativas do JavaScript? ZR: Muitos podem discordar, mas acredito 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 linguagem que trazem incertezas ao mais experiente engenheiro de software.


Entrevista < 11

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 linguagem nunca foi um problema, mas sim a inconsistência das APIs que foram e são implementadas 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 todos 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 vista em diferentes segmentos do mercado, só que ainda falta muito, principalmente nos setores 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. Entretanto, é 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 implantado 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 minha previsão é de que arrow functions vão conquistar muitos desenvolvedores. RiM: Christian Hellmann (ex-Mozilla, atualmente Microsoft) afirmou recentemente que “Trocar os pneus de um carro em movimento é 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 software 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 acontecer é 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 apelativa 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 programar no navegador ganharam o poder de também desenvolver no servidor.

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


12 > Entrevista

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

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

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

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

RiM: Muito se falou de jQuery nos últimos quatro anos, e há menos tempo que isso tivemos a ascensão do Node.JS. Qual o próximo passo? O que se tornará a nova tendência na divulgação do JavaScript? ZR: Pela primeira vez, eu tenho visto mais ânimo e energia da comunidade sendo colocados nas mudanças da linguagem em si, em vez de library X ou framework Y. Todo mundo está de olho no ES2015 e explorando maneiras de usar isso, mesmo com a enorme falta de compatibilidade entre as plataformas. Esse é um momento bem interessante na história, que só demonstra como a comunidade amadureceu nos últimos anos. RiM: Você acredita que o JavaScript continuará sua evolução como tem feito desde da sua origem para se adaptar às novas ferramentas? ZR: Sem dúvida, sua maleabilidade é talvez uma das suas características mais poderosas. 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

RiM: Além de JavaScript, PHP e Java també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 parecido. PHP vai continuar atraindo um público iniciante, enquanto que Java vai continuar atraindo o mercado enterprise. Independentemente de suas características, cada uma teve um papel importante nessa história e conseguiu de alguma forma sobreviver nesse 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 constante 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 muito mais. O que vamos encontrar em 2035? Essa eu deixo para a Mãe Diná, só tenho a certeza de que será algo absolutamente diferente do que temos hoje.


Não importa o tamanho. Com UOL HOST seu site não cai.* a única com isolamento de recursos • Suporte técnico em português – 24 horas • Hospedagem de até 5 sites • Espaço de até 30GB

PLANOS A PARTIR DE

12

R$

,90 POR MÊS**

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

HOST

Seu sucesso online começa aqui.

*Garantia de 99,8% de estabilidade. **Referente à contratação de plano trienal de Hospedagem Fit.

• Nova geração de hospedagem:


14 > Tendências

Simplicidade, velocidade e a revolução da Internet Por João Smith, head da ResellerClub no Brasil

No cenário competitivo da Internet, a simplicidade 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 combinação. Contudo, uma nova iniciativa da ICANN, entidade mundial responsável pela administração do sistema de nomes de domí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 combinaçõ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 realmente impressionante, considerando que desde 1985 apenas 22 gTLDs foram lançados. Atualmente, já existem milhões desses 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 precisam 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 infinitas 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 primeira é 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” torna as marcas ainda mais relevantes e memorá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 explicar 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 percepção dos clientes e consumidores. Outra


Tendências < 15

$ $ $

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 também recebem as suas próprias identificações - como o .tech, que reforça o contexto tecnológico, e .dev ou .guru, para desenvolvedores ou profissionais de Internet. Fazendo jus à importância desse movimento, grandes empresas já possuem suas próprias extensões, como: .globo, .itau e .sony . Isso traz um viés de inovação e valor percebido para a marca. Existem extensões de domínios e combinaçõ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 infinitas, como: projeto.social, smith.guru, suporte.ninja, agencia.marketing, cervejaria.beer,

estilo.moda, e assim por diante. Por fim, esse movimento resulta em algum investimento de marketing, adaptação cultural 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, empreendedores e pessoas se destacarem na Internet e se tornarem ainda mais competitivas e inovadoras. E o quanto antes esses segmentos 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 ResellerClub no Brasil, uma das maiores empresas de hospedagem e domínios do mundo. A ResellerClub possibilita que desenvolvedores gerenciem vendas, clientes e produtos por meio de uma única plataforma de revenda. joao.smith@endurance.com br.resellerclub.com


20 anos de história e construção da web Por Eduardo Mustafá, para Revista iMasters


18 > Capa

Você se lembra de alguns fatos que marcaram o ano de 1995? Pensando rapidamente, recordo que a Microsoft lançou o Internet Explorer, dando início à “Guerra dos Browsers” contra o Netscape; teve também a criação da plataforma mIRC para funcionar como um mecanismo de chat e troca de arquivos; na política brasileira, foi o começo do governo de Fernando Henrique Cardoso; e, na música, foi o ano da Macarena (essa lembranç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. Falando em web, não poderíamos deixar de fora um dos principais personagens de 1995: o JavaScript. Atualmente, é praticamente impossível imaginar a Internet sem a existência do JavaScript. Em conjunto com o HTML e o CSS, o JavaScript – bem como suas bibliotecas e tecnologias relacionadas – é um dos alicerces fundamentais da web como a conhecemos. 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 notí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 conjunto com a Sun Microsystems, em dezembro do mesmo ano, quando foi implementado 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 Silicon Graphics, trabalhando por sete anos em  sistemas operacionais  e sistemas de rede.  Depois atuou por três anos na  MicroUnity Systems Engineering,  escrevendo  microkernels  e códigos para  DSPs, bolando a primeira portagem do compilador GCC para MIPS R4000. Eich ficou realmente conhecido por seu trabalho na Netscape e na Mozilla. Na Netscape 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-chefe. 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 principal 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 software 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-


Capa < 19

ramentas proprietárias e com a performance ruim. “A principal vantagem é que todos os navegadores competiam por uma implementação mais rápida de JavaScript; enquanto isso, os desenvolvedores e os usuários saíam ganhando, daí o JS ficou cada vez melhor 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 Fullstack 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 visualizar 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á negativamente 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 executam 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 desenvolvedores web que representam as comunidades 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 única linguagem que tem como opção para o front-end”, explica Balter.

O JS caminhando com a tecnologia O JavaScript sempre teve sua força na web e no servidor, e isso se tornou um diferencial, mas com o avanço tecnológico algumas dúvidas pairam no ar sobre a evolução da linguagem. Mattos aposta fortemente em duas tendências que devem acompanhar o JavaScript. A primeira é a de aplicativos para desktop, que, por incrível que pareça, já é um novo nicho de desenvolvimento utilizando a linguagem (como Spotify, Slack etc.). A segunda questão é muito recente e trata dos subsets de JavaScript, como o asm.js, que proporcionam executar programas escritos em outras linguagens, como C, em JavaScript. Já Balter acredita que o JS continuará sua evolução, como tem feito desde da sua origem, 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 apresentação da Mozilla e outra da Huia  (com realidade aumentada) - e fiquei impressionado. Usei óculos 3D - provavelmente o Oculus Rift - em um sistema que interagia com


20 > Capa

movimentos de terceira dimensão. Parece 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 falta para os desenvolvedores. Ressalto aqui o quanto é gratificante trabalhar com uma linguagem que evolui dessa maneira”, comemora Mattos. Balter ressalta que a maior diferença do ES6 para o ES5 está na sintaxe do código. “Algumas 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 seguida”. O especialista em JavaScript comenta 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 retrocompatibilidade. 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 tecnológico. Mas esse trabalho de prever o futuro ajuda na questão de trabalhar algumas ideias para os próximos anos. Mattos concorda que é difícil prever um cenário fu-

turista, mas ele aposta em um sistema operacional 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 fascinante de se pensar. JavaScript é uma das linguagens mais promissoras em termos de comunidade, novas funcionalidades e até investimento de empresas”, conclui Eduardo Mattos.

JS conseguiu, inclusive, eliminar os temíveis “plug-ins de terceiros” de navegadores Já Balter acredita que o JS continuará sua evolução, como tem feito desde da sua origem, 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 chance 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 é aplicativo e o que é Internet, fenômeno que já está acontecendo. As pessoas usam naturalmente 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 JavaScript 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.


LOGIN COM


22 > Conexão Vale do Silício

Hora de falar sobre segurança Por Fernanda Weiden, Engineering Manager, Protect and Care Engineering @ Facebook London

Falar de segurança de sistemas de informação sempre foi meio tabu. Poucas empresas 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 security by obscurity, em inglês). Porém, isso parece estar mudando.

discrição está no topo das prioridades. Em julho deste ano, um grupo invadiu os sistemas da empresa e ameaçou publicar dados detalhados de todos os usuários da empresa, 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.

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

Eu chamo esse ataque de tradicional porque aparentemente é motivado por discordâ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 dados foram roubados e o constrangimento público de milhares de pessoas aconteceu.

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

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.


Conexão Vale do Silício < 23

Indícios apontam que o propósito do ataque 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 ousassem em mostrar o filme. De uma hora para outra, os invasores fizeram com que milhares de computadores e servidores da Sony se tornassem inutilizáveis. Um impacto imenso nas operações da empresa. E também um trabalho quase que inimaginável de recuperar sistemas 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 publicar dados detalhados de todos os usuários da empresa, caso o website não fosse retirado do ar. Esse ataque é inusitado porque pela primeira vez, em grande escala, invasores não só roubaram dados, mas causaram uma grande 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 segurança, e o impacto desses investimentos e mecanismos de segurança na cultura de cada empresa. Como aqui se fala de prevenção, é difícil falar em uma solução, porque o conceito do que é suficiente muda conforme a opinião do gestor sobre o assunto 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 questão de equilíbrio no investimento, ou o famoso custo-benefício. Outra é o impacto de mecanismo de segurança na cultura das empresas. E também importante, especialmente tendo em mente o cenário da Sony, é pensar sobre “recuperabilidade” de sistemas de informação. Em matéria de custo-benefício, acredito que começar com boas práticas operacionais 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 també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


24 > Conexão Vale do Silício

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. Todas essas práticas, que são por natureza mais operacionais, também colaboram para que o sistema como um todo seja mais previsível, e previsibilidade também pode significar 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 relevante 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 infraestrutura da empresa, tornando-a mais lenta. Se enfrentado como um desafio de engenharia, 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 estã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.

Você já pensou em implementar mecanismos 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 investimento financeiro que sua empresa está disposta a fazer, uma boa pedida seria começar com um brainstorm e uma lista de tarefas começando pelo básico de operabilidade dos sistemas, por backups e, quem sabe, discutindo 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.

Saiba mais sobre os casos de invasão de sistemas da Sony Pictures Entertainment e da Ashley Madison: https://en.wikipedia.org/wiki/Sony_Pictures_Entertainment_hack https://en.wikipedia.org/wiki/Ashley_Madison_data_breach

Fernanda Weiden trabalha com infraestrutura de grande escala, atualmente como Gerente de Engenharia na equipe de Protect and Care Engineering 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 organizadoras do FISL por vários anos. Ela é membro da Free Software Foundation Europe


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

• API em Rest, garantindo flexibilidade e simplicidade

• O tempo de resposta mais rápido do mercado, menos de 300 ms

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

www.mundipagg.com.br | contato@mundipagg.com Capitais e Regiões metropolitana: 3003-0460 Outras regiões 21 3554-2800

Desenvolvendo para você


26 > API

A simplicidade no centro da estratégia de negócios digital Por Ricardo Abdalla, especialista em desenvolvimento de software na Braspag Nos últimos anos, vivenciamos a explosão de popularidade das APIs Web. Onipresentes, hoje elas suportam funcionalidades em sites, aplicações móveis e desktop, software corporativo, e também objetos físicos conectados à Internet. A chamada “Economia das APIs” emergiu como um novo espaço de inovação e geração de valor, passando a fazer 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 intensivamente 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 padrã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 estabelecido. No entanto, a resposta do mercado 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 grandes empresas estrangeiras e vem ocorrendo 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.


API < 27

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 importantes: • XML é uma tecnologia poderosa em seu domínio, compartilhamento de documentos, 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 escolha possível para os desenvolvedores. Por ser a única ferramenta disponível, acabou sendo solução para todos os problemas. • JSON é um formato para compartilhamento de dados. Ele é simples, compacto e de mais fácil entendimento para desenvolvedores Web do que o XML. Embora limitado, é adequado o suficiente para transmitir dados 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ência de uso do JSON para além do frontend, como atestam as soluções de storage Apache 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 necessita dos recursos complexos que a tecnologia oferece. • Onde bons desenvolvedores puderem simplificar, eles o farão.

Na Economia das APIs, simplicidade significa maior chance de sucesso

Um dos grandes atrativos da Economia das APIs é a possibilidade de alavancar a produtividade 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 pagamentos online ou o envio de SMS.

A nova geração de serviços mantém a característica da interoperabilidade, mas o faz sob uma nova perspectiva arquitetural Ao eliminar antigas distrações, o desenvolvedor fica livre para focar no valor único que o seu produto busca oferecer ao mercado, 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 consumo 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 consumidores significam sucesso.

Ricardo Abdalla, agilista, desenvolvedor e cientista da computação formado pela Universidade Federal Fluminense. Profissional certificado Microsoft (MCSD Web Apps) e Scrum (PSD), possui quase 10 anos de experiência na área de tecnologia, tendo atuado nos segmentos de pesquisa, finanças e e-commerce. Atualmente, é especialista em desenvolvimento de software na Braspag, empresa do grupo Cielo, líder em pagamentos na América Latina. rabdalla@braspag.com.br


Por dentro do W3C < 29

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

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 tecnologia 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>.

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

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.

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

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 diretrizes de acessibilidade é possibilitar o acesso via teclado ao conteúdo da página. Sendo assim, um texto descrevendo o que a aplicação vai executar dentro de

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

No segundo exemplo, consideramos o desenvolvimento de um jogo ou aplicação no qual o usuário deve mover objetos no <canvas>. Todo esse controle pode ser feito na camada por trás do meu container, possibilitando a navegação via teclado e especialmente 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-


30 > Por dentro do W3C

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 teclado/movimentos. Podemos também fazer com que conteúdo atualizado dentro do <canvas> seja exposto 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 <canvas>, 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.

O ponto mais importante dos exemplos mostrados é a simplicidade da sua implementação em aplicações mais complexas e elaboradas. Vale lembrar que garantir acessibilidade 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 geração ou por alguma limitação física. Não precisamos de muito para fazer a Web ser inclusiva. Precisamos, antes de qualquer conhecimento técnico, de vontade de fazer a diferença.

Reinaldo Ferraz é especialista em desenvolvimento web do W3C Brasil. Formado em Desenho 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 Acessibilidade na Web e do Grupo de Trabalho em Acessibilidade na Web e representante do W3C Brasil em plenárias técnicas do W3C. @reinaldoferraz


A FERRAMENTA IDEAL PARA VOCÊ OTIMIZAR SITES SEM SER UM EXPERT EM SEO Principais Vantagens: Indicações práticas para as atividades de SEO

Açõ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 SEO

Indicações objetivas e de fácil entendimento, com explicação completa sobre os dados analisados.

Relatórios completos

Dados sobre o seu site e também sobre o site dos seus principais concorrentes.

TESTE GRÁTIS: kingho.st/testegratis

KINGHOST.COM.BR


32 > Por aí

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 redacao@imasters.com.br

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 portuguê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, ajudar desenvolvedores que possuem dificuldade com o inglês, mas que descobriram todo o poder e funcionalidades que o Bootstrap tem a oferecer. Também acreditam que a proposta 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 bootstrapbrasil@outlook.com - 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 torna mais fácil criar botões do tipo “Copy to Clipboard”, sem depender de nenhum plugin. A lib tem apenas 2kb, e ele usou algumas APIs novas do browser e também ES6 + Browserify. Ficou interessado? A lib está disponível em http://zenorocha.github.io/clipboard.js

Mobile Summit

Foto: divulgação

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 inteiro 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.


Por aí < 33

JS4Girls: evento inclusivo de JavaScript para mulheres

Foto: divulgação JS4GirlsRio

Foto: divulgação JS4GirlsRio

Foto: divulgação JS4GirlsRio

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.


34 > Por aí

Quem faz a Internet no Brasil?

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

Quando comecei a programar para web, cerca de 8 anos atrás, tive algumas dúvidas sobre 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 membros. Ao responder as perguntas de outras pessoas, eu acabava estudando mais sobre o assunto. 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, respondem o novo membro, gerando assim um ciclo sustentável de passagem de conhecimento.


Por aí < 35

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 trabalhado 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 Internet, 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.

Livro: Construindo aplicações com NodeJS 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, comecei a procurar escolas técnicas onde eu poderia dar aulas de programação. Encontrei o Centro de Treinamento da Novatec, onde tive a oportunidade de iniciar o curso de NodeJS, plataforma com a qual eu já estava trabalhando no meu dia-a-dia a cerca de 2 anos. Da apostila da primeira turma, surgiu o primeiro rascunho desse livro”, explica 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.


Por aí < 37

Android DevConference 2015: os dias de infância já passaram Por Ubiratan Soares, Google Developer Expert para Android e co-organizador do GDG-SP A primeira versão do SDK para desenvolvimento 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 maneira 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 melhoram 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 Studio 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 suporte, além do surgimento e da adoção em massa das APIs dos Google Mobile Services

- distribuídas através do aplicativo do Google Play - como recursos para a promoção de comportamentos consistentes e unificados dentro das aplicações ao longo das várias versões da plataforma - e, definitivamente, 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 algumas dessas respostas, o Android DevConference 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 problemas estão resolvidos dado o status quo atual das ferramentas e soluções para os desenvolvedores Android. A maturidade desse tipo de desenvolvimento vem tomando forma 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 robustas, confiáveis, de fácil manutenção, impactantes e encantadoras para os usuários. Alguns problemas remetem às próprias raí-


38 > Por aí

zes da plataforma em si. A API do Android é primariamente acessível através da linguagem de programação Java, hoje com suporte oficial para a versão 7. Não obstante, essa API implementa apenas um subconjunto do CoreJDK, além das APIs específicas do Android em si e alguns (poucos) pacotes open source, que vagamente vão sendo 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, naturalmente linguagens que têm como alvo a JVM - como Scala e Groovy - passaram a buscar um lugar ao sol dentre os desenvolvedores, e a grande estrela do momento é Kotlin, linguagem desenvolvida e mantida pela JetBrains - empresa responsável pela IDE Android Studio - e que traz diversas características de linguagens de programação modernas 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 desenvolvedores com prejuízo quase nulo de performance 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 referenciar os tradicionais backports de APIs, como Fragments, GridLayout, RecyclerView e outros: agora temos toda uma biblioteca que oferece padrões de interface e usabilidade consolidados na proposta do Material Design e que estão disponíveis para uso em implementações simples, diretas e - claro! - 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 criado com a API de Transitions capaz de reduzir 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 atualmente é 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, consumo de imagens de forma assíncrona, Publisher/Subscriber e outras, medindo prós e contras, é básico para qualquer desenvolvedor moderno. Ainda dentro do mundo open source, diversas soluções têm surgido para resolver an-


Por aí < 39

tigos problemas ainda ligados ao desenho do framework do Android em si, como a ausência de um mecanismo padrão para implementar injeção de dependências na aplicação - objetivo hoje facilmente alcançável com a biblioteca Dagger2, também explorada a fundo no evento em uma apresentação dedicada ao tema. Uma aplicação Android moderna é essencialmente construída de forma orientada a eventos, quase em sua totalidade assíncronos ou mesmo incontroláveis do ponto de vista do ciclo de vida de seus componentes. Nesse sentido, uma solução de fronteira, inicialmente criada pelos engenheiros do Netflix para problemas na Web e atualmente conduzida pela comunidade de código aberto, invadiu o dia a dia dos desenvolvedores Android, oferecendo um alento da programação funcional para a solução desse tipo de problema. RxJava é um dos assuntos mais quentes do momento para quem trabalha com o robozinho, e também teve uma palestra dedicada ao tema no evento. Definitivamente, é algo que um desenvolvedor moderno precisa entender e que uma aplicação moderna vai se beneficiar ao adotá-lo. Por fim, não menos importante, foram-se os dias em que testes automatizados e a arquitetura da aplicação eram assuntos de segunda - ou terceira - ordem. Aplicações robustas precisam ser pensadas com um bom design de seus componentes em foco, tanto do ponto de vista de divisão de responsabilidades – e, aqui, falamos de padrões de arquitetura como MVP, MVVM e outros que ofereçam alguma saída para o código macarrônico induzido pelo framework do Android 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 facilitar 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, Espresso 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 principal 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 optem por seguir um caminho mais “tradicional”, usando a mentalidade de desenvolvimento de dois anos atrás, tendem a ficar muito distantes de concorrentes antenados do ponto de vista competitivo, podendo facilmente cair no ostracismo e irrelevância. A velocidade de iteração e a adaptabilidade são alguns dos fatores mais críticos no sucesso de qualquer projeto ou negócio que envolve software, e as soluções que hoje viabilizam isso de forma mais elegante, produtiva 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 Google 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 inovadores para Android da Intel Software. No ano de 2015, foi convidado para representar o Brasil como Google Developer Expert para Android. ubiratan.f.soares@gmail.com


Integre o checkout transparente do MercadoPago E aumente as vendas dos seus clientes

Totalmente customizável

O consumidor paga sem sair do ambiente do site

Menos etapas no fluxo de pagamento

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

Acesse:

developers.mercadopago.com


Segurança < 41

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

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 precisam desenvolver ações para cristalizar essa proteção. Entretanto, surge uma grande questão: como estruturar essa proteção da informaçã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 contemplados e que os controles serão implantados na prioridade adequada? E como fica o alinhamento com a governança corporativa? Um erro conceitual e estrutural que muitas organizações executam é concentrar a proteção exclusivamente no ambiente computacional. Muitas empresas possuem a maior parte dos seus dados no ambiente digital, e pensam que apenas protegendo esse ambiente, com a implantação de ferramentas, estarão protegidas. No máximo, elas estarão meio protegidas. Elas estarão se enganando. Com certeza, não é esse o patamar que os acionistas desejam.

Para proteger adequadamente a informaçã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 abordagem prática para o desenvolvimento e a implantação desse processo. Independentemente do tamanho da sua organização, os conceitos e as recomendações aqui apresentadas podem ser implementados. Evidentemente, precisamos de sabedoria para fazer o ajuste adequado à sua organização. Em primeiro lugar, é necessário tomar um referencial teórico. Sugerimos a Famí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 Processo Corporativo de Segurança da Informação como a figura abaixo:


42 > Segurança

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

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

Dimensão Política da Segurançada Informação A dimensão política de segurança da informaçã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 seguranç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 informação implanta e operacionaliza as regras e controles para a existência da Gestã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 informação e, consequentemente, ajuda o seu alinhamento com a governança corporativa.

Dimensão Acesso Lógico à Informação A dimensão de acesso à informação implanta e operacionaliza as regras e os controles necessários para um acesso seguro à informação, tanto no ambiente de tecnologia quanto no ambiente convencional. São consideradas nesta dimensão Gestão de identidade, 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 respeito ao seu sigilo. Nesta dimensão, são definidos os níveis de sigilo que são utilizados para as informações sob responsabilidade da organização.


Segurança < 43

Dimensão Proteção do Ambiente de Tecnologia da Informação Esta dimensão implanta e garante a existência de controles que protegem o ambiente digital da organização contra uso indevido do ambiente e invasões maliciosas, ataques buscando vulnerabilidades técnicas e outras ações de criminosas.

Dimensão dos Recursos de Tecnologia - Utilizados pelos usuários Esta dimensão define como os recursos e facilidades de tecnologia, tipo correio eletrô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 considera como a organização vai desenvolver controles paralelos à segurança da informaçã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, implanta e operacionaliza as regras e os controles 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 adequada e atenda aos requerimentos exigidos pelo processo corporativo de segurança da informação.

Dimensão Desenvolvimento Aplicativo 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 sistemas aplicativos ou à aquisição de programa produto. São definidos os requisitos de segurança da informação que devem ser formalmente 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 Conscientização do Usuário A dimensão conscientização e treinamento do usuário, define, implanta e operacionali-


44 > Segurança

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.

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

Dimensão Continuidade de Negócio

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

A dimensão continuidade de negócio define, implanta e operacionaliza as regras e os controles para garantir que a organização continuará funcionando em condições mínimas aceitáveis, mesmo quando da ocorrência de uma indisponibilidade da informação. É necessária a existência do Gestor da Informação para cada informação da organização. Ele é responsável para indicar o tempo (desejado) máximo de indisponibilidade da informação no que se refere à ocorrência de uma indisponibilidade, considerando impactos financeiros, impactos de imagem e impactos operacionais.

Leitura recomendada: “Políticas e Normas para a Segurança da Informação” (2012, Editora Brasport) – neste livro, defino uma Arquitetura para a Política de Segurança da Informação e apresento 30 exemplos

Tratamento de Incidentes de Segurança da Informação

de regulamentos.

Muitas vezes, este aspecto é considerado apenas no ambiente técnico. Quantitativamente, com certeza, os eventos de incidentes 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 eficaz ao longo do tempo) da informação, são imprescindíveis o desenvolvimento e a implantaçã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íticas e normas de segurança da informação. Esses regulamentos são elementos estru-

Edison Fontes, CISM, CISA, CRISC. Consultor-Gestor em Segurança da Informação, Gestão de Risco, Continuidade de Negócio. Autor de livros sobre segurança da informação. edison@pobox.com http://nucleoconsult.com.br


Código Livre < 45

Informações e dicas sobre projetos Open Source Por Kemel Zaidan, evangelista Locaweb em tempo integral e de software livre nas horas vagas 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.

Iridium Secure Browser

Tails

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 relação ao projeto original, trata-se de uma iniciativa alemã que conta inclusive com o patrocínio de algumas empresas do país.

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 criptgrafado no próprio pendrive. Além disso ele já trás diversas ferramentas como o TOR, OTR e HTTPS everywhere para tornar sua navegação e comunicação na web a mais segura e anônima possível.

https://iridiumbrowser.de

Bitmessage

https://tails.boum.org

O Bitmessage é um mensageiro P2P baseado na tecnologia da cadeia de blocos (blockchain) do Bitcoin. Diferentemente deste último, as mensagens são armazenadas por apenas 2 dias. Com ele é possível trocar mensagens de forma criptografada e completamente anônima.

Pixelated

https://bitmessage.org

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 utilização e adoção de ferramentas de criptografia como o PGP. https://pixelated-project.org

Kemel Zaidan é um pseudo-programador, metido a jornalista, com alma de artista e evangelista na Locaweb. kemel.zaidan@locaweb.com.br | @kemelzaidan


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. Acompanhamos o crescimento do JavaScript e nos orgulhamos de ter um dos cursos mais completos do país.

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

www.impacta.com.br

11 3254-2200


Review < 47

Rupture – CSS Breakpoints Simplificados Por 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 rapidamente 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 essas 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 Breakpoint Slicer (SASS), mas mantendo o mesmo 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.

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á justamente em sua simplicidade. Não existem segredos ou truques complexos. Sua documentação é bastante concisa e em poucos minutos um desenvolvedor sem muita experiência já estará familiarizado o suficiente para começar a montar páginas com diversos breakpoints. Para executá-lo, basta rodar 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 definir 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 acordo 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


48 > Review

// // Slice #:

1

2

3

rupture.scale-names: ‘xs’

‘s’

4 ‘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

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 demanda 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 forem usadas dentro do contexto do projeto 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!

+tablet() // 400px ~ 1050px +desktop() // >= 1050px +retina() // Para telas com densidade de pixels maior que 1.5

Saiba mais: Para saber mais sobre o Rupture ou conhecer os demais projetos de Jeff Escalante, acesse: http://github.com/jenius/rupture

Exemplo de uso: .abox width 500px height 500px

Se não conhece o Stylus e quer saber mais sobre ele, acesse: https://learnboost.github.io/stylus/

background #f00 +above(600px) background #0f0 +above(1000px) background #00f

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

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 | vitormendrone@gmail.com


50 > Tecnologia do Futuro

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

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 é diferente. Cortes em posições de trabalho, cortes em recursos de sistema (servidores sobressalentes, 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 emergentes e mais atuantes, e procurar formas de sobreviver à crise atendendo a determinadas demandas. Mas a crise que vivemos não é apenas econô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 desempenho 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, economizando energia elétrica dos mais variados modos. Da mesma forma, um consultor em sustentabilidade consegue mensurar gastos com água, sugerir melhorias na instalação hidráulica e criar formas de reaproveitamento sustentável. Tecnologias das mais variadas têm surgido nesse sentido, de forma a aumentar a sustentabilidade de empresas e residências. A criação de aplicativos que ajudem a mensurar gastos elétricos, ajudem empresas e pessoas 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.


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: comprovantes de pagamento do almoço, contas, correspondências, jornais, revistas, impressão de documentos, embalagens, entre outras. Diminuir esse consumo também é algo extremamente 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 versã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 documentos físicos por arquivos digitais certificados 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 preocupação. Nesse sentido, o Google, sempre pioneiro, mostra por meio de imagens aéreas 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 projetos voltados para sustentabilidade (infelizmente, 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 projetos 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. 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


Cloud < 53

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

No decorrer da história, sempre acompanhamos previsões sobre como seria a sociedade 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 sutilmente ao nosso redor. Hoje presenciamos um fenômeno, que ainda tem muito a crescer, chamado de “Internet das Coisas” (Internet of Things). Já é possível encontrarmos - além de smartphones - 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 presente em poucos gadgets -, especialistas afirmam que a Internet das Coisas vai crescer, e muito. Em um futuro não muito distante, carros e tantos outros aparelhos estarão conectados por dispositivos eletrônicos. Mas a base da sua operação já está fazendo diferenç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, cartões de memória, passando pelos pen drives 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 acreditava que o trabalho seria demorado e caro, e não valeria a pena tocar esse


54 > Cloud

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 WhatsApp, que sustentam sua infraestrutura na leveza do cloud e seus inúmeros benefícios, como escalabilidade, baixo custo inicial e segurança. A escalabilidade se resume à capacidade de adicionar licenças acompanhando as necessidades do negócio. Além disso, o gestor tem a vantagem de usufruir de um sistema que oferece controle de autenticação, permitindo 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 precisos sobre o uso da plataforma. O provedor de cloud computing disponibiliza recursos por segmento, como memória, disco, armazenamento, processador e rede, e geralmente esses recursos são combinados em planos que se encaixam com as necessidades 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: smartphones, laptops e tablets. Não é necessário adquirir outro equipamento para acessar a plataforma. O cloud rompe com a infraestrutura convencional e facilita os processos, diminuindo os custos de tecnologia mesmo para microempresas. A plataforma supre a necessidade de ter um servidor dedicado para manter aplicações corporativas em funcionamento. Esses servidores exigem manutenção constante, mais energia e equipamento específico, 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 diminua sua capacidade, caso precise ou troque o hardware com rapidez, apenas entrando 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 mudando em um ritmo cada vez mais frenético. 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 entrar e crescer no mundo online. mvaron@uolinc.com


56 > Sr. Conteúdo

Conteúdo para mídias sociais: modo de usar Por Bruno Rodrigues, Consultor de Informação e Comunicação Digital

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

Aproveitei a chance, então, para me perguntar:

Fosse um usuário comum, o retweet seria apenas parte da rotina de relacionamento que vivemos no dia a dia das mídias sociais. 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.

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.

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

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

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

É bom ter em mente que, exatamente por estarem bem próximas da realidade, minhas 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.


Sr. Conteúdo < 57

O que faz um conteúdo postado em uma rede social transformar-se em case de sucesso? 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 considerado ‘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 portanto 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 perfeitamente 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 forma burocrática. Parecem produzidos por obrigação, sem compromisso algum com persuasão ou – o mais grave hoje – resultado. 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 digitais, de portais a blogs, a burocracia será a senha para a total invisibilidade.

Em tempo: nem sempre posts chamativos, 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, opinativo. 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 (comentei logo após a publicação) para provar para os seguidores que alguém já o considerava 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 publicidade e podem resvalar para a autobajulação. Nesse caso, a questão é o que será elogiado e a forma como o texto será escrito. Cuidado.


58 > Sr. Conteúdo

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 momento, 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 inesperada. A chave para a utilidade é o conhecimento 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 media 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 simulacro de repartições públicas dos anos 1950, com sua paisagem de mesas sem fim, gente sem rosto e documentos sendo carimbados à exaustão, é o caminho do apocalipse digital para uma marca. Muitas vezes o planejamento excessivo tira a alma das ações, e a informação fica pesada, incômoda, chapa branca. Trabalhe com amor, essa é a conclusão final. ;-) Bruno Rodrigues é Consultor de Informação e Comunicação Digital, autor dos livros ‘Webwriting’ (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 online’. Também é instrutor de Webwriting e Arquitetura da Informação no Brasil e no exterior. bruno-rodrigues.blog.br | @brunorodrigues


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

Pioneira no Brasil, a Apiki tornou-se referência quando o assunto é WordPress. O domínio da plataforma somado a um time altamente qualificado fez da Apiki uma especialista no desenvolvimento de qualquer solução personalizada em WP.

apiki.com Uma empresa do grupo iMasters. Especializada em WordPress.


60 > Infra

Pipeline - Desacoplamento na implementação de workflows com serviços de barramento Por 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, estamos 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.

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

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

Pense grande para ser grande

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, aumentando o custo por transação.

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


Infra < 61

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 divididos e/ou agrupados por responsabilidade com workflows desacoplados em nível de infraestrutura com serviços de barramento.

Apresento na figura 1 um exemplo de implementação de fila utilizando um pipeline baseado em troca de estado, no qual em cada fila há um agente responsável por:

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 tecnologia empregada no projeto.

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

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

• 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;

Initial Process

Data Bus – Pipe 1 State A

Agent

Data Bus – Pipe 2 State B

Data Bus – Pipe 4 State D

Agent

Agent

Data Bus – Pipe 3 State C

Agent

Data Bus – Pipe 5 State E

Agent

Data Bus – Pipe 6 State F

Final State

Agent

Agent Final Process

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


62 > Infra

Database

DataBase Application Service

Business Process Layer

Agent Invoke Process

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

Atomicidade transacional no barramento de serviços

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

Manter a atomicidade transacional no serviç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 necessidade de escalar o serviço de barramento, a quantidade de agentes apontando para a mesma fila poderá gerar erros de persistên-

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 recursos de hardware disponíveis.

Atomicidade transacional no barramento de serviços Manter a atomicidade transacional no serviç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 necessidade de escalar o serviço de barramento, a quantidade de agentes apontando para a mesma fila poderá gerar erros de persistências, 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 recursos de hardware disponíveis.


Infra < 63

Initial Process Atomic Data Bus – Pipe 1 State A

Agent

Agent

Agent

Data Bus – Pipe 4 State D

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 tecnologia 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 produto e o tipo de fila que irão se adequar melhor à 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!

Alexandre Brandão Lustosa é desenvolvedor com 16 anos de experiência, com certificações Microsoft .Net MCSD Web Developer, MCP Microsoft SQL Server 2012 e Microsoft IT Specialisty. Possui vasta experiência em desenvolvimento em C/C++ for Linux Embeded e Microchip Microcontrollers, Assembler. Participou de projetos na área financeira para o Banco Itaú, entre outras instituições, e do desenvolvimento de armas militares para o Exército Brasileiro, Arábia Saudita e Malásia. Atualmente, é Analista Desenvolvedor Sênior na Mundipagg. abrandao@mundipagg.com @abrandaolustosa


O PRESENTE É estudar online.

| CURSOS ONLINE

TOP RANKING HISTÓRIAS DA VIDA REAL o que estão estudando mais no Cursos Imasters Online

DESENVOLVENDO SITES COM BOOTSTRAP - TREINAMENTO ESSENCIAL

Facebook Marketing

PHP ORIENTADO A OBJETOS TREINAMENTO ESSENCIAL

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

Consegui desenvolver projetos profissionais e lucrar com isso após fazer basicamente todos os cursos do grupo, hoje a Metrossexuais é um dos maiores E-commerce para o público Metrossesual do país. Rafael Zaia - metrossexuais.com.br

Fiz os cursos de e-commerce, pricipalmente de magento e consegui desenvolver a loja virtual da Pink Sweet, voltado para moda feminina e potencializar minhas vendas rapidamente. Antonilza Barros - pinksweet.com.br

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

Com uma linguagem simples e direta, os cursos disponíveis na plataforma foram feitos para atender um público que precisa de flexibilidade de tempo para organizar a sua grade de estudos.

O EAD VEIO PRA FICAR 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.

https://cursos.imasters.com.br


Desenvolvimento Zen < 65

Aprenda e empreenda Por Anderson Casimiro, CTO da Agrosmart e ativista do PHPSP

Salve, meus caros. Diferente do que pode parecer, não quero que este seja mais um daqueles textos dizendo que o mundo do empreendedorismo é 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 desenvolver isso.

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 empreendimento.

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édito para mim: ser empresário de fato. Junto com alguns sócios que fundaram a empresa, comecei meus trabalhos com a Agrosmart, e havia muito 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 começou bem antes.

Embora muitas das definições que encontramos para a palavra empreendedorismo sejam relativas a criar do zero um novo negócio ou empresa, gosto muito de uma que está no dicionário Priberam: “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 desenvolvimento (nesse caso, não somente software).

Iniciei minha carreira de desenvolvedor ainda antes 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 computador no qual eu trabalhava dispunha somente do terminal com o sistema do hospital e do pacote Office - que dispunha naquela época de um programa chamado Access, que era basicamente

Empreender, em minha humilde opinião, está mais para resolver um problema por conta própria do que abrir uma empresa. Se isso te levar a abrir uma empresa, melhor ainda. Por quantas vezes você já não se questionou se aquele processo desnecessariamente engessado na sua empresa, seja você desenvolvedor, gestor ou dono, não poderia ser


66 > Desenvolvimento Zen

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 necessidade 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 certificação, por exemplo. Reúna-se com seus colegas em horários oportunos para estudar. Sim, você estará empreendendo também.

Por quantas vezes você já não se questionou se aquele processo desnecessariamente engessado na sua empresa, seja você desenvolvedor, gestor ou dono, não poderia ser simplificado? Ainda no tópico de aprendizado, mas de maneira 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 entre um software legado, sem APIs, e um software com desenvolvimento mais ativo. Algumas pessoas 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 desenvolver a sua própria solução. Esse é um caminho 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, considerando 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 talentosí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 pensadores 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 ;)

Anderson Casimiro é CTO da Agrosmart e ativista do PHPSP. Apaixonado por Tecnologia desde sempre, tendo atuado como desenvolvedor, instrutor, evangelista e líder de times de desenvolvimento, além de palestrante nos principais eventos de tecnologia do país. @duodraco | duodraco@gmail.com


68 > E-Commerce

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

As carteiras digitais facilitam o processo de compra no e-commerce ao simplificar o processo 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.

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 determinadas URLs disponibilizadas pela API.

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

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

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

Um ponto muito interessante da carteira digital escolhida é o fato de o pagamento ser feito totalmente em ambiente Stelo, facilitando 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 implementação com a Stelo é mais simples para o desenvolvedor.

Por conta das funcionalidades, com a possibilidade de realizar a compra sem o cadastro prévio no varejista, a carteira digital escolhida por nós foi a Stelo, junto com a funcionalidade 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 digital e do Login com Stelo foi simples e sem intercorrências. Para ambas as ferramentas, a comunicação utilizada é por meio da tec-

A ferramenta permite que o consumidor finalize a compra mesmo que não tenha cadastro com o varejista Após o cliente realizar o seu pagamento no ambiente Stelo, todos os dados do pagamento são coletados, como status e quantidade de parcelas, por meio de uma requisição HTTP via cURL. Portanto, basicamente


E-Commerce < 69

as únicas informações necessárias para envio 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 pagamento ainda é uma grande dúvida devido à quantidade de opções do mercado. Mas esse novo conceito de carteira digital é muito 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 Fraude. 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 verificar se o local de entrega condiz com a área de atuação do cliente. Após o envio, é necessá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 trata 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 digital 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 externo, 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 processo fundamental, sobra ao lojista mais tempo 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. Atualmente, exerce o cargo de Programador PHP Sênior na empresa Zoo Varejo Digital. É responsá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.


70 > iMasters Box

iMasters Box Seleção: Flávia Jobstraibizer fjobs@linuxmagazine.com.br - 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

Freemind

WebIDE para Raspberry Pi

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 tenha 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

A empresa Adafruit, pensando em facilitar a vida dos desenvolvedores do mini computador SoC Raspberry Pi, criou uma completa IDE para desenvolvimento. Basta conectar o Raspberry Pi à rede local, fazer login no WebIDE através do seu navegador web para criar e editar scripts Python, Ruby, JavaScript, ou qualquer outro e facilmente enviar para testes diretamente no dispositivo Pi. A WebiDE 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

Gnoduino

VisualSVN Server

Gnoduino é uma implementação do conhecido Arduino IDE para o GNOME. O software original Arduino IDE é escrito em Java. Esta é uma implementaçã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 é baseado em gtksourceview. | git://git.gnome.org/gnoduino Acesse http://ow.ly/SLri5

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


SUA EMPRESA TEM UM PROBLEMA?

A NOSSA TEM PELO MENOS

4.000 SOLUÇÕES 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: DESAFIOS ACADÊMICOS E HACKATONS Conectam os problemas da empresa com as competências dos nossos jovens, com o objetivo de encontrar soluções nunca antes pensadas. CURSOS CUSTOMIZADOS E CURSOS IN COMPANY Capacitam profissionais de acordo com as expectativas das organizações. TALENT HUNTING Solução que combina recrutamento e treinamento à seleção de talentos com o perfil desejado. Vamos pensar juntos? Entre em contato. FIAP. O novo é aqui.

11 3274-6909 www.fiap.com.br


Revista iMasters #16  

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

Read more
Read more
Similar to
Popular now
Just for you