Olá Pessoal.
Segue a palestra que apresentei no Café Ágil BH.
Neste link existem algumas fotos do evento.
Olá Pessoal.
Segue a palestra que apresentei no Café Ágil BH.
Neste link existem algumas fotos do evento.
Por um instante eu fiquei preocupado com o futuro do Scala Corporativo, por pensar que todas as bibliotecas que existem para o Java, teriam que ser reescritas em Scala. Eu estava errado. Não só não é necessário reescrevê-las, como também é muito fácil utilizá-las em seu código Scala.
Vamos ver como no screencast a seguir, usando uma biblioteca própria, e também utilizando o JUnit 4:
Espero que agora desperte mais o interesse por Scala e facilite a sua vida para testar seu código.
Obrigado!
Por @Gust4v0_H4xx0r
.
Essa notícia é bem interessante, e no sentido real da palavra, de que nos interessa e muito, o Rafael Martinelli trouxe diretamente da MAX essa informação. Fiquei bastante impressionado com o MoleHill, motivo que me fez escrever esse post dando uma introdução sobre o assunto.
Estarei acompanhando com muito interesse o que estiver acontecendo nesse segmento e sempre que possível vou procurar trazer novidades sobre essa engine.
Mas afinal, o que é MoleHill?
“Molehill” é o nome de código para um novo conjunto de baixo nível, com APIs de aceleração GPU 3D que permitirá avançadas experiências em 3D nas telas através do Adobe ® Flash ® Platform runtimes.
Existem diversas comunidades, frameworks para desenvolvedores poderem ampliar seus horizontes na criação de aplicações 3D, como Alternativa3D, Away3D, Flare3D, Sophie3D ou Yogurt3D.
Durante a AdobeMAX um vídeo muito interessante foi apresentado para os participantes, ele mostra um jogo em 3D com gráficos mais apurados, algo que não deixa nada a desejar a consoles físicos para games, e que, talvez não fosse nada fantástico o vídeo abaixo se o game não estivesse rodando em um FlashPlayer.
Impressionante ver o que a Adobe fez, e contrariando muitos que dizem que o flashplayer requer processamento da máquina, a Adobe fez um game com uma estrutura potente e que requer ZERO, isso mesmo, ZERO de processamento da CPU, utilizando somente a placa aceleradora.
Confira o vídeo antes de continuar o artigo.
.
De acordo com o anúncio feito pela Adobe, no primeiro semestre de 2011, (quando em versão pública beta) a versão do Flash Player irá suportar essas novas APIs, bem como também acontecerá uma atualização do Adobe Flex SDK. Para obter mais informações leia atentamente o Molehill faq:
http://labs.adobe.com/technologies/flash/molehill/#faq
Para a maior parte das suas dúvidas você com certeza encontrará as respostas aí nesse link, portanto vou me fixar a falar das possibilidades de algo assim.
Não será novidade pensar que milhares de desenvolvedores começarão a criar seus games, mas não é só de game que vive o homem, apesar de ser muito bom é claro. Essa engine nos dará possibilidades de experimentar de fato uma nova era da web em 3D. Lembramos que o shockwave não deu certo, não emplacou, mas pelo visto a Adobe aprendeu com o erro e fez uma engine de qualidade, a cada dia mais e mais computadores saem de fábrica com placa aceleradora 3D, ao ponto que isso está se tornando comum, se essa engine é a primeira fase, podemos esperar muito pelo que esta por vir.
Pense nas aplicações 3Ds que poderão ser desenvolvidas, pensem em um showroom virtual, hotsites etc, tudo aquilo que era feito antigamente com as piores gambiarras possíveis, hoje poderá ser realizado com qualidade.
Sou suspeito para tecer elogios a Adobe visto que sou um entusiasta, fiz minha carreira em cima de todos os seus sofwares, e claro, da Macromedia, que hoje é Adobe… portanto fico feliz em saber que ela nunca abandonou o Flash, e mais que isso, se empenhou em criar inclusive um conversor de SWF para HTML5, fazendo com que os desenvolvedores Flash (vulgo flasheiros) não percam seu mercado, afinal, se Flash fará HTML5, certo é dizer que HTML5 nunca fará um SWF e nem chegará perto da qualidade, visto que essa tecnologia com todo respeito ainda está engatinhando.
Mas o assunto é MoleHill, vamos continuar falando de quem vai se dar bem nessa história toda na minha opinião.
.
.
Evidente, ela já se deu bem, e depois e todo o alvoroço e discussão sobre o Flash rodar ou não no Iphone fica aí um susto que a Adobe está dando a Apple, ou não, pois talvez a mesma já previa tal situação e portanto procurou evitar os games em Flash para poder alavancar a AppStore, sem entrar muito no tema, nem são os games 3Ds os mais vendidos na mesma (portanto nem sei porque da preocupação do Steve, talvez parcerias , enfim) mas… certamente essa é uma tecnologia fantástica que faz a Adobe novamente ficar a frente dos demais, como sempre esteve. Afinal, uma plataforma para desenvolvimento de games mais sérios, com suporte a joysticks, volantes etc, (nada pronunciado a respeito mas isso vemos nos vídeos, o volante do XBox sendo utilizado), combinado com um Flash Media Server, um ambiente de multiusuário, online, pode ser realmente devastador (no bom sentido) para o mercado como um todo.
Então não poderíamos deixar de falar quem é que mais ganha com isso.
.
.
O Android tem sido um parceiro do Flash simplesmente porque a Apple não quis ser no seu iOS, e a Adobe já se pronunciou a respeito dizendo que haverá acesso as APis 3D também para as plataformas móveis… fantástico, não só para games, mas como falei, para outros recursos de aplicativos.
A web sempre procurou introduzir o 3D, é uma tendência natural, também sou suspeito para falar do assunto pois sempre apostei no 3D e sou um 3Ddesigner também e obviamente amo o assunto e sempre acreditei que a experiência 3D é muito poderosa, pois ela trata quase todas as sensações visuais que o cérebro pode comportar, dando é claro maior realismo ainda que não haja muitos detalhes gráficos.
Posso dizer que consigo passar horas desenvolvendo algo em 3D sem me cansar, pois me sinto imerso no ambiente, mas não é a mesma coisa para desenvolver algo em 2D.
Enfim, o Android de fato vai se dar bem nessa história, vai abocanhar todo um mercado de 3D para mobile, com milhares de desenvolvedores famintos para migrar diversas aplicações e games prontos para essa engine, para rodar em Flash.
.
Os diversos frameworks que já citei.
.
Dentre eles eu aposto mais no AlternativaPlatform, me pareceu mais robusto, mais acabado inclusive, a maioria dos vídeos que trago aqui são desse framework, no mais, outras como Frare3D e Away3D também me parecem boas, mas como ainda não botei a mão em nenhuma delas fica suspeito comentar, em um futuro próximo farei alguns testes (como designer) e darei a minha visão. Mesmo assim, tanto designer como desenvolvedor terá uma gama de possibilidades bastando ver as suas necessidades, e ter várias opções nesse caso é muito bom.
Vou dar um foco maior a AlternativaPlatform, portanto veja o anúncio feito no blog da própria empresa sobre a Adobe Max.
http://blog.alternativaplatform.com/en/2010/10/16/alternativa-3d-is-free-see-you-at-adobe-max
Confira a qualidade do site:
http://alternativaplatform.com/en/
Uma breve introdução visual:
.

