Dicas/ RIA

Jogar um código fora e refaze-lo do zero #soudev

Escrevi um Tweet ontem que muita gente que acompanha o #hastag #soudev pode concordar ou não, foram levantados alguns argumentos, como lá só tem espaço para 140 caracteres, deixa eu jogar aquele tweet fora e escrever do zero outro tweet aqui no Blog, onde tem mais espaço para eu mostrar quais motivos me levaram a isso.

Em resumo, o meu tweet foi :

Jogar um código fora e refaze-lo do zero, me retornou + performance +resultado +aprendizado #soudev

O real motivo:

Em um projeto onde trabalhamos temos um componente que é deveras complexo, e esse bendito componente acabou gerando outros 19 sub componentes, o que atingiu uma certa parte de grande esforço da equipe para concretiza-lo.
Um dos grandes obstáculos foi ter que cria-lo sem especificação técnica, ou seja no estilo Jack Bauer ou melhor, Mãe Diná (Prevendo as necessidades Rah!).

Impactou em 2 semanas escrevendo, 1 testando e 3 dias implementando, no resultado, o componente só funcionou 50% do que era previsto como achavamos que era para ser.

Então, no modo “faca na caveira” ou Coragem tecnicamente falando. Resolvemos que era mais fácil jogar fora todo o componente (leia-se parar de usar aquele código e criar outro do zero). Que fosse necessário para tal. Agora tendo a especificação pronta de fato, o levantamento de requisitos e os caprichos do pessoal de UX, só nos restou mãos a massa.

Em resumo, depois de 12 horas, o componente está criado, já testado e implementado no projeto.

Com isso nós ganhamos alguns itens:

Performance : O componente que era 19 sub-compontes ficou em apenas 11, De 6.700 linhas passou para 2.346 linhas, reduzindo os Skins do Flex para uma coisa bem mais simples e rápida, já que skins são ainda o gargalo do Flex 4.5.

Resultado: Com bem menos tempo e com um grande obstaculo pulado que foi na especificação, o resultado foi de 99% esperado pelo gerente de projeto e isso nos deu mais retorno sobre o que realmente importava nele.

Aprendizado: Aprendemos que o modo Mãe de Diná, não funciona em projetos, ter bola de cristal é sempre um 171, Optimizamos várias formulas matemáticas que eram utilizadas nele, re-criar a roda não vale a pena e sempre fica faltando um parafuso. Onde nos levou a usar algumas classes dessa biblioteca.

Quando você escreve um código,uma vez, ele se torna fácil nas próximas vezes que você for fazer em seguida. O grande problema e você julgar se isso realmente é necessário ou não. Depende muito de cada projeto, entre os fatores como: Quem está bancando o projeto, Prazo, estimativas de hora, Quantidade de mão de obra necessária.

Pense nisso.

AIR 2.0/ Dicas/ Dicas e truques/ Flex/ Flex Builder 4/ Livros/ RIA

Livro Flex 4 Avançado

A editora Novatec, recentemente lançou o livro Flex 4 Avançado, que conta com um excelente conteúdo programático e uma ótima tradução.

Se você quer aprender mais a fundo o Adobe Flex 4 e Adobe AIR, você deve comprar esse livro, nós indicamos por que avaliarmos o livro técnicamente, e ele passou pela nossa análise.

Analisamos pontos de referencia, técnicas e macetes já dados no livro em Inglês e querendo ou não acabam se perdendo com traduções mal feitas. Esse livro me surpreendeu por que sua tradução está muito bem feita, e preservou também esses macetes que salvam em horas turbulentas.

O melhor disso tudo é que não só avaliamos o livro como também conseguimos um desconto para todos os leitores desse blog e também a comunidade Flex Brasileira.

Valendo até 31/12/2011 quando você comprar esse livro ou qualquer outro livro no site da Novatec, você ganha 20% de desconto inserindo o código promocional FLEXBRA

Estamos sorteando 1 cópia desse livro Flex 4 Avançado, veja meu Tweet. E também siga também a @novateceditora no Twitter, eles fazem diariamente outras promoções.

Dicas/ Eventos/ Flash/ Flash Player/ Flex/ Negócios/ Notícias/ Pessoal/ RIA

20 motivos para você não faltar ao Flashcamp Brasil de 2011

O pessoal que organiza o Flashcamp Brasil criou uma campanha “10 motivos para você não faltar ao Flashcamp de 2011“, que pode ser conferida pelo link.

Além das dez razões explicadas eu acrescento 20 novas. Dúvido que você fique ai chorando as pitangas e não vá ao evento.

  • 1 – Mais uma vez eu vou palestrar
  • 2 – Demian Borba um dos organizadores dessa vez palestra
  • 3 – Vamos ter diversas palestras sobre mobilidade, tecnologias Adobe nesse ramo
  • 4 – A RIACycle é uma das patrocinadoras e estamos com várias promoções durante o evento, inclusive você poderá conversar com nossos instrutores, Todos estarão por la.
  • 5 – Muita praia, água de coco, picolé de frutas tropicais
  • 6 – NETWORKING é o lugar certo e na hora certa, você precisa estar.
  • 7 – Encontre amigos que você só fala pelo twitter.
  • 8 – Terá vários sorteios incríveis
  • 9 – Passagens de vários trechos do Brasil com até 90% de desconto, TAM, Gol, Azul, Passaredo
  • 10 – Terá um Stand com informaçõe de todos os grupos oficiais da Adobe no Brasil
  • 11 – Várias novidades sobre o novo Flash Player 11
  • 12 – Coffee break e lanches toda hora ( Os melhores que eu já vi)
  • 13 – Excelente conexão, não é um Campus Party da vida, mas a conexão Wi-fi é animal, ouvi dizer que esse ano será 10mb dedicados
  • 14 – Tenha um discurso direto e fale seus problemas ao pessoal da Adobe EUA, presença confirmada no evento
  • 15 – Hotéis para todos os gostos e bolsos, tem diárias de R$99,00 até R$599,00
  • 16 – Sempre que for usar o Twitter para falar do evento use o hash tag #flashcampbrasil ou #fcbr
  • 17 – Quem sabe você não consegue um trabalho na Zynga criadora de vários games sociais
  • 18 – Almoçe vendo o mar, tem vários restaurantes na beira da praia com pratos típicos da região
  • 19 – Um evento que era para ser um simples flash camp, acabou virando em um grande evento, que custa míseros R$99,00 ~ R$159,00. Coisa que você ganha em 1 dia de trampo.
  • 20 – Se você chegou até aqui, está esperando o que? Clique aqui e faça sua inscrição.

