logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Nov 23

Definindo a Interface Orientation em aplicativos para IPad

Escrito por DClick Team em 1, 4, 6, Aplicativos, app, apple, AR, arte, auto, back, BI, blog, class, codec, código, código fonte, control, Controles, demo, Desenvolvedor, desenvolvedores, Download, exemplo, flash, fonte, for, FullScreen, git, ide, IE, if, image, int, interface, iphone, Java, Mac, mg, O, Office, on, Orientação, Outros, programação, pt, RIA, Ria’s Geral, screen, Screencast, Sem categoria, swf, TAT, Touch, tv, Twitter, UI, UX, Ved, wave @ 11 23rd, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Com o lançamento do iPad pela Apple, e a necessidade de adaptar os aplicativos existentes para o iPad, os desenvolvedores encontraram alguns desafios que antes não eram percebidos quando desenvolvendo para iPhone ou iPod Touch.

Todos os devices da apple possuem o acelerômetro e através dele nossa iteração com os dispositivos e aplicativos mudou completamente, saindo de algo “estático” para aplicativos que reagem conforme você posiciona o aparelho.

Essa funcionalidade já quase não é mais percebida nos aplicativos para iPhone, pois quase todos os aplicativos estão preparados para a visualização em Landscape e Portrait. Porém, devido ao tamanho da tela desse device, não existe grande diferença nessas visualizações.

Arrisco em dizer que grande parte das vezes em que rotacionamos o iPhone para Landscape é para ter uma maior área de visualização ou melhor acesso ao teclado para digitar textos mais longos.

Porém, com o iPad essa funcionalidade foi renovada. Alguns fatores como tamanho da tela influenciaram nessa mudança, afinal, com tanto espaço as informações podem ser melhores dispostas para o usuário.

Essa mudança pode ser percebida em grande parte dos aplicativos existentes no iPad, e sua disposição pode mudar da acordo com a necessidade.

Percebam, por exemplo, que para o aplicativo Settings não existe diferenciação entre Portrait e Landscape:

Já, outros aplicativos como Mail e YouTube possuem visualizações bem diferentes de acordo com a orienteção do device:

Mas, e quando estamos desenvolvendo aplicativos mais simples, que não irão possuir tantas formas de visualização, ou mesmo quando estamos aprendendo a trabalhar com esse controle de visualização, como podemos permitir ou bloquear que o aplicativo mude sua visualização?

Quando não estamos criando controles avançados de tratamento dessas visualizações, podemos ter alguns resultados indesejáveis quando o iPad é rotacionado, e toda a UI ser afetada, impactando a UX para o usuário.

Portanto, uma forma simples de permitir, por exemplo, que a aplicação não mude a orientação para Landscape é através do controller da view.

No controller podemos encontrar o método

1
- (BOOL) shouldAutorotateToInterfaceOrientation: (UIInterfaceOrientation) interfaceOrientation

Esse método sempre retorna YES, o que significa que ele sempre rotaciona a view de acordo com a orientação.

Podemos permitir quatro tipos de orientação:

  • UIInterfaceOrientationPortrait
  • UIInterfaceOrientationPortraitUpsideDown
  • UIInterfaceOrientationLandscapeLeft
  • UIInterfaceOrientationLandscapeRight

Cada orientação segue o posicionamento do device:

Então, caso nossa view deva responder somente ao modo Portrait e LandscapeLeft, devemos definir o método como abaixo:

1
2
3
4
5
6
7
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

return (interfaceOrientation==UIInterfaceOrientationPortrait ||

interfaceOrientation==UIInterfaceOrientationLandscapeLeft);

}

Qualquer combinação é válida, e caso todas sejam permitidas, devemos manter o método inalterado, conforme abaixo:

1
2
3
4
5
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {

return YES;

}

Mais detalhes:

O screencast abaixo demostra a criação de um aplicativo simples, com uma View, e como tratar a InterfaceOrientation com mais detalhes. Ao final do Screencast você deverá conseguir alterar os modos de rotação da forma que desejar, e assim aplicar o conceito em outras aplicações.

O código fonte gerado através do screencast pode ser baixado através do link: OrientationTest(zip)

Deixe seu comentário ou dúvidas.

Artur Fabri

@arturfabri

Nov 21

Programadores fazendo aviões, seria assim…

Escrito por Gabriel Versallini em 1, 4, 6, Access, app, AR, arte, BI, Carreira, class, Download, flash, FullScreen, IE, Java, Javascript, lista, Mac, O, on, pt, RIA, Ria’s Geral, screen, social, Software, swf, wave, zend @ 11 21st, 2010 | via http://www.versallini.com.br | Sem comentários
Gabriel Versallini
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »


Quem nunca passou por isso? Você não? Você é de onde? Marte.
Isso é uma situação normal para os programadores e analistas, sempre criando ou alterando o software já em uso. E acredite, o risco de “queda” pode ser como a de um avião mesmo.

Um abraço

Nov 16

Case Classes com Scala

Escrito por DClick Team em 1, 4, 6, Access, app, AR, auto, back, BI, blog, boolean, case, catch, class, classe, classes, codec, código, Desenvolvimento, DRE, Eclipse, eval, exemplo, explicação, flash, for, FullScreen, fundo, Google, ide, IE, if, image, int, internet, Java, Livro, Mate, mg, Motivação, mudanças, NaN, Number, O, on, operadores, pattern, Plugin, polimorfismo, print, problema, pt, RIA, Ria’s Geral, screen, Screencast, string, Sun, TAT, Tema, Teste, Tree, try, Tutorial, tv, Twitter, UI, uint, Vídeo, wave, XP, zend @ 11 16th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Vimos que Scala na verdade é uma linguagem puramente orientada a objetos, com conceitos de classe, instância, heirarquia e polimorfismo como Java por exemplo. Mas Scala traz também alguns conceitos próprios muito interessantes, que é o caso de Case Classes.

Case Classes são um caso de classes com regras pré-definidas em tempo de compilação, de maneira que se permita executar algumas outras operações sobre tais classes facilitando algumas modelagens, e ajudando na aplicação de algumas boas práticas. Vamos estudar mais a fundo o conceito de Case Classes nesse post. Usei como referência o Scala By Example do Martin Odresky, o qual citei em posts anteriores.

Para acompanhar o post, é muito recomendado alguma IDE de desenvolvimento de scala. Estou usando o scala-ide plugin para o Eclipse, que pode ser encontrado em http://www.scala-ide.org/.

Motivação para Case Classes


Eu gostei bastante do exemplo disponível no livro, por isso vou seguir a mesma idéia nesse post só que com as minhas palavras do que eu consegui aprender sobre assunto pesquisando um pouco mais na internet, e citando também as dificuldades que enfrentei.

Imagine que queremos modelar um interpretador de expressões matemáticas que são descritas em objetos do nosso domínio. Por exemplo, queremos interpretar o resultado de 1 + (3 + 7), e representando em nosso modelo, queremos obter algo como:

1
new Sum(new Number(1), new Sum(new Number(3), new Number(7)))



Uma maneira orientada a objetos de se implemetar tal domínio poderia ser algo como:

1
2
3
4
5
6
7
8
9
trait Expr {
    def eval: Int
}
class Number(n: Int) extends Expr {
    def eval: Int = n
}
class Sum(e1: Expr, e2: Expr) extends Expr {
    def eval: Int = e1.eval + e2.eval
}



A implementação é bastante limpa e nosso interpretador seria mais simples ainda:

1
2
3
4
object Inter {
    def inter(e: Expr) =
        e.eval
}



Se você assistiu o screencast sobre integração com Java, e JUnit rodando testes de Scala, você pode fazer um teste para verificar que nosso interpretador está funcionando corretamente:

1
2
3
4
5
6
7
8
9
10
11
12
package br.com.dclick
import org.junit._
import Assert._

class InterTest {

  @Test
  def testInter = {
    var res = Inter.inter(new Sum(new Number(1), new Sum(new Number(3), new Number(7))))
    assertEquals(11, res)
  }
}



Para essa modelagem, quando quisermos adicionar uma nova operação que pode ser interpretada, basta criar uma nova classe que extends Expr e pronto! Nada mais precisa ser alterado em nosso código, e nosso interpretador continuará funcionando.
Agora imagine que antes de executar a expressão, queremos imprimir no console de um jeito amigável a expressão matemática que está sendo executada. Nesse caso, de acordo com nossa modelagem, teríamos que definir em nosso Expr uma função print, para que todas as suas implementações definam o comportamento de tal função. Para isso temos que alterar o código em todas as classes que já existem, o que pode ser ruim dependendo do nosso sistema.

Aplicando Case Classes


Em Scala existe a definição de Case Class. Para criar uma Case Class basta adicionar o modificador case antes da definição da classe. Em nosso exemplo faça as seguintes mudanças:

1
2
case class Number(n: Int) extends Expr
case class Sum(e1: Expr, e2: Expr) extends Expr



Case classes seguem as seguintes regras:

1 – Possuem um construtor definido exatamente com o mesmo nome definido na classe. Em nosso exemplo:

1
def Number(n: Int) = new Number(n)



Dessa forma é possível escrever nossa expressão 1 + (3 + 7) da seguinte forma:

1
Sum(Number(1), Sum(Number(3), Number(7)))



Substitua no teste para ter certeza do funcionamento.

2 – Os métodos toString, equals e hashCode já estão implementados seguindo a definição da classe com seus atributos. Para nosso exemplo com Number, esses métodos já levam em consideração o atributo n, deixando de comparar os objetos por endereço de memória. Os operadores == e != também já estão definidos em função do equals.

3 – Todos os atributos passados no construtor possuem os métodos de acesso público já definidos. Em nosso exemplo, Number e Sum já possuem os seguintes métodos:

1
def n: Int


1
def e1: Expr, e2: Expr



Fato importante é que tais classes se tornam imutáveis, ou seja, não existe um método para alterar o valor dos atributos, e nem é possível definí-los.

4 – Case Classes podem ser usadas para pattern matching, que é uma operação disponível em Scala e que veremos agora.

Match, não Switch


Vimos que a classe base do Scala é o Any, e que todos objetos podem ser tratados como tal. Any define uma função que permite verificar o tipo de classe que está sendo tratado e tomar a atitude correspondente. Vamos ao exemplo que explica melhor o comportamento. Em nosso object Inter, mude a função inter para o seguinte:

1
2
3
4
5
def inter(e: Expr): Int =
    e match {
        case Number(n) => n
        case Sum(a, b) => inter(a) + inter(b)
    }



Rode nosso teste novamente e verifique que está tudo correto.
Para entender o que está acontecendo: estamos dizendo que um dos casos esperados é o caso em que e é do tipo Number, que recebe um parâmetro que chamamos de n. Note que não precisamos definir o tipo de n, pois o compilador consegue inferir baseado na definição do construtor de Number. Feito isso, n está disponível no contexto do case atual. Para nosso caso com Number, precisamos apenas devolver o valor de n.
No segundo caso, estamos esperando uma Expr do tipo Sum, que recebe dois parâmetros e que baseado no construtor definido na classe, sabemos que é do tipo Expr. Nesse caso devolvemos o inter de a somado ao inter de b.
Simples não? :)

Nessa nossa nova modelagem fica fácil adicionar uma nova funcionalidade ao comportamento das expressões, como por exemplo imprimir de maneira legível. Basta adicionar mais um método ao nosso interpretador. Claro que agora temos o problema adicionar um novo caso quando criarmos uma nova operação, mas a quantidade de código a ser implementada é consideravelmente menor.

Match é definida como uma função como qualquer outra em Scala, portanto pode ser atribuída a variáveis, ser devolvida como resultado e ser passada como parâmetro para outras funções. Pode-se também criar um bloco como o seguinte:

1
{ case Number(n) => n case Sum(a, b) => a + b }



e usá-lo como uma função anônima. Dessa forma será criado uma função match para tratar com seus casos definidos no bloco.

Exceptions


Veremos Exceptions mais para frente, mas perceba como funciona o bloco try/catch em Scala, e veja se há alguma semelhança com o que acamos de ver:

1
2
3
4
5
6
7
try {
    println
} catch {
    case npe: NullPointerException => print(npe.getMessage)
    case ioe: IOException => print(ioe.getMessage)
    case e: Exception => print(e.getMessage)
}



Pois bem, catch possui o mesmo comportamento de match para execeções.

Exercício


Vou me basear no exercício disponível no livro do Martin.

Considere que queremos implementar uma árvore binária ordenada de inteiros. E tome a seguinte implementação como base:

1
abstract class IntTree


1
case object EmptyTree extends IntTree {}


1
case class Node(elem: Int, left: IntTree, right: IntTree) extends IntTree {}


Agora complete a seguinte implementação dentro de IntTree:

1
2
3
4
5
6
7
8
9
10
11
12
abstract class IntTree {

    def contains (t: IntTree, v: Int): Boolean =
        t match {
            …
        }
   
    def insert(t: IntTree, v: Int): IntTree =
        t match {
            …
        }
}


Lembre-se que Node é imutável, e que é obrigatório usar Case Classes. Boa sorte :) !

A reposta está no screencast a seguir, junto com a explicação:

Vídeo em alta resolução.

Nov 14

Palestra: Formei, mas não sei NADA!!! #CafeAgilBH

Escrito por Edgard Davidson em .NET, 1, 4, 6, Access, app, AR, class, Download, event, Evento, Eventos, facebook, flash, for, FullScreen, ide, IE, Mac, O, on, Palestra, Pessoal, PHP, player, pt, Ria’s Geral, screen, swf, TAT, wave @ 11 14th, 2010 | via http://edgarddavidson.com | Sem comentários
Edgard Davidson
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Olá Pessoal.
Segue a palestra que apresentei no Café Ágil BH.
Neste link existem algumas fotos do evento.

