EventDispatcher nada mais é que um evento de broadcast para configurar Listeners (objetos “escutadores”) que recebem o Evento e chamam a função associada a ele. Um exemplo: se você já usou a classe Key, dá pra ver que não é difícil adicionar um Listener a uma tecla enquanto você configura eventos, como onKeyDown, para ver se determinada tecla já foi acionada pelo usuário. Bom, mesmo se você nunca ouviu falar de EventDispatcher, há uma grande chance de já ter usado componentes e funções que utilizam o addEventListener, e não há dúvida de que você já usou a classe EventDispatcher sem saber. Bom, o objetivo desse mini-tutorial é explicar um pouco o que está por trás dos conceitos e como essa classe pode ser útil em seus projetos.
EventDispatcher possui um grupo de Listeners para cada evento que dá broadcast. Ele é bom quando você precisa de Listeners diferentes para diferentes eventos. Outra coisa que devemos notar é a habilidade do EventDispatcher de ter funções como parte de uma coleção de eventos. EventDispatcher é orientado a eventos, então você pode ter funções que serão chamadas uma vez que o evento é sinalizado ao seu broadcast.

EventDispatcher nada mais é que um evento de broadcast para configurar Listeners (objetos “escutadores”) que recebem o Evento e chamam a função associada a ele. Um exemplo: se você já usou a classe Key, dá pra ver que não é difícil adicionar um Listener a uma tecla enquanto você configura eventos, como onKeyDown, para ver se determinada tecla já foi acionada pelo usuário. Bom, mesmo se você nunca ouviu falar de EventDispatcher, há uma grande chance de já ter usado componentes e funções que utilizam o addEventListener, e não há dúvida de que você já usou a classe EventDispatcher sem saber. Bom, o objetivo desse mini-tutorial é explicar um pouco o que está por trás dos conceitos e como essa classe pode ser útil em seus projetos.
EventDispatcher possui um grupo de Listeners para cada evento que dá broadcast. Ele é bom quando você precisa de Listeners diferentes para diferentes eventos. Outra coisa que devemos notar é a habilidade do EventDispatcher de ter funções como parte de uma coleção de eventos. EventDispatcher é orientado a eventos, então você pode ter funções que serão chamadas uma vez que o evento é sinalizado ao seu broadcast.
Tá mas isso tudo junto? “Che facciamo, Ronaldo?”
Antes de começar a meter a mão na massa, você deve entender como o broadcast é incializado. Da maneira mais básica: EventDispatcher é simplesmente um container de métodos que são dados a uma instância de broadcasting quando essa é inicializada. Dando uma olhadinha nessa função estática, nós podemos ver como os objetos devem ser configurados para começar a sessão de broadcast.
static function inicializar(objeto:Object):void {
if(_fEventDispatcher == undefined) {
_fEventDispatcher = new EventDispatcher();
}
object.addEventListener = _fEventDispatcher.addEventListener;
object.removeEventListener = fEventDispatcher.removeEventListener;
object.dispatchEvent = _fEventDispatcher.dispatchEvent;
object.dispatchQueue = _fEventDispatcher.dispatchQueue;
}
Executando esse método (inicializar), nós vemos quatro métodos e uma instância do EventDispatcher, que é passada para o objeto que a função recebe como parâmetro. O objeto pode agora chamar esses métodos como se fossem deles – ou no seu escopo. Quando o evento de broadcast começa, o “broadcaster” inicia um loop através de todos os listeners daquele evento e então chama a função associada a ele.
(continua…)
Tipo o final do episódio do Heroes, saca?
Quem é desenvolvedor e nunca precisou compartilahr códigos com os amigos e co-workers, que atire a primeira pedra. E foi pensando nisso que uma turma sagaz desenvolveu uma ferramenta que simplifica o compartilhamento desse tipo informação.
O bacana da ferramenta é que ela já põe cor nas tags e identifica funções de algumas linguagens pra facilitar a vida de quem lê o codigo. Também dá pra usar a ferramenta como um repositório de snippets de códigos muito utilizados.

http://pastry.se/

O SDK da Apple, permite desenvolvimento apenas para o iPhone, ai eu pergunto: E o lider de mercado? A Nokia, como fica? Então, felizmente eu passeando nos blogs de addicted for Nokia, eu fiquei sabendo de uma parada bem maneira, que chama WRT (Web Runtime).
“Essa plataforma, nada mais é do que uma maneira de poder rodar widgets (aplicativos feitos em HTML, Ajax, CSS e Javascript) diretamente do celular, fora do browser, como se fossem aplicativos nativos. É exatamente a mesma coisa que aqueles programinhas que rodam no dashboard do MacOSX ou os widgets do iGoogle etc.”
Se interessou? Você pode encontrar mais sobre o assunto em:
http://nokiabr.blogspot.com/2009/01/voce-sabe-o-que-e-wrt.html
http://www.allaboutsymbian.com/news/item/7142_S60_Widgets_WRT_add_contextual.php
http://www.felipeandrade.org/blog/?p=474
http://wiki.forum.nokia.com/index.php/Category:Web_Runtime_(WRT)
Abraço e até mais.