Esse é meu chamado para todo mundo do Nordeste, Venha para festa. Estou esperando por você para bater papo.

HTML 5/ Notícias/ Open-source/ RIA

HTML 5 e Aplicações Web

Eu demorei muito para escrever esse post, primeiro queria ter certeza do que eu falava, depois queria ter a convicção que não iria influenciar ninguém. Então decidi escrever abaixo sobre o que todos estão falando à respeito do HTML 5 vs. Flash vs. resto do mundo. A única certeza que eu tenho quando escrevi isso é que alguns estarão discordando de pontos que coloquei, outros colocarão “Obrigado”. O que de fato eu espero é que você me ajude também a ver diferentes angulos e concluir minhas teorias a respeito disso, afinal de contas o que eu escrever aqui pode virar passado em 6 meses.

Parte Um

O mundo de IT não é diferente do mundo geral. As regras se baseiam em ações (início,meio e fim). A unica rápida mudança que temos é que as coisas andam em velocidade 2x mais que no geral. Ações de descoberta em uma área de medicina demora cerca de 5 anos para iniciar a aplição, depois mais 2 anos para aperfeiçoa-la e assim por diante. A nossa precisa apenas de um desconfortável humor de que não está perfeito e um computador para gerar resultados rápidos. Eu acredito que não mais que 6 meses e você faz estrago. Eu acho que o poder da internet e do boca-a-boca.
Então, vem a sequência disso, precisamos de uma revolução. Quando queremos dizer que algo está ruim e que não estamos mais afim de fazer aquilo, juntamos duas dúzias de pessoas e criamos uma revolução, assim por se dizer você junta a sua fome com a coragem coletiva. Eis que surge um novo “how to”, basta espalhar a informação e pessoas que estam em bem, bem distantes respondem, os chamados adeptos; Pronto você chegou onde você queria, proliferar uma idéia. Faltando apenas o toque final para que isso dê certo. Chamar nomes de peso e dividir a causa com você. Foi assim que Steve Jobs entrou como garoto propaganda do HTML 5 e CSS3.

Parte Dois

Tem aproximadamente 7 milhões de informações na internet segundo o Google. Muita coisa não? Eu acredito que não li nem 0,01% de tudo isso. Comecei a me preparar para a árdua tarefa de ler a respeito disso calmamente, sem muita pressa, primeiro passo feito foi ler no Wikipedia, depois na W3C, acredite lá tem mais informação e sem banners do que qualquer outro lugar que eu conheça. E os resultados não foram assustadores. É onde começa a terceira parte deste estudo que entitulo de “Evolução”.

Evolução

Desde que eu entrei na internet pela primeira vez em 1997, eu apenas percebia gifs, Frontpage code. JS, HTML. Hoje é um mix de tanta tecnologia que fez dela o que é. Eu acredito que o ponta pé inicial sempre tem que existir e é necessário você ter força para sobreviver nesse mundo mesmo sendo uma linguagem de programação voltada para web. O HTML veio para ajudar a cunhar a idéia. Então a idéia pegou, mudou-se muito rápido e talvez ele não tenha acompanhado tamanha revolução ocorrida, até que tentou arduamente com o HTML 4.0.1. Só que não é fácil você definir uma linguagem que rode em diversos sistemas operacionais, que seja plataforma e que tenha variações de navegabilidade, navegadores amigo, navegadores. Eles são um saco para o HTML. Cada um quer se comportar do seu jeito. Oras mais é natural que cada um queira se comportar diferente. Alguns brigam entre si, outros tentam boicotar, outros são os bons moços e poucos são vilões.
O HTML tem sido um mestre evolutivo nesse aspecto. Joga muito bem nesse meio de campo e está dando conta do recado. Então começo a perguntar onde e em quais navegadores ele está tão respeitado, é onde começo com a próxima parte chamada de “mudanças”.

Mudanças

As mudanças começaram em 2006 quando a Apple, Mozilla Fundation e Opera juntaram-se para melhorar a linguagem. Cada empresa seja ela seu foco lucros ou não. Tem um mútuo interesse em ser dominante na área, o que acaba sendo bom por um lado e muito pior por outro, eu já já explico isso. Voltando ao meu raciocínio, a Apple fez significantes doações para o Webkit, no qual ela usa em seus produtos Apple Safari, iOS, logicamente tais mudanças geram um preço que é cobrado pelos acionistas da empresa no balando trimestral sempre. E claro ela precisa defender isso, já que parte de seus produtos é baseado nessas significantes melhorias.

O HTML 4 para o 5 mudou assim:

Em HTML 4 você criava um documento .html da seguinte maneira.

1
2
3
4
5
6
7
8
9
10
11
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTML 4.x e XHTML</title>
</head>
 
<body>
<p>Exemplo de HTML 4</p>
</body>
</html>

Com o HTML 5 você cria um documento HTML assim:

1
2
3
4
5
6
7
8
9
10
< !doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>HTML 5</title>
  </meta></head>
  <body>
    <p>Exemplo de paragrafo</p>
  </body>
</html>

Significativa mudança em termos digitação. Mais simples de definir o charset da página, removeram a parte chata de definir DTD do documento e também para XHML removeram os tais namespaces.
A grande jogada do HTML 5 é de fato promover a web semantica, aquela história já velha e conhecida de todos do microformats. Só que em tese isso funciona perfeito, no mundo real e cruel provavelmente daqui alguns anos, hoje não.