Formei, mas não sei nada!!!
View more presentations from Edgard Davidson.
Nov 12

Usando Código Java em Scala – Exemplo JUnit 4!

Escrito por DClick Team em 1, 3d, 4, Access, app, AR, BI, class, código, err, exemplo, flash, FullScreen, futuro, int, Java, lite, O, on, pt, RIA, Ria’s Geral, screen, Screencast, TAT, Tutorial, tv, Twitter, UI, wave @ 11 12th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!


Reutilizando as Bibliotecas Java em seu código Scala


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

Nov 12

MOLE HILL – FLASH

Escrito por DClick Team em 1, 3d, 4, 6, Access, Adobe, Adobe Flex, Adobe Max, Android, api, Aplicativos, app, apple, AR, arte, Artigo, audio, Beta, BI, blog, Carreira, class, código, comunidade, conversor, Curso, Cursos, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, designer, Diversos, Download, engine, err, erro, Experience Design, Experiências, flash, flash media, Flash Media Server, Flash Player, Flex, for, Formação, framework, Frameworks, free, FullScreen, futuro, game, git, Gráfico, html, html5, ide, IE, if, image, int, Introdução, iphone, jogo, kit, labs, loop, Mac, Mercado, mg, mobile, NaN, novidade, Novidades, O, on, online, oop, Opinião, Outros, PHP, platform, player, procura, pt, RIA, Ria’s Geral, runtime, screen, SDK, server, site, Sun, swf, tag, TAT, team, Tech, Tecnologia, Tema, Teste, tv, Twitter, UI, UX, Ved, Vídeo, Vídeos, vs, wave, web, XML, XP, zend @ 11 12th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!


.

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.

.

Android

.

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.

.

Portanto quem também ganha com isso?

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:

.

Vamos agora a imersão, vamos aos vídeos:

.

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 :

.

.

Vamos a uns vídeos mais instrutivos:

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


Nov 12

Flex Messaging com BlazeDS

Escrito por João Augusto em .NET, 1, 4, 6, Access, Adobe, api, app, Apresentação, AR, AUG, bar, Blazeds, blog, class, control, Controls, Download, event, events, flash, Flex, fonte, for, FullScreen, function, handle, ide, IE, if, label, layout, Mac, Messaging, mg, MXML, O, on, PHP, player, pt, redeRIA, RIA, Ria’s Geral, screen, Sem categoria, swf, TAT, wave, XML @ 11 12th, 2010 | via http://blog.joaoaugusto.com.br | 2 comentários
João Augusto
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »



Slides e fontes da minha apresentação sobre Flex Messaging na Semana da Informática da UNIVILLE.

Semana da Informática UNIVILLE – Flex Messaging

View more presentations from zaratine.
<?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>

Nov 11

Orientação a Objetos em Scala

Escrito por DClick Team em 1, 4, 6, Access, app, AR, class, classe, classes, flash, for, FullScreen, IE, if, O, on, problema, programação, pt, RIA, Ria’s Geral, screen, Screencast, TAT, Tutorial, tv, Twitter, UI, wave @ 11 11th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!


Como programar Orientado a Objetos em Scala


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.

Nov 8

Scorecast: Aplicativo ensinado no treinamento da DClick que começa hoje

Escrito por DClick Team em 1, 4, 6, Access, app, AR, class, Desenvolvimento, developer, DRE, flash, Flex, FullScreen, Notícias, O, on, pt, RIA, Ria’s Geral, screen, Screencast, TAT, team, Treinamento, tv, Twitter, UI, wave @ 11 8th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

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.

Nov 4

Placar final do Game 02 do Agon

Escrito por DClick Team em 1, 4, 6, Access, app, AR, Balsamiq, blog, class, Componente, Componentes, flash, for, Formação, FullScreen, game, Mac, Notícias, O, on, produtividade, pt, Ria’s Geral, screen, TAT, tv, Twitter, UI, wave @ 11 4th, 2010 | via http://blog.dclick.com.br/pt/ | Sem comentários
DClick Team
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Twitter!

Abaixo todo os itens que deram pontos ao Leonardo:

Conhecendo o Balsamiq

O papel do Arquiteto de Informação

Como aumentar a produtividade com pequenas atitudes

Conhecendo o Axure

Construindo componentes no Axure

« Entradas anteriores |

ACERCA

O que é o RedeRIA ?

O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2795 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

Feed: assine já
Twitter: siga-nos

GOOGLE

Votação


Deveria o RedeRia agregar conteúdo em inglês?
Ver Resultados

AUTORES


Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

PUBLICIDADE








Powered by Wordpress & msdevstudio.com