Confira outro vídeo, agora de uma visão externa mostrando o “jogador” do MaxRacer :
.
.
Outro vídeo da Alternativa3D:
.
.
Agora da Frima Studio (http://www.frimastudio.com/), que utilizou a engine usada para PSP do jogo Zombie Tycoon (http://www.zombietycoon.com/EN/index.htm) migrando para Molehill (sim fantático, não o jogo mas a possibilidade) :
.
.
Away3D :
.
.
O primeiro é a sessão de Sebastian (engenheiro-chefe na Molehill):
.
.
O segundo vídeo é da equipe Flare3D, apresentando o Molehill e suas vantagens:
.
.
Away3D e Alternativa3D teams (equipes), ainda sobre seus respectivos frameworks e vantagens:
.
.
E então a Pixel Bender 3D:
.
.
Bom galera, espero que esse post tenha sido uma boa introdução para conhecer o assunto, fiz uma pesquisa vasta para trazer as melhores informações sobre o tema e espero que tenham gostado.
Assim que tiver novas informações interessantes estarei postando, até lá se você também tiver algo a acrescentar não deixe de comentar aqui nesse post.
E que venha o mundo 3D na web.
_________________________________________
Eduardo Horvath é UX Specialist e Designer na DClick.
Formado pela Faculdade Impacta de Tecnologia no curso Design de Mídia Digital ele atua na área de Design a mais de 15 anos.
@eduardohorvath
Slides e fontes da minha apresentação sobre Flex Messaging na Semana da Informática da UNIVILLE.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" creationComplete="application1_creationCompleteHandler(event)" width="100%" height="100%">
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.messaging.messages.AsyncMessage;
import mx.messaging.messages.IMessage;
import mx.rpc.Fault;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
private function send():void{
var message:IMessage = new AsyncMessage();
message.body.subtopic = "Joao"
message.body.chatMessage = txtMessage.text;
producer.send(message);
txtMessage.text = "";
}
private function messageHandler(message:IMessage):void{
txtConversation.text += message.body.chatMessage + "n";
}
protected function application1_creationCompleteHandler(event:FlexEvent):void
{
consumer.subscribe();
}
]]>
</mx:Script>
<!--Responsável por receber as mensagens-->
<mx:Consumer id="consumer" destination="chat" message="messageHandler(event.message)"/>
<!--Responsável por enviar as mensagens-->
<mx:Producer id="producer" destination="chat"/>
<mx:TextArea id="txtConversation" width="100%" height="100%"/>
<mx:TextArea id="txtMessage" width="100%" height="100"/>
<mx:ControlBar width="100%" horizontalAlign="right">
<mx:Button label="Enviar" click="send()"/>
</mx:ControlBar>
</mx:Application>
Como funcionam classes, objetos e classes abstratas em Scala? Qual a solução para o problema do diamante adotada em Scala, e o que são traits?
Conceitos bem difundidos no mundo da programação orientada a objetos que também estão disponíveis em Scala com suas próprias peculiaridades. O screencast a seguir mostra o funcionamento de cada um deles, e como tirar proveito de alguns conceitos que não são novos, mas que estão disponíveis em Scala de forma bem definida.
Por vezes, quando estamos sobre pressão, ou menos atentos, esquecemos-nos, ou temos dificuldade em nos lembrarmos das coisas mais básicas.
No caso deste post, venho falar sobre o que representam certos atributos das variáveis que utilizamos no Flex 4 / ActionScript 3.0. Isto é um tema muito importante e temos de ter estes atributos sempre em conta se queremos ter as nossas variáveis acessíveis a classes dentro dos nossos packages ou se queremos restringir as mesmas a só poderem ser acedidas num determinado scope.
Sendo assim, aqui vai uma pequena descrição dos tipos de “accessors” que temos à nossa disposição no Flex 4.
public - Este tipo de atributo faz com que a nossa variável possa ser acedida por qualquer outra classe desde que faça referência à classe que a declara.
Exemplo – Se tivermos uma classe que queira fazer referência a uma variável estática que existe em outra classe, podemos utilizar:
var myString : String = MyEnumClass.MY_VARIABLE;
No caso de querermos aceder a uma variável dentro da classe que pode ir mudando ao longo do tempo (normalmente utilizado quando temos componentes criados por nós no Flex 4):
var mySecondString : String = myClass.myVariable;
private - Este atributo da variável diz-nos que a mesma só pode ser acedida dentro da mesma classe.
Exemplo – Definimos uma variável como private na nossa classe e acedemos à mesma.
private var myVariable : String = “MyVar”;
trace (myVariable);
protected - Este atributo diz-nos que a nossa variável só pode ser acedida pela mesma classe que a cria, por todas as que fazem extends dela.
Exemplo – Definimos uma variável protected numa classse que servirá de base e depois usamo-la na nossa classe que faz extends:
Classe 1 (BaseClass):
protected var myString : String = “myString”;
Classe 2:
Classe2 extends BaseClass
trace(myString);
internal - Este tipo de atributo define a nossa variável como podendo ser acedida pela própria classe que a criar e também por qualquer das classes que se encontram dentro do mesmo package.
Se tentarmos representar as diferentes possibilidades dos atributos das variáveis, cruzando-as com o sítio onde as declaramos, podemos ter uma representação gráfica de mais fácil compreensão.
Podem ver a implementação destes accessors nesta tabela:
| Code placement | Private | Internal | Protected | Public |
| Same class | Allow | Allow | Allow | Allow |
| Descendants of class | Deny | Allow | Allow | Allow |
| Classes in same package | Deny | Allow | Deny | Allow |
| Other package | Deny | Deny | Deny | Allow |
Conclusão:
Como podemos ver, se quisermos ter o nosso código muito bem estruturado e os nossos componentes muito bem definidos, temos sempre de ter em conta os atributos que damos às nossas variáveis. Isto porque, a simples definição de uma variável, pode fazer com que estraguem a nossa implementação da classe que pensamos que já estaria bem implementada. Convém sempre perder um certo tempo a pensar, definir, e estruturar todas as variáveis dentro do nosso código! Valem sempre a pena
Esta tabela e mais informação sobre o assunto podem ser encontradas no site da FLEX{er}.
Podem também ler sobre todos os tipos de variáveis no ActionScript 3.0, aqui , na documentação da Adobe.
Hoje começa o primeiro treinamento 100% DClick Team. Veja no Screencast abaixo o aplicativo que os alunos desenvolverão no treinamento:
Gostou? Não se inscreveu? Fique atento as próximas turmas do Treinamento RIA Developer.
Agradecimentos especiais a equipe que participou do desenvolvimento do Scorecast Andre Gil e Eduardo Horvath e aos instrutores desenvolveram o conteúdo Henrique Marino e Rafael Martinelli.
* Alta disponibilidade
* Segurança abrangente
* Gerenciamento simplificado de TI
O BPOS é composto dos seguintes serviços online:
Abaixo todo os itens que deram pontos ao Leonardo:
O papel do Arquiteto de Informação
Têm sido uns anos loucos para os projectos móveis do WordPress. Em 2008 anunciámos a primeira versão de uma app de WordPress, para que pudesse publicar em movimento com o seu novíssimo iPhone de primeira geração. Desde então, incluímos outras plataformas, como BlackBerry e Android. Hoje estamos muito contentes por poder anunciar que expandimos os nossos serviços móveis aos smartphones Nokia, também!
A notícia não podia ter chegado numa melhor altura para nós: Acabámos de ultrapassar 1 milhão de utilizadores móveis em todas as plataformas, o que é não só um marco importantíssimo para nós, como para o blogging móvel em geral. Os telemóveis estão a tornar-se verdadeiros computadores pessoais, sempre connosco e sempre prontos quando é preciso criar conteúdo no blog. Todos os dias são escritos milhares de posts, publicados com um teclado minúsculo e uma câmera incorporada. Pelo que nos toca, estamos sempre a tentar acompanhar a sua plataforma preferida. Temos já duas novas plataformas em vista mas hoje é o dia da primeira de elas. Apresentamos WordPress para Nokia:

Tentámos assegurar que a app de Nokia tem tudo o que gosta para o WordPress em qualquer outros dispositivo – irá encontrar velhos amigos nas suas funcionalidades: Pode escrever e editar posts, gerir a sua fila de comentários e dar uma vista de olhos às suas estatísticas. Se uma gaivota roubar a sua sanduíche, pode tirar uma fotografia do momento, ou até gravar um vídeo de como se sentiu e de quanto vai pedir de indemnizações. Tudo sem sair da app.
Pode fazer o download directamente da Nokia Ovi Store…
…ou visitar o site WordPress for Nokia site, onde encontrará mais detalhes sobre a nova aplicação.
Se desenvolve para dispositivos Nokia, pode também ajudar a melhorar a aplicação e torna-la ainda melhor! Todas as apps móveis de WordPress’s são Open Source. Se quer participar, não hesite em contactar-nos. Mais informação no site WordPress for Nokia Development.
Para se manter a par das mais recentes notícias sobre WordPress para Nokia, não de esqueça de seguir @WPNokia no Twitter!
Então, o que acha da nova app?