Inline SVG (Colando código de SVG)
Outra promessa que pode ser muito interessante é vetorizar o que você tiver. Imagine suportar Tudo em Inline SVG, permitir que você use um editor SVG, copie o código e jogue no novo tag porém hoje não é possível em nenhum navegador existente. Quando existir você pode testar esse código abaixo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
< !doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>HTML 5</title>
  </meta></head>
  <body>
    <p>Uso de SVG com HTML 5</p>
 
    <svg><rect x="136" y="170" fill="#29ABE2" width="24" height="119"/>
    <rect x="173" y="233" fill="#009245" width="24" height="56"/>
    <rect x="213" y="252" fill="#ED1C24" width="24" height="37"/>
    </svg>
  </body>
</html>

Bem fácil, não é? Uma repentina mudança para quem estava acostumado apenas a rendenizar SVG. Pois bem, continuando nossa investigação vimos que tem novos tags no HTML 5, que você pode ver na íntegra aqui.

Depois de ver todas as mudanças e novos tags cheguei a uma pequena conclusão das novidades. A grande bola da vez é o tag

Canvas

, ele é o principal responsável pelo que há de mais legal e que que levou o HTML 5 ao topo da discussão sobre o assunto. Segundo a documentação em suma, ele serve para rendenizar gráficos em tempo de execução muito usado em jogos, animações, só que rendeniza apenas em 2D.

Então como eu posso fazer um simples exemplo?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
< !doctype html>
<html>
  <head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script>
	<script type="text/javascript">
 
	$(document).ready(function () {
			desenharBarras();
	});
 
	function desenharBarras()
	{
		cronometro = setInterval("incrementarX()",120);
	}
	var x = 5;
	function incrementarX()
	{
				var meuCanvas = document.getElementById('canvasContainer');
				if(meuCanvas && meuCanvas.getContext) {
					var context = meuCanvas.getContext('2d');
					context.beginPath();
					context.rect(x,meuCanvas.height >>> 1,3, (Math.random() *Math.pow(7,2)) - (meuCanvas.height >>>1) + 100);
					context.fillStyle = "#779AC4";
					context.closePath();
					context.fill();
				}
				if (x < meuCanvas.width){
				x += 5;
				}else{
					alert("completou o gráfico");
					clearInterval(cronometro);
				}
			}
	 </script>
    <meta charset="UTF-8">
    <title>HTML 5</title>
  </meta></script></head>
  <body>
    <p>Uso de Canvas para criar gráficos de barra</p>
 
	<canvas id="canvasContainer" width="700" height="500">
      <!-- Basicamente você vai usar Javascript igual como se usa a API do Flash para desenho -->
      <p>Você pode escrever isso caso seu usuário não tenha um navegador compatível e dizer que não suporta o Canvas</p>
    </canvas>
  </body>
</html>

O exemplo acima simula a criação de um gráfico de barra, podendo ai você colocar em um dashboard complementar que você venha a construir. Porém mesmo gastando pouco mais de 30min para fazer esse exemplo eu percebi que exitem diversos outros exemplos, que você pode usar como base para testar seus conhecimentos e ver o quanto burro você foi em não aprender trigonometria na escola.

Outra novidade interessante que o HTML 5 vai proporcionar para o pessoal de Web standards, é a possibilidade de se conectar com sockets, Existe um famoso chamado Node.js que faz isso bem fácil e pode te ajudar a entender muito bem como vai rolar, Eu sei como funciona conexão com sockets, então fui investigar e é 90% igual como é feito em qualquer linguagem de script, seja ela Js, Actionscript, AppleScript.

Outra mudança significativa foi a possibilidade de sincronização offline, você como desenvolvedor pode deixar o usuário preenchendo o cadastro mesmo que a conexão tenha caído e depois quando ele entrar no site, sincronizar o que ele havia deixado em aberto. O que me preocupa nesse sentido é a especificação de segurança nesse ponto. Coisa que ainda não está totalmente definida e tem pouco assunto sobre o mesmo.

Se você pensa que jamais será localizado quando navegar na internet, você se engana, o futuro é hoje nesse quesito, você pode visitar um site e ele pode pedir sua localização, igual como é feito com seu Android, iphone, Nokia phone, blackberry, só que agora é mais uma função nova do navegador do que em sí uma função do HTML 5. Já era hora deles terem soltado uma especificação nesse sentido para os fabricantes de navegadores. O grande problema é que a precisão disso está ligado apenas ao seu ISP e não ao seu IP. Eu acredito que isso possa ir amadurecendo com futuras versões.

Integrando também recursos de multimidia como simples sintaxe para vídeos e audio. Por enquanto para audio os formatos aceitos são mp3 e ogg. E o tag de video apenas suporta videos com padrão MPEG-layer 4 (.mp4), H.264, Speex, AC,etc. O que para mim é um ponto bem complicado quando se tem diversos codecs e diversos navegadores, atualmente apenas o Chrome suporta MPEG-layer4 já o firefox e opera apenas ogg, speex etc. O que torna a vida de quem vai criar o video complicada por que terá que ainda criar javascripts para detectar o navegador e para nao criar 2 tipos de videos, fazer o swap entre um player nativo ou um player de video com Flash.

Aqui é um exemplo típico de player HTML 5 nativo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< !doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>HTML 5</title>
  </meta></head>
  <body>
    <p>Uso de vídeo com HTML 5</p>
 
  	<video width="854" height="480" preload controls >
    <source src="meuvideo.mp4" type='video/mp4'/>
    </video>
  </body>
</html>

E para o audio, a mesma coisa me preocupa, atualmente apenas mp3 é suportado pelo Chrome, no firefox suporta apenas ogg vorbis. Tem algumas técnicas que voce adiciona ou faz o transcode nativo para ogg, mais para usuário final, ninguém vai querer fazer transcode de cada musica para ouvi-la. Ele se preocupa apenas em dar o play.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
< !doctype html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>HTML 5</title>
  </meta></head>
  <body>
    <p>Uso de musica com HTML 5</p>
 
  	<audio controls="controls">
    <source src="musica.mp3" type='audio/mp3'/>
 
  </audio></body>
</html>

Por fim, chegamos a parte de mudanças. Eu abreviei ao máximo para não ficar cansativo, se você chegou até aqui, parabéns, você é meu leitor preferido. A próxima parte eu chamo de “Competitividade”.

