segunda-feira, 23 de julho de 2007

Tutoriais - Venda antecipada - 50% desconto


Seguindo o POST anterior, uma outra novidade.
Quem leu o POST a respeito do que estarei fazendo nas novas empreitadas, viu que um dos tópicos são treinamentos online. Só pra dar uma aguçada no pessoal, devo antecipar que esses treinamentos serão inéditos aqui no Brasil e serão oferecidos via Breeze (hj conhecido como Adobe Connect).

Então estou em fase de desenvolver os conteúdos. Os treinamentos disponibilizados inicialmente serão de ColdFusion, Actionscript 3.0, Flash e Flex. Depois virão outros treinamentos, inclusive de tecnologias que não são da Adobe.

Na tentativa de financiar este trabalho inicial, estarei promovendo a venda antecipada dos conteúdos, no formato de slides, textos e arquivos de exemplo, com 50% de desconto.

Os conteúdos, custos iniciais e suas respectivas datas previstas de entrega são:

1 - Flash intermediário - Prazo: 10/ago - Valor: R$150*
2 - ColdFusion intermediário - Prazo: 10/ago - Valor: R$300*
3 - Flex intermediário - Prazo: 25/ago - Valor: R$200*
4 - Actionscript 3 intermediário - Prazo: 25/ago - Valor: R$225*
5 - Flex Avançado - Prazo: 10/set - Valor: R$300*

*(estes são os valores com 50% de desconto, relativo aos valores previstos para os treinamentos online que serão disponibilizados via Breeze)

IMPORTANTE:
O prazo citado é para entrega DA ÚLTIMA PARTE do conteúdo que será disponibilizado conforme estiver pronto. Os conteúdos 1 e 2 começarão a estar disponíveis a partir do dia 26/jul. Os conteúdos 3 e 4 a partir do dia 13/ago. O conteúdo 5 a partir de 28/ago. Ou seja, o conteúdo mais breve já estará sendo entregue a partir de 3 dias e o mais tardio em aproximadamente 30 dias.

Vale citar que esta pacote NÃO inclui suporte. São materiais de estudo individual que prefiro chamar de tutoriais por este motivo.

Estaremos planejando descontos para quem quiser adquirir os treinamentos online, via Breeze, incluindo suporte, posteriormente. Certamente existirão. Só não posso confirmar ainda o montante, mas estarei confirmando isso ainda esta semana aqui no Blog.

Interessados, por favor entrem contato através do meu email: macieljr@gmail.com

Nova(s) empreitada(s) - Hosting, Consultoria, Suporte, Treinamentos online, etc.


Gostaría de anunciar aos que acompanham esse Blog, uma novidade interessante. Na verdade, mais um POST virá após esse, em decorrência desta novidade. Trata-se de uma nova empreitada para a qual fui convidado a participar e aceitei.

O Ari Zanuto, outro membro, assim como eu, da comunidade de desenvolvedores que adotam ferramentas da extinta Macromedia, que aliás conheço desde que trabalhava para a própria, realizou uma série de investimentos em servidores (hardware e software) e passou a oferecer serviços relacionados: Hosting, Suporte, Consultoria, Serviço de desenvolvimento e etc.
Ele achou conveniente me chamar. Como acabei de dizer, nos conhecemos de longa data. Neste período, tivemos problemas, tivemos sucessos pessoais em ações conjuntas, ele foi polêmico, eu fui polêmico, arrumei vários amigos, ele arrumou vários inimigos, depois ele arrumou vários amigos e eu vários inimigos... Enfim, tudo absolutamente normal para quem dá as caras no nosso meio. Topei a parada.

Assim, juntos estaremos trabalhando para fazer com que os objetivos se concretizem e se mantenham firmes. Todos sabemos que começar é fácil. Difícil é manter as coisas na direção e na ordem que não só os sonhos querem, mas sim que a realidade, e na verdade, a clientela vai exigir.

Estou nessa mais como um funcionário do Ari, é verdade, pois todo o investimento é dele e eu estou entrando mais com mão de obra, que aliás ele não está dispensando da parte dele também. O cara está trabalhando pesado.

Enfim... há muita coisa acontecendo.

Escrevi um POST para inaugurar o Blog que eu e ele estaremos tocando daqui por diante, falando justamente sobre as empreitadas. Veja aqui o anúncio: http://www.cfusion.com.br/coders-revolution/2007/07/ola.html

sábado, 21 de julho de 2007

Indicação de site:


Meu colega e ex-aluno Valfrido Junior (que ainda está sem site pois o está reformulando) me indicou este site que achei muito legal. Usa scripts simples, dos quais se acham exemplos por ai, mas que bem empregados produziram um efeito bastante interessante. Muito criativo!

http://www.leoburnett.ca/

sexta-feira, 13 de julho de 2007

YouTube AS3 API ColdFusion Proxy

Eu estava utilizando a biblioteca AS3 de acesso a API do YouTube desenvolvida pelo Mike Chambers, Daniel Dura e etc, para desenvolver uma aplicação de exemplo com o Flex 2.01 (ainda) e tudo rolou direitinho até a hora de colocar o "brinquedo" pra rodar online.

Essa biblioteca, foi escrita há muito tempo e durante esse período o YouTube fez a famosa e já tão comentada alteração no seu crossdomain.xml que causou a impossibilidade do Flash de fazer requests diretos à sua API. Para quem não sabe, pode ler a respeito aqui ou aqui, por exemplo...

