2009 Digital Year
Posted by Andrews on março 24th, 2009Manifesto 2009 Digital Year, Apoiado!
Manifesto 2009 Digital Year, Apoiado!
ColdFusion Web Day é o primeiro evento on-line totalmente dedicado ao compartilhamento de técnicas, conceito e mercado de uma das linguagens de programação web mais produtivas que existem.
Serão 5 horas de palestras com a participação de grandes nomes da comunidade ColdFusion brasileira, compartilhando o máximo e informações sobre ColdFusion, o seu mercado no Brasil, funcionalidades, produtividade, novidades e futuras versões.
O evento será realizado no dia 11 de Abril de 2009 a partir das 13:30, e será totalmente on-line e gratuíto. Para isto, basta deixar seu nome e email através do menu “Quero participar”. No dia do evento basta acessar a sala de palestras através do link Acesso que estará disponível nesta mesma página.
Não fique de fora desta e conheça todos os diferenciais de uma das linguagens mais usadas para o desenvolvimento de aplicações ricas para a internet. Conheça o ColdFusion!
Realizado entre os dias 23/01/2009 a 20/02/2009 pelo AUG-RJ, saiu então o resultado do 1º Censo Brasileiro de Desenvolvedores ActionScript
Confira aqui o resultado
O objetivo é fornecer aos desenvolvedores e companhias acesso aberto e gratuito ao Protocolo de Mensagens em Tempo Real.
A Adobe está planejando publicar as especificações do Protocolo de Mensagens em Tempo Real (RTMP, na sigla em inglês), tecnologia utilizada na transmissão em alta velocidade de dados, áudio e vídeo entre plataformas Flash.
O objetivo seria fornecer aos desenvolvedores e companhias acesso aberto e gratuito ao RTMP. A ação, que faz parte do programa Open Screen, possibilitaria a experiência de desenvolvimento de aplicações com múltiplas telas montadas em ambiente runtime, tanto para os navegadores web, como outras aplicações de computação pessoal e dispositivos móveis.
A especificação RTMP deve estar disponível no Adobe Developer Connection já no primeiro semestre de 2009. De acordo com o CTO da Adobe, Kevin Lynch, essa abertura vai acelerar a adoção da plataforma Flash pelos desenvolvedores, o que deve dar início a uma nova geração de aplicativos baseados na web.
O Protocolo de Mensagens em Tempo Real melhorou o processo de transmissão do chamado conteúdo rico, originado em aplicações mais inteligentes, as chamadas RIAs. Como ele, é possível entrar vídeo, áudio e dados nos formatos abertos AMF, SWF, FLV e F4V, compatíveis com o Adobe Flash Player.
Em relação à proteção do conteúdo, o RTMP não terá nenhuma ferramenta específica, deixando ao critério do desenvolvedor usar as suas próprias tecnologias de proteção de conteúdo.
O projeto Open Screen envolve 20 grandes parceiros da indústria que estão trabalhando por um ambiente operacional homogêneo para navegação web e O objetivo é retirar as barreiras para a publicação de conteúdo web e aplicações ricas entre PCs, celulares e televisores. Segundo dados fornecidos pela própria Adobe, o Flash Player está presente em mais de 98% dos computadores conectados à internet e fornece mais de 80% de todos os vídeos na web mundialmente.
Via: INFO Online
A Girafa Comunicação Interativa, está abrindo uma vaga para estágio em criação. Interessados devem enviar currículo para o email trampo[at]girafacomunicacao.com.br
Happy hour sempre rola na agência para descontrair a moçada, e a rodada de chopp para trocar idéias sobre tecnologia (afinal somos geeks e também estamos rodeados de gadgets) acontecem sempre em algum barzinho/choperia.
Quer trabalhar em um ambiente legal, descontraido e com horários flexíveis? Então, seu lugar é aqui!
Tenho estudado muito nos últimos dias, afinal quem trabalha nesta área tem de estar em aprendizado constante. Estou iniciando meus estudos em OOP no PHP e também aprofundando meu conhecimento no Adobe Flex, e tenho progredido bastante neste período.
Mas brother, vamos ao que interessa para este post, acabei escrevendo um código utilizando PHP e MySQL, onde o PHP gera um XML através de uma consulta na tabela para alimentar um ComboBox Component no Flash.
Alimentar um ComboBox é simples, mas resolvi que iremos alimetar dois ComboBox, onde, um irá alimentar o outro, utilizarei os estados do Brasil e suas cidades como exemplo.
1ª Etapa:
Aqui, definiremos nossas tabelas no MySQL.
Tabela estado
CREATE TABLE `estado` ( `est_codigo` int(2) NOT NULL auto_increment, `est_nome` varchar(50), PRIMARY KEY (`est_codigo`) ) insert into `estado`(`est_codigo`,`est_nome`) values (1,'Santa Catarina'), (2,'Paraná'), (3,'Rio Grande do Sul'), (4,'São Paulo'), (5,'Rio de Janeiro');
Tabela cidade
CREATE TABLE `cidade` ( `cid_codigo` int(5) NOT NULL auto_increment, `cid_est_codigo` int(2) default NULL, `cid_nome` varchar(70) default NULL, PRIMARY KEY (`cid_codigo`) ) insert into `cidade`(`cid_codigo`,`cid_est_codigo`,`cid_nome`) values (1,1,'Porto União'), (2,1,'Canoinhas'), (3,1,'Balneário Camboriú'), (4,1,'Caçador'), (5,1,'Florianópolis'), (6,2,'Curitiba'), (7,2,'União da Vitória'), (8,2,'Foz do Iguaçu'), (9,3,'Porto Alegre'), (10,3,'Canoas'), (11,3,'Caxias do Sul'), (12,4,'São Paulo'), (13,4,'Campinas'), (14,4,'Santos'), (15,4,'Ubatuba'), (16,5,'Rio de Janeiro'), (17,5,'Angra dos Reis'), (18,5,'Paraty');
2ª Etapa:
Precisaremos de uma conexão com nosso banco de dados, caso ja tenha ou saiba como criar uma pode passar para a próxima etapa.
Crie um novo arquivo PHP e salve-o com o nome de Conexao.php então escreveremos a classe Conexao.
<?php class Conexao { // CONSTRUTOR function __construct() { return true; } /** * FUNCTION CONEXAO * @return $cnx */ function conectar() { $sHost = 'nome-do-host'; $sDB = 'nome-do-db'; $sUser = 'nome-do-user-mysql'; $sPassword = 'senha-do-usuer'; $cnx = mysql_connect($sHost, $sUser, $sPassword); mysql_select_db($sDB, $cnx); return $cnx; } } ?>
3ª Etapa
Nesta etapa definiremos as classes que irão gerar o XML para alimentar o ComboBox de estados que por sua vez irá alimentar o ComboBox de cidades.
Então crie um arquivo PHP chamado Estado.php e escreva a classe abaixo.
<?php // INFORMAMOS QUE O DOCUMENTO SERA DO TIPO XML header("Content-Type: text/xml; charset=UTF-8", true); // CONEXAO require_once('Conexao.php'); // CLASS ESTADO class Estado { // CONSTRUTOR function __construct() { return true; } /** * FUNCTION getEstado * @return xml */ function getEstado() { // CONEXAO $conexao = new Conexao(); $cnx = $conexao->conectar(); // SELECIONA ESTADO NO DB $sSQL = "SELECT est_codigo, est_nome FROM estado ORDER BY est_nome ASC"; $qSQL = mysql_query($sSQL, $cnx) or die(mysql_error()); // GERANDO XML echo "<?xml version='1.0' encoding='UTF-8'?> "; echo "<estados>"; while( $aRow = mysql_fetch_array($qSQL) ) { echo "<estado>"; echo "<codigo><![CDATA[" . $aRow['est_codigo'] . "]]></codigo>"; echo "<nome><![CDATA[" . $aRow['est_nome'] . "]]></nome>"; echo "</estado>"; }; echo "</estados>"; } } // INICIA CLASSE $estado = new Estado(); echo $estado->getEstado(); ?>
Salve-o, e agora iremos criar a classe que alimentará as cidades.
A Classe de cidades é exibida de forma dinâmica, onde, ao selecionar o estado desejado passaremos o código dele como parametro para consultar somente as cidades que fazem referência a este estado.
Crie um novo arquivo PHP e salve-o como o nome Cidade.php, e escreva a classe para as cidades.
<?php // INFORMAMOS QUE O DOCUMENTO SERA DO TIPO XML header("Content-Type: text/xml; charset=UTF-8", true); // CONEXAO require_once('Conexao.php'); // CLASS CIDADE class Cidade { // CONSTRUTOR function __construct() { return true; } /** * FUNCTION getCidade * @param Number codigo * @return xml */ function getCidade($codigo) { // CONEXAO $conexao = new Conexao(); $cnx = $conexao->conectar(); $nCodigo = $codigo; $sSQL = "SELECT cid_codigo, cid_nome FROM cidade WHERE cid_est_codigo = $nCodigo ORDER BY cid_nome ASC"; $qSQL = mysql_query($sSQL, $cnx) or die(mysql_error()); // GERANDO XML echo "<?xml version='1.0' encoding='UTF-8' ?>"; echo "<cidades>"; while ($aRow = mysql_fetch_array($qSQL)) { echo "<cidade>"; echo "<codigo><![CDATA[" . $aRow['cid_codigo'] . "]]></codigo>"; echo "<cidade><![CDATA[" . $aRow['cid_nome'] . "]]></cidade>"; echo "</cidade>"; } echo "</cidades>"; } } /** * INICIAMOS A CLASSE E PASSAMOS O CODIGO DO * ESTADO COMO PARAMETRO PARA A CONSULTA */ $cidade = new Cidade(); echo $cidade->getCidade($_GET['codigo']); ?>
4ª Etapa
Nesta quarta e última etapa, criaremos e escreveremos nosso arquivo Flash.
Então, crie um novo arquivo Flash, e arraste dois Components ComboBox para o palco, de o nome de instância para eles de estado_cbx e cidade_cbx, também crie um campo de texto dinâmico com o nome de alerta_txt.
Abaixo temos a imagem de como ficará os objetos no palco.

Agora, insira uma nova Layer para que possamos escrever nosso código ActionScript, onde, este por sua vez será o reponsável pelo carregamento e população dos ComboBox.
System.useCodepage = true; /** * FUNCTION getEstado */ getEstado = function() { var xmlEstado:XML = new XML(); xmlEstado.ignoreWhite = true; xmlEstado.load("Estado.php"); xmlEstado.onLoad = function(ok) { if (ok) { var aDados = Array(); var nTotal = this.firstChild.childNodes.length; // PASSANDO DADOS DO XML PARA ARRAY for (var i = 0; i < nTotal; i++) { aNode = this.firstChild.childNodes[i]; aDados[i] = { data:aNode.childNodes[0].firstChild.nodeValue, label:aNode.childNodes[1].firstChild.nodeValue }; } // POPULANDO COMBOBOX COM OS DADOS DO ARRAY estado_cbx.dataProvider = aDados; } }; // LISTENER PARA ESTADO var objEstado:Object = new Object(); objEstado.change = function() { sEstado = estado_cbx.selectedItem.label; nCodigo = estado_cbx.value; alerta_txt.text = sEstado; getCidade(nCodigo); }; estado_cbx.addEventListener("change", objEstado); } getEstado(); /** * FUNCTION getCidade * @param Number nCodigo */ getCidade = function(nCodigo) { var xmlCidade:XML = new XML(); xmlCidade.ignoreWhite = true; xmlCidade.load("Cidade.php?codigo="+nCodigo); xmlCidade.onLoad = function(ok) { if (ok) { var aDados = Array(); var nTotal = this.firstChild.childNodes.length; // PASSANDO DADOS DO XML PARA ARRAY for (var i = 0; i < nTotal; i++) { aNode = this.firstChild.childNodes[i]; aDados[i] = { data:aNode.childNodes[0].firstChild.nodeValue, label:aNode.childNodes[1].firstChild.nodeValue }; } // POPULANDO COMBOBOX COM DADOS DO ARRAY cidade_cbx.dataProvider = aDados; } } // LISTENER PARA CIDADE var objCidade:Object = new Object(); objCidade.change = function() { sEstado = estado_cbx.selectedItem.label; sCidade = cidade_cbx.selectedItem.label; alerta_txt.text = sCidade + " - " + sEstado; }; cidade_cbx.addEventListener("change", objCidade); }
Agora, salve o arquivo Flash com qualquer nome, compile e teste-o.
Prontinho, nosso trabalho está feito, e com a certeza de que tiraremos bastante proveito dele.
O post ficou grande, porém tenho a certeza de que estou progredindo em meus estudos e em meu conhecimento também, e assim espero repassar o pouco do que estou aprendendo com os demais, pois, como nossa areá vive em constante apredizado e nem todos tem a oportunidade de estar aprendendo em uma sala de aula fica ai então a pequena contribuição.
Clique aqui e veja como ficou nossa pequena aplicação
Macanudo, finalizo este post ao som de Chromophobia, Gui Boratto. d(-_-)b
O AUGRJ criou um censo tendo como objetivo realizar um levantamento sobre as características do desenvolvedor ActionScript brasileiro, com isso teremos um mapa do mercado, necessidades e ações possíveis a serem executadas para fortalecer a comunidade.
Então, clique aqui e participe!
Ele estará disponível até o dia 20/02/2009.
Uma dica rápida de como chamar components baseados em FlexMDI via actionscript (Entendo que ja saiba trabalhar com Components no Adobe Flex).
Deve-se definir um container no arquivo principal para que este possa acondicionar os components baseado em FlexMDI, onde, também teremos um Button para executar a function.
<mx:Button label="Add Window" click="addWindow()"/> <flexmdi:MDICanvas id="myMDI" width="100%" height="100%"/>
Também devemos criar o component lógico
, então definimos que nosso component será do tipo MDIWindow e seu nome será window.
Após ter criado o component, escreveremos a function que o chamará.
private function addWindow():void { var myWindow:window = new window(); myMDI.windowManager.add(myWindow); }
Pronto! mais simples que isto impossível.
Veja como ficou nosso component, bem como o source
Atualmente venho trabalhando e estudando fortemente com a ferramenta Adobe Flex (ferramenta para desenvolvimento de RIA – Rich Internet Application), a qual esta em grande crescimento no mercado.
Fui contratado para desenvolver o software da Domit Medicina, e como trata-se de um software altamente complexo e que necessita rodar através do browser, então não restou outra alternativa a não ser utilizar RIA para construi-lo. Desde então venho me dedicando ao máximo para que o software saia a altura de que meu cliente espera.
Assim que o sistema estiver finalizado postarei aqui mais detalhes sobre o mesmo, enquanto isso vamos gerar um pouco de suspense com a tela de login.

Garimpando na web me deparei com a t!v! que é um site para criação de emissoras de TV on-line com vídeos do Videolog, Youtube, etc. Nele você monta um playlist de vídeos e assiste na sequência que quiser.
O que me deixou impressionado, foi a qualidade da transmissão dos vídeos, onde, pode-se assistir em HD (TV em alta definição) ou em qualidade normal caso o computador fique lento.
Assista abaixo (ative o fullscreen) parte do seriado produzido pela empresa de hospedagem de sites e serviços de internet Locaweb e postado no canal O que é isso? e assim tire sua própria conclusão.
Comentários recentes