Competitividade
Embora o HTML 5 tenha trazido recursos interativos para o usuário final e coisas bem legais para o desenvolvedor eu ainda vejo que tem muito caminho pela frente, que na situação atual já se pode fazer coisas legais com ele, não tão avançadas como outras tecnologias já conhecidas e competitivas dele o SilverLight e o Flash.

Então, como eu vejo isso na competitividade atual e daqui para os próximos 5 anos? Eu vejo que tanto para o lado do desenvolvedor quanto para o lado do usuário, teremos coisas boas. Por que entre eles HTML 5, Silverlight, Flash e outros, eu percebo que a parte que falei evolutiva desse artigo vem a encaixar perfeitamente no que escrevo agora. Você poderá ver exemplos como o “Muro” um aplicativo feito pela DeviantArt, lhe chocando, porém se você for ver outros concorrentes como o que o pessoal da Aviary.com faz, você fica na dúvida de qual é o melhor e qual deles vai vencer na concorrência.
Eu tenho certeza que nenhum vai ganhar do outro. Todas as tecnologias vão ser alternativas, não terá mais essa preferência de “só flash”,”só silverlight”,”só html5″, quem vai decidir o que usar no final ou é o cliente ou é o usuário final. A web precisa de diversificação de espécimes como essas, não dá para ter apenas uma tecnologia predominante, tem que existir várias, onde-se é possivel manter em armonia ambos os ninchos existentes. É ai onde eu entro com o próximo tópico que chamo de “Vendedores”.

Vendedores

Cada um sempre quer vender seu peixe, e por mais que você do time do web standard queira ver por outro lado da moeda, você deve concordar comigo a segregação de cada um dos vendedores em uma especificação ainda em andamento e a fragmentação das implementações. Empresas que tem 100% de suas ações voltadas para produção de conteúdo web como o Google vão sempre sair na frente em consolidação das implementações, tanto é que o Chrome é o único navegador existente que suporta todas as especificações já definidas, coisa que outros até mesmo a Apple ainda não suporta.

Fato tal é que me preocupa nesse cenário, eu fico ainda cometendo os mesmos erros e com medos dos antigos fantasmas da web de 1997. Onde terei que ter jogo de cintura para lhe dar com a interoperabilidade das versões do navegador. Pergunto eu? Eles apenas se interessam na semântica da linguagem e não na semântica do navegador? Mesmo já tendo ouvido que navegador era coisa do passado. Eu acho que ainda teremos por muito tempo navegadores e por muito tempo vendedores implementando novas funções DOM para que facilite a vida do usuário e seu peixe venda mais rápido que o do vizinho. Assutador como desenvolvedor não?

Uma vez que eu tenho essa preocupação, você viu que em “mudanças”, grande parte é relacionada ao navegador, colocando mais poder ao DOM de interpretação e não na linguagem em si. Seria esse um calcanhar de aquiles que eu vejo em questões de compatibilidade? Eu só aposto nisso daqui à 10 anos para ver se realmente mudou ou se continua como está, já que não só de desktop vive mais a web.
É onde agora entro na última parte do artigo que falo sobre aplicações Web e HTML 5. Chamo ela de continuação.

Continuação

Depois de ter analisado, cansavelmente todos os exemplos que eu pude achar sobre o assunto, estudar e ver que ainda eu preciso esperar um pouco, quem sabe 1 ou 2 anos para ver realmente coisas prontas, eu falo isso por que minha vivência em mercado corporativo é grande, e se tem uma coisa que o pessoal que paga seu projeto odeia é algo como “working in progress” ou não homologado. Enquanto não for homologado seja aqui no Brasil ou lá fora o HTML 5 ainda não vai entrar nesse mercado, o que pode demorar a incomodar outras tecnologias do tipo como Flash/Flex.
Principalmente orgãos do governo que temem por segurança, e estabilidade de uso.
Terei a certeza que será amplamente usado em material de propaganda, start-up’s, aplicativos web para celulares como o Sencha onde o clico de vida de uma aplicação não tem tanta burocracia como os demais.

Posso investir nisso? Se você é curioso sem dúvida, você nunca sabe de onde a próxima oportunidade virá. Como você, eu sempre procuro estudar novidades e o HTML 5 como a plataforma Flash são as minhas preferidas, nem uma e nem outra ao meu ver competem em sí, ela trás apenas alternativas, tais alternativas me impressionaram.
O HTML 5 pode até ser aplicado atualmente em aplicações Web, mais eu prefiro por enquanto ficar com o JQuery. A parte mais dificil para mim escrever isso, podem apostar, foi não falar do Flash/Flex, não dizer quem é melhor que quem. Coloquei as diferenças ao lado e me posicionei como um novo desenvolvedor querendo aprender novidades.

E disponibilizo abaixo links da minha pesquisa, quero ouvir de você seu ponto de vista.

Links da pesquisa:

Dicas/ Eventos/ Flex/ Notícias/ RIA

Flex Mania 2010 – Tô dentro!

fxmania

Uffa! Finalmente sobrou um tempinho para passar pelo blog e deixar um recado para vocês. Nos próximos dias 8-10 de julho deste ano será realizado mais uma vez o Flex Mania. É um evento on-line que reune grandes nomes da comunidade Nacional e Internacional da plataforma Flash organizado pela RIACycle. Trazendo para você caro leitor e desenvolvedor as novidades da plataforma Flash.

Esse ano trouxemos grandes nomes da comunidade internacional e algumas revelações desse ano, veja a lista de quem palestra esse ano:
Erko Bridee, Mário Júnior, Leonardo Sobral, Carlos Eduardo, Igor Musardo, Janderson Fernandes Cardoso, Fábio Vedovelli, Paulo Miyashiro, Leonardo França, Eric Cavalcanti
Beck Novaes, Demian Borba, Marcelo Duende, Stefan Horochovec, Pedro Claudio, Shashank Tiwari , Claus Wahlers, José Fiel, Michael Plank , Mark Piller, Gabriel dos Santos, João Augusto Zaratine
Francisco Brianezi, Guilhem Ensuque,Samuel Asher Rivello.

As novidades desse ano são:

  • 3 dias de evento
  • Capacidade de 600 pessoas no auditório virtual
  • Patrocinadores
  • Aproximadamente 30 mil reais em premiação
  • Topicos atuais da plataforma

Prêmios:
Trouxemos esse ano, patrocinadores, como Adobe, Mundo Livre, IdeaValley, RIACycle, PowerFlasher para o evento. Sem eles não seria possivel reunir quase 30 mil reais em prêmios que serão distribuidos para os participantes em regime de sorteio durante o evento.

Alguns produtos sorteados são:
Quantidade

Premio
quantidade Prêmio
01 Pacote Adobe CS5 Master Collection
04 Adobe Flash Builder 4 Premium
06 Pure FDT Actionscript 3.0 Editor
01 FDT Professional Actionscript 3.0 Editor
02 DVD’s do filme Avatar
06 Camisetas do Flex Mania 2010
02 Bolsa de estudo no curso on-line Adobe Flex 4 Essencial da RIACycle
02 Bolsa de estudo no curso on-line Flex 4 e Zend Framework da RIACycle
02 Bolsa de estudo no curso on-line Flex 4 para Desenvolvedor Java da RIACycle
05 Bolsa de estudo no curso on-line Adobe AIR 2.0 Essencial da RIACycle

É um grande evento, mesmo sendo on-line com todas essas caracteristicas, conto com a presença de todos vocês. Eu tô dentro!

Flash Builder/ Flex 4/ Notícias/ RIA

Flex 4 oficialmente lançado

Se você segiu alguns posts relacionados ao Flex 4 mesmo que timidamente e a palestra sobre “40 grandes novidades do Flex 4 no Flashcamp Brasil”, sinal que você ja vinha acompanhando a evolução do Flex 4 e Flash Builder.

Ontem de madrugada como é de costume, automaticamente foram publicados as atualizações do produto. tanto no Flex.org e Flex.org/showcase quanto no site da Adobe www.adobe.com/devnet/flex e www.adobe.com/go/flex.

Existem diversas novidades, dentre elas:

Suporte a uma nova arquitetura de componentes Spark
Flex Builder agora é chamado de Flash Builder
Componentes legados do Flex 2 e 3.x suportam no Flex 4
Compilador do Flash Builder está 4x mais rápido que o anterior
Novos componentes adicionados ao Spark framework
Nova maneira de trabalhar com States
Novo framework de animação.

Então tudo que você tinha até então no seu Flex 3. Prepare-se por que de uma maneira geral 50% do seu código terá que ser re-escrito para suporta o novo Spark caso você venha utilizar.

Não foi dessa vez que ela já adicionou suporte ao desenvolvimento do framework Slider, aquele que será usado para criar aplicativos ricos para iPhone, Android e Blackberry. A Adobe com toda certeza lançará isso em um suave update para os próximos meses.

Para estudantes universitários e desempregados que queiram ganhar uma licença do Flash Builder 4. Podem pedir diretamente no site flex.org.

AIR 2.0/ Flash/ Flash Lite/ Flex/ Flex Mobile Framework/ Open-source/ RIA/ Slider Framework/ Symbian

Flex e AIR para dispositivos móveis brigando contra o bixo papão

Já haviamos comentado aqui no site, que a Adobe estava trabalhando em versões do Flex e AIR para dispositivos móveis.
Essa semana a coisa esquentou, mesmo sendo no Brasil uma época em que todos os olhares estão voltados para a maior festa brasileira “O Carnaval”, algumas pessoas já devem saber da notícia via twitter ou pela lista de discussão.
Foi ai que decidir escrever alguma coisa mais completa, detalhada e que lhe ajudasse a entender melhor quais os principais desafios existentes hoje na plataforma Flash Player e AIR. Durante o texto quando me referir à FP significa que estarei me direcionado ao Flash Player , interop à interoperabilidade, GC ao Garbage Collector e Mobile para qualquer dispositivo móvel, celular, tablets, smartphones.

As mudanças

De 24 meses para cá houve-se uma mudança grande na maneira como as pessoas interagem com aplicações comerciais, tais ações são impulsionadas por toques visuais, realidade aumentada, projeções sobre qualquer superficie, interop entre diversos tamanhos de telas.
Para se ter uma idéia do grande problema, tente criar um design ou um simples site que seja visualmente fiel em TODOS os navegadores existentes no Mundo. imaginou? Fez aquela cara de “é???”. É bem por ai que começa os desafios.
E um dos grandes desafios do projeto Open Screen project é fazer com que outras tecnologias tirem vantagem do FP, já que a idéia do projeto Open Screen Project é fazer com que você escreva para uma única plataforma (FP), e ela seja auto escalonada para qualquer outra plataforma sem se preocupar com resolução de tela.
No ambito geral, o projeto open screen project que facilitar a vida do desenvolvedor e habilitar outras indústrias de criação de conteúdo e fabricação de bens de consumo duráveis, tirar projetos da experiências ricas criadas com o FP.

Telas diferentes
Tal iniciativa do openscreen project tem ajudado bastante ao time de engenheiros do FP e do AIR runtime à adotar uma estratégia singular colocando a plataforma Flash em um ambiente não apenas voltado para monitores, mais também para dispositivos móveis, telas sensíveis a toques, projeções, realidade aumentada.

Voltando ao tamanho de telas, imagine o seguinte, existe hoje smartphones diferentes em tamanho e funcionabilidades, a mesma coisa acontece nos monitores de mesa, que vão desde 9″ até 60″ onde o FP é testado.
Agora no mundo dos telefones, há uma grande diferença entre não só resolução mais área tangível, sensível ou não ao toque, rendenização, matrix de pixels, leds, lcds, existe uma inifinidade de mudanças que agravam e muito o desenvolvimento de uma experiência rica para celulares.

Um exemplo disso é a foto abaixo, que foi retirada do site mobiforge.
screen_sizes_small

A grande jogada é que no mundo PC/MAC muitos usuários tem uma resolução média aplicável, por exemplo 1024×768, tendo isso em mão é fácil escalonar qualquer experiência para o usuário, seja ela feita em Flash /Flex / AIR / HTML. O dificil ocorre quando esse âmbito é mobile, como comentei acima.

Tais dificuldades geram um enorme esoforço em fazer funcionar tudo em uma API que torne simples e que da mesma maneira que você usa em PC você possa usar para TV, HTPC,PC, Tablet e Smartphones.
Ai é onde entre o tal do bixo papão.
Em outras plataformas de desenvolvimento é uma mão de duas vias, você ajeita em um canto e do outro acaba desajeitando o que você havia feito. Como é o caso recente onde o youtube não aguentava mais consertar o suporte para o IE 6 que acabou bloqueando o site para quem usar o IE6 e pedindo para que quem tiver ainda essa raridade, atualizasse para uma versão mais nova e com menos riscos.

Do nível de execução

Outro bixo papão do nível dispositivos móveis é a tal capacidade de processamento. Em média hoje no Brasil um PC popular possui 1GB de RAM, Processador 1.2Ghz, HD de 80GB e tela de 15″. Esse é o padrão de mercado Brasileiro, tendo isso em mente eu consigo gerar grandes experiências sem ter que perder na qualidade final.
No mundo de dispositivos móveis a coisa é totalmente diferente do que você está acostumado a fazer, já que o padrão de mercado atual é 133Mhz de processamento, 64kb de memória e 168kb de HD, levando em consideração as configurações padrões existentes.
O que deve levar que quando se desenvolve experiências ricas para o usuário final que tenha um celular, você deve levar em consideração esse fator de “padrão do mercado” em conta. À não ser que você desenvolva para um padrão já específico que é o caso do próximo bixo papão “Plataformas”.

Quando se trata de desenvolvimento para mobile, você tem que tratar o FP ou AIR com carinho respeitando muito o GC de ambos, uma mão na roda era se você pudesse ler esse documento. Que a Adobe descreve como boas práticas para desenvolvimento móvel com FP e AIR.

Esse sem dúvidas é um grande bixo papão de desenvolvimento para mobile, aproveitar o máximo que o mobile tenha e não prejudicar o ambiente no geral que ele tenha. Afinal celular é também feito para conversar.

Plataformas
Ou grande bixo papão para desenvolvimento Mobile é os sistemas operacionais, cada empresa tem seu próprio sistema operacional ou usam um sistema operacional de código aberto e acaba protegendo desenvolvedores que usam sua própria linguage de programação e se fechando em copas para outras plataformas mais interativas que agrege valor ao conteúdo final.
Exemplo disso é o Symbian, BlackBerry, iPhone OSX. Acabam atrasando o desenvolvimento de novas funções e limitando certos tipos de funcionabilidades para a plataforma FP.

Como é de costume, quem não se abrir acaba sendo engolido pela evolução madura do mercado. Foi pensando nisso que a Symbian recentemente lançou recentemente mão do código fonte do seu sistema operacional para que outros desenvolvedores ajudassem a evoluir a plataforma. Como outro caso de grande sucesso é o da Google, o Android é um OS já open-source e ovacionado por diversas empresas criadoras de dispositivos móveis, eu não falo só em HTC, falo em Sony Erickson, Nokia, LG, Xperia, Helio, Motorola. Todas essas empresas gigante do mundo dos celulares e/ou dispositivos móveis viram que era melhor usar uma plataforma open-source à que usar uma fechada.

A grande barreira do OS aos poucos é quebrada e inclusive ganha motivadores aos desenvolvedores que tem habilidades em desenvolver para aquela plataforma em específico. Não é atoa que a Apple tem o melhor programa de desenvolvimento para seus desenvolvedores para o iphone e ipod touch. Eu não tiro a razão dela em bloquear o o FP para seus smarts phones, mais ao mesmo tempo ela vem a calhar na própria evolução do mercado e faz o “usuario final pensar” Por que não posso ver um site em Flash em meu dispositivo móvel pagando o mesmo preço em outro que toca?
Usuários finais eles sim, são os gerentes e os clientes, onde dedicem qual plataforma ou dispositivo móvel vão usar.

Sem dúvida a Adobe e Apple estão trabalhando em conjunto para trazer o FP ao iPhone/iPod e iPad de forma sustentável para ambas as companhias. Segundo últimos comentários do Tinic Uro um dos grandes engenheiros do FP, o FP para MAC agora é basicamente uma aplicativo 100% escrito em Cocoa/Objective-C. O que prova que a maturidade do FP se adaptar em qualquer plataforma chega a um nincho que é mera medida de tempo.

Já que o grande problema em não ter o FP no iPhone foi erro disproporcional e acabou levando uma coisa a outra. Toda essa “guerrinha” é pura encenação e acredito que logo logo isso será resolvido da melhor maneira possível, agradando não só ao desenvolvedor de ambas as empresas quanto aos usuários finais que poderão ver o conteúdo feito em FP.

Interop entre as plataformas

Outro grande fator que leva ao atraso de adotar o FP e o AIR aos dispositivos móveis é a diferenciação entre as plataformas. Cada uma possui comportamentos específicos e não seguem um padrão exigente como é escrito hoje na esfera WEB. Cada uma possui comportamentos singulares, por exemplo a maneira como o Acelerometro do Android possui é diferente do Acelerometro do iPhone. Os comportamentos são iguais, mais a maneira que eles fizeram cada é que é diferente.
Onde o FP precisa se adaptar e criar apenas uma única API simples que tire vantagem disso e aproveite todo esse potencial que se tem e crie uma experiência para o desenvolvedor final usando uma única API e único código para diferentes dispositivos.

O Flash CS5 é uma das grandes novas apostas da Adobe para isso, Ela demonstrou que está levando muito a sério em portar de forma elegante o AIR e o FP à dispostivos móveis. Como foi visto do Mobile World Congress, no blog do Ted você consegue ver que já é possível rodar AIR e FP no Android tanto no navegador quanto como aplicativos nativos.

Esse mesmo AIR 2.0 Beta 2 você já pode começar a experimentar essa fluidez, porém para testar de fato no dispositivo você vai ter que aguardar um pouco mais de tempo até eles lançarem todas essas novidades no MAX 2010.

Ferramentas de cross-compile:

Existe hoje ferarmentas no mercado que já faz o seu código em AIR / Flex virar uma aplicação nativa, como é o caso da empresa Open Plug, que resolveu sair na frente e lançar uma IDE junto ao Eclipse e que use o mesmo SDK do Flex com algumas modificações para fazer a cross-complicação do seu código feito em AS3/MXML para código nativo da máquina.

O bixo papão disso, é o resultado final. Você passa a não ter controle do que está indo dentro dos binários distribuidos e pode vir a ter sérios problemas de portabilidade e maturidade no futuro. Por exemplo. eu nao arriscaria fazer um produto que fizesse cross-compile no atual momento até chegar Outubro desse ano. Já que muitas definições serão tomadas nesse tempo e muitas mudanças cheguem a ocorrer.
Ok, você pode pensar que tais mudanças não afetariam o código escrito em AS3/MXML, olha não teria certeza quanto a isso, já que a cada mudança sempre sofre com nomeclatura de API, mudanças de nome de métodos, sintaxe, eventos. É coisa a se pensar. Pode começar a explorar, ver como é feito o processo. Porém comercialmente ainda não é o momento ideal. Principalmente quando se está forjando uma plataforma para dispositivos móveis.
A aposta do Open Plug com o Elipse é sem dúvida inovadora, você poder escrever em MXML e traduzir isso para plataformas Mobile como Nokia S60 3 e 5th geração é ótimo. Sem eu me preocupar nenhum pingo com C++. É fantástico ele fazer todo o trabalho sujo que teria que fazer. Porém até mesmo a própria Open Plug depende dessas decições do mercado.

Uma outra empresa que está apostando muito nessa Interop é a Appcelerator, não só voltada para o Flash e AIR, mais na Web como um todo, você faz a tradução da sua Aplicação WEB seja ela feita em JS/HTML ou Flash/Flex, ela consegue gerar instaladores nativos na plataforma alvo. Embora ela tenha a mesma fraqueza do Open plug em esperar a maturidade do mercado.

Esse é o grande Bixo papão de ambas, esperar um pouco mais para ver o que será definido daqui para frente, não tão longe assim, eu arriscaria uma solidez nesse sentido daqui uns 4 meses.

Flex Slider Framework, esse ainda vai demorar a sair, e acredito eu que vai surpreender a muita gente que desenvolve em Flex hoje atualmente, não só no Flex, mais ao todo como no geral.

Conclusão

Com tanta dificuldade de se gerar conteúdo para diferentes plataformas, diferentes telas, diferentes propriedades, eu tiro o Chapéu para o time do FP e AIR, não é fácil organizar todas essas diferenças em uma API interop que funciona da mesma forma que funciona em A ou em B.

AIR 2.0/ RIA

Adobe AIR 2.0 é uma run-time madura para desenvolvimento comercial?

adobe_air_icon
Essa é uma pergunta que eu queria ter respondido à 24 meses atrás. Quando o AIR era significativamente imaturo o suficiente para não ser tão adotado em empresas de médio e grande porte.
Porém, nossa perspectiva mudou muito ao longo do tempo e a cada novo release da run-time para o mercado. O que sem dúvida grandes dúvidas do passado, iam sendo sanadas e a cada mês que passava enxergávamos o run-time com outros olhos.
Passou-se todo esse tempo e fizemos essa mesma pergunta. Agora ele está pronto para soluções comerciais? A resposta é sim, entretanto, haja muita coisa a ser implementada que é assunto para outro post.

O AIR 2.0 está próximo de sair e diferente do que tinha em mãos assim que foi lançado. É como comparar água com vinho. Altamente diferente.

Exemplo disso foi o caso da Mundo Livre, nossa parceira. Onde criou o primeiro aplicativo AIR no mercado global a nível comercial. Sofreu muito com mudanças de API, embora o sistema se mostrou bastante satisfatório para época. Não é atoa que hoje todos os ônibus da Artesp são monitorados com sistema feitos em AIR+Flex+.Net. Eu tiro o chapéu para eles, afinal pioneirismo desde que criavam RIA com Flash MX, sempre tem sofrimento. Não foi muito fácil conseguir tal feito 24 meses atrás.

Apontarei então quais aspectos necessários e extras que já vão estar no AIR 2.0 atual.

O primeiro aspecto positivo nessa mudança é a palavra INTEGRAÇÃO; Não só por novas capacidades do run-time, mais pela integração dos clientes e desenvolvedores de outras plataformas, agindo diretamente em futuras decisões à serem colocadas do papel para a vida real. Como posso citar o caso da empresa RoundArch . Ela sem dúvida aumentou muito sua influência para contrair novas capacidades ao air. Exemplo disso é sua integração com os carros Tesla, que são produzidos para emitir 0% de CO2 na atmosfera.
Nessas, dimensões a Adobe parou de brincar com o AIR e levou ele mais a sério como um suposto futuro do Flash Player, que é a integração total com Desktop RIA e Web RIA.

O segundo aspecto dessa mudança foi a capacidade de detectar dispositivos móveis sendo retirados e montados. Típico do “espetar o pen-drive”. Essa sensibilidade estava sendo almejada à algum tempo pelo pessoal desde que fora lançado já que dar para fazer muita coisa com esse tipo de função. Exemplo é o caso do Dropbox onde você pode arrastar e soltar arquivos dentro de seu aplicativo sem precisar instalar e carregar para onde for, sempre sincronizado toda vez que você se conectar ao serviço deles.
Isso é fantástico, embora no framework .Net tenha isso que o foco é 100% desktop. Para um sistema onde há a possibilidade de escrever tal função usando a minha capacidade técnica de programar apenas na linguagem que eu for familiar, se tal familiar for HTML/Javascript, MXML, Flash ou Actionscript 3.0.

O terceiro aspecto que mudou bastante foi de segurança. Eu fui crítico assíduo desse aspecto. Principalmente quando se envolve aplicativos que lhe dar com missão crítica ou manipulação de valor monetário. Exemplo é o aplicativo da Nasdaq, que foi feito usando a plataforma AIR 1.5.3 à qual já possui sistema de encriptação de dados. Antes era um terror, o máximo era um sharedObject com MD5. Agora a coisa muda de esfera e passa a ter um run-time mais maduro. Já que antes, nesse post que fiz em inglês, era muito fácil disseminar vírus pelo AIR.
Essa falha grave foi logo consertada assim que lançaram de Apollo para AIR 1.0. Eu gostei da rápida resposta da Adobe em relação a esse item. Já que agora é fácil suportar certificados digitais e dar um pouco mais de segurança. Uma das grandes novas apostas no novo AIR 2.0 é justamente melhorar mais ainda a comunicação via HTTP/Rtmp/Sockets com muito mais segurança, colocando ai mais integração com sistemas nativos de autenticação. Podemos chutar que quem sabe o próximo aplicativo do Leão não seja feito uma versão teste em AIR? Dúvida?

O quarto aspecto que agradou bastante foi o fato de suportar gestos e multi-toque.Sem dúvida é um dos pioneiros nesse assunto. Já que outros fabricantes de software não falaram se haverá tal suporte em seus run-time. Abre um leque tão grande de novas aplicações multimídias, interativas, e diminui mais a barreira da questão do uso do teclado e mouse. Eu acredito que daqui 10 anos, mouse e teclado são peças de museu.

O quinto aspecto qualitativo dessa versão 2.0 é a interoperabilidade de impressão entre diferente sistemas operacionais. Por exemplo. O mesmo fluxo que é impresso no Windows pode ser igual ao Mac e Linux.

O último aspecto bastante interessante que o AIR 2.0 tem é a possibilidade de abrir arquivos do seu desktop com os programas padrão instalados em sua máquina. Por exemplo. Você lista um documento .docx e documentos do tipo .xls e em um duplo clique você pode abrir eles no Microsoft Word e Microsoft Excel. Valendo para qualquer tipo de arquivo, desde que o programa padrão que for usa-lo, esteja instalado em sua máquina.

Dentre outras novas funcionabilidades, o AIR 2.0 se mostrou maduro suficiente para entrar de vez no mercado de IT e criar soluções não parrudas, mais soluções funcionais que ajude empresas a utilizar mais e mais a internet e melhorar sua produtividade com novos sitemas. Ficou com alguma dúvida, envie sua opinião. Ela sempre é bem vinda.

Cursos/ Dicas/ RIA

Últimos dias para o Mini curso AIR 2.0 Essencial

Está chegando a hora. Será nosso segundo curso on-line dedicado as tecnologias que trabalhamos diariamente. Tenho algumas vagas disponíveis.

Uma idéia de 100 vagas disponibilizadas apenas 5 estão livres. Então se você quiser participar essa semana até quarta-feira será o último dia aceito para inscrições.

Você pode navegar pelo site dedicado ao curso por aqui.

Quero agradecer a todos os nossos queridos alunos.

Dicas/ Eventos/ Pessoal/ RIA

O poder da tribo Flex Brasil

Dia 06 de fevereiro, será realizado o Flex for Kids, um evento on-line, igual ao Flex Mania, só que com o propósito de ajudar crianças com deficiências, tais crianças são cuidadas por um instituto chamado Cotolengo, que tem a seguinte missão:

Nossa missão é acolher o portador de necessidades
especiais de qualquer idade, sexo, religião, visando a
promoção humana, a reabilitação e a integração à
sociedade.
Valorizar a promoção humana através de princípios
morais e religiosos.

Ou seja, dar valor a vida do próximo em que cada vez mais há o que chamamos de “olho cego”, incapaz de sentir alguma coisa por uma pessoa. Porém meu intuito neste post não é apenas falar do Instituto Cotolengo, mais sim falar da comunidade Flex-Brasil.

Hoje o Flex no Brasil é o SEGUNDO país do mundo em maior número de desenvolvedores, interessados existentes, colocando para trás India, UK, Italia, França e Canadá. Países caracteristcamente notórios nessa área de desenvolvimento.

Sendo a segunda maior comunidade mundial de desenvolvimento Flex, e com tão poucos eventos por que ainda você reclama?

Geralmente eu recebo e-mails com alguns universitários reclamando que não há divulgação nas faculdades, onde o Flex é mal conhecido ( Eu concordo), onde há algumas necessidades para ontem, como por exemplo colocar em cursos onde a cadeira paga é UX ou Interface de software para cursos de engenharia de software.

Só que ao contrário do que já foi dito, eu me pergunto, Como podem reclamar de falta de eventos se quando há novos eventos no calendário ninguém chega junto e ajuda de verdade?!

Eu me refiro agora ao Flex for Kids, que é mais um evento no calendário Brasileiro para desenvolvedores da plataforma Flex, onde nesse exato momento dos 3 mil inscritos e participantes da Flex-Brasil tem pouco menos de 100 doações para o evento.

É falta de grana? Aposto que você gasta com cerveja o mesmo valor em 1 final de semana. É falta de compaixão? Duvido você não ser humano.

Qual o problema então? Doar R$30,00 reais e ficar sético em não saber onde o dinheiro foi parar?

Amigo ou amiga leitor, se você confia em mim, posso apostar que todo o dinheiro arrecadado não será desviado, será entregue a quem realmente precisa, a quem realmente adoraria curar um pouco dos problemas em um ambiente mais apropriado.
Eu garanto que não entraria em um evento que fosse furada, e pela lista de palestrantes do evento, você não pode ficar se queixando.

Ajude-me arrecandando mais. Internamente decidimos atingir uma meta de R$15.000,00 em doações. É um alvo bem pequeno comparado a outras campanhas de doações feitas, onde se envolvem milhões.

E até o presente momento conseguimos pouco menos de 1/3 desse valor já dos inscritos.

Depois de tudo isso e você ainda não se empolgou e doou para participar do Flex for Kids? Assista o vídeo abaixo, e automaticamente o ponteiro do seu mouse vai clicar no link logo abaixo do Play onde diz, Fazer a doação e participar, Duvida? Faça o teste e depois deixe um comentário aqui.


Fazer a doação e participar

Obrigado pela sua ajuda!