A solução:
Criar um script server-side como proxy para as chamadas da API AS3. Assim, você configura o crossdomain.xml no seu domínio e tá tudo resolvido.

Na preguiça, meu primeiro passo foi procurar no Google pra ver se alguém já tinha escrito um em ColdFusion e disponibilizado. Não sei se não procurei direito mas não encontrei nenhum. Então, não teve outra saída. Criei o meu. E depois de ficar simplificando pra lá e pra cá, ví que apenas 4 linhas de código resolviam a questão:


  1. <cfhttp method="get" url="http://www.youtube.com/api2_rest?#CGI.QUERY_STRING#" charset="utf-8" result="data"/>

  2. <cfset xmlData = xmlParse(data.fileContent)/>

  3. <cfcontent type="text/xml; chatset=utf-8"/>

  4. <cfoutput>#toString(xmlData)#</cfoutput>



Depois é só mudar a referência à chamada da API do YouTube na Classe AS3 com.adobe.wepapis.youtube.YouTubeService.as:

De:

  1. public static var END_POINT:String = "http://www.youtube.com/api2_rest";



PARA:

  1. public static var END_POINT:String = "http://seuserver.com.br/Wrapper.cfm";



Isso basta! E espero que sirva para mais alguém.

Detalhe: A montagem da imagem que consta no início deste post, contém uma foto dos disquetes de instalação do ColdFusion 1.5. Eu estava procurando uma imagem com um logo interessante para ilustrar esse post, quando me deparei com ela e resolvi usar. Lembro de quando recebi estes 15 disquetes por correspondência para iniciar o uso desta tecnologia. Interessante depois de ter feito o Download da última versão Beta com mais de 310MB. Seriam hoje, aproximadamente 258 disquetes! Bom... pelo ao menos, o que evoluiu no tamanho, evoluiu também na qualidade e nos recursos. Já o custo, é bastante inferior ao da época dos disquetes. E pra causar polêmica: Muito mais barato inclusive do que muita opção free por aí! ;-)

terça-feira, 10 de julho de 2007

Interscriptável


Mais uma palavra para o nosso meio? Pode ser...
Essa palavra surgiu no meio de uma discussão técnica entre o Rafael Neri da BDG e eu quando discutíamos uma questão interessante a respeito de uma funcionalidade peculiar da nova geração do FlashPlayer (9 em diante) a respeito do AVM (Actionscript Virtual Machine) que o compõe.

Pelo fato de termos 3 versões do Actionscript (1, 2 e 3 ou AS1, AS2 e AS3), o AVM é ainda "dividido" em 2 versões. Temos o AVM1 que interpreta o código Actionscript 1 e 2, e o AVM2 que interpreta a mais recente versão, o Actionscript 3.

Como o termo surgiu?
Finalizando o projeto de re-escrita do site promocional da Preview, o OQueSeFazPorAi (http://www.oquesefazporai.com.br . O que está no ar ainda é a versão original escrita em AS2. Publicarei aqui o anúncio da nova versão quando esta estiver no ar.), esse assunto ficou bastante em pauta quanto tivemos a necessidade de carregar um Movie escrito em AS2, no novo Core que desenvolvemos para o site, todo escritp em AS3. Ocorre que na versão anterior do site, todo escrito em AS2, embora o Core fizesse o carregamento do Movie, o descarregamento (unload) era feito pelo próprio Movie carregado. além de operar outras instruções no própio Core.
Dado o fato do FlashPlayer ser constituído pelo AVM1 e AVM2, podemos em um filme AS3 carregar um filme AS2 ou AS1.
Como isso é feito?
O AVM2 possui uma classe interna chamada justamente AVM1Movie sob a qual o filme AS1 ou AS2 carregado é instanciado, permitindo assim um controle básico e portanto muito limitado deste. Essa classe é constituída basicamente pelas propriedades (limitadas) da Classe MovieClip, a qual óbviamente ele extende, limitando-se também a não possuir nenhum método nem tão pouco acesso aos elementos que fazem parte deste Movie AVM1 carregado.

Daí o surgimento do termo INTERSCRIPTÁVEL!

Em nossa discussão técnica, tive que explicar ao Rafael que um dos procedimentos que teríamos que adotar no desenvolvimento da nossa solução, dava-se pelo fato de que o Core que desenvolvemos não era INTERSCRIPTÁVEL com o Movie escrito em AS2.
Portanto, nossa solução sería re-coordenar o controle dos itens antes controlados no Core, por parte do Movie carregado, para que esse controle fosse todo feito por parte do próprio Core, ou re-escrever todo o Movie geralmente escrito em AS2, traduzindo-o para AS3.

Por questões de prazo, a escolha foi por fazer pequenas alterações no Movie AS2, permitindo e transferindo todo o controle de interações para o Core em AS3.

Está aí a explicação para o termo INTERSCRIPTÁVEL!

Se a galera do AURÉLIO, MICHAELIS e outros dicionários precisarem de uma ajuda (à ser melhorada, claro), aí vai:

Interscriptável: Capacidade de um script (relativo a mini-programas escritos em determinadas linguagens. Ex: Actionscript, Javascript, etc) operar cooperativamente, ou ainda em conjunto, com outro script, da mesma linguagem e versão ou não.