logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Jun 17

Novidades da versão Mango – Parte 2

Escrito por Alexandre Tadashi em .NET, 1, 2.0, 3.5, 4, 6, abas, análise, Análises, api, Aplicativos, app, AR, auto, back, bar, Beta, BI, bing, botão, bug, busca, C#, carregar, class, classe, cliente, código, collection, control, Controles, Curso, Cursos, dados, Debug, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Dica, Diversos, Documentação, DRE, email, err, event, Evento, Eventos, exemplo, Ferramenta, flash, Flex, fonte, for, Formação, fundo, game, garbage, geo, Geral, Gráfico, Gravação, ide, IE, if, image, imagens, int, jogo, Jogos, linq, Linq to Sql, lista, live, map, maps, Melhores Práticas, menu, mg, Microsoft, mobile, monitor, Monitoramento, NaN, O, on, online, Outros, player, processo, produtividade, prova, pt, RIA, Ria’s Geral, S+S, serviço, Serviços, silverlight, Silverlight 4, SmartPhone, socket, Storyboard, Sun, tag, TAT, Tema, UI, Ved, Vídeo, Videobrush, Vídeos, Visual Studio, web, WebCam, window, windows, XAML, XP, zend @ 06 17th, 2011 | via http://alexandretadashi.net/ | Sem comentários
Alexandre Tadashi
? 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 »

Sockets

Através do namespace System.Net.Sockets, o Windows Phone provê suporte a uma implementação gerenciada de sockets, permitindo que desenvolvedores possam ter um controle rigoroso ao acesso a redes, com esse recurso temos disponível um conjunto de API’s de alto nível, permitindo que o desenvolvedor crie aplicativos que interagem com um cliente utilizando de serviços existentes de TCP.

Existem muitas funcionalidades onde esse recurso pode ser utilizado, como pode exemplo, para criar aplicativos de FTP, e-mail e Chat, com sockets é possível criar aplicativos mais sofisticados e ricos, podendo utilizar de TCP (Transmission Control Protocol) ou UDP (User Datagram Protocol).

Câmera e fotos

Existem duas formas de acessar a câmera no Windows Phone, através das API´s do próprio sistema operacional ou através dos recursos já existentes do Silverlight 4, com as APIs do Windows Phone você tem imagens de alta resolução, além de controle do auto foco, acesso ao modo do flash, entre outros recursos, já com os recursos do Silverlight 4 webcam API, você tem facilidade de gravar vídeos e áudios em arquivos, se você já possui códigos em alguma aplicação Silverlight, você poderá aproveita-los com poucas ou nenhuma modificação quanto ao acesso a webcam.

É possível ter um controle bem flexível da câmera fotográfica do smartphone, através do Windows Phone podemos ter um controle do auto foco da câmera, gerenciar o flash utilizado, acionar a captura da imagem, além de uma série de eventos que podemos utilizar através do Microsoft.Devices.PhotoCamera, no código XAML a representação da câmera pode ser feito através do recurso VideoBrush do Silverlight.

Push Notitications e Live Tiles

Notifications é um poderoso recurso que o Windows Phone implementou de maneira bem interessante, com ele podemos enviar e receber informações para o Windows Phone 7, essas mensagens são enviadas para um serviço da Microsoft, e o serviço online envia para o smartphone, podendo receber a mensagem em seu projeto. Você poderá obter a mensagem recebida e manipular as informações, existem três tipos de Notifications, o tipo RAW, Toast e Tile, resumidamente o primeiro permite receber informações diretamente em sua aplicação, o segundo permite receber um aviso no topo da tela do Windows Phone, a aplicação receberá a notificação mesmo que a sua aplicação não esteja em execução no momento. Já o tipo Tile, é uma notificação nos Tiles que ficam na tela principal do Windows Phone e pode ser acionado quando apertamos o botão Start do aparelho. Na versão Mango, temos mais recursos disponíveis para essas notificações, a notificação do tipo Toast agora pode receber um determinado link que vai para determinado local em sua aplicação e ainda pode passar parâmetros que você pode utilizar para ler e realizar alguma tarefa, dando mais poder para as notificações no Windows Phone, as notificações do tipo Tile também foram incrementadas, agora é possível utilizar um Tile com dois lados e que mude periodicamente ou ainda ter tiles secundários para a mesma aplicação.

img27763

Figura 1. Fundo do Tile

Profiler

Performance é um dos assuntos mais importantes quando estamos criando aplicativos em geral, principalmente quando a aplicação vai ser executada em dispositivos com recursos limitados, como é o caso de smartphones, com a versão Mango temos agora uma ferramenta que analisa o perfil da sua aplicação, possibilitando analisar e medir através de gráficos , diversos recursos utilizados.

A ferramenta é totalmente integrada com o Visual Studio, para iniciar o uso do recurso , basta carregar a sua aplicação e no menu Debug, localizar e clicar na opção “Start Windows Phone Performance Analysis”, Figura 2, e clicar em Launch Application, em seguida você executa a rotina que deseja monitorar em seu aplicativo e clica em Stop Profiling, um arquivo com extensão SAP será criado, a cada processo de analise, um arquivo é criado, e você poderá manter um histórico para futuras analises de melhorias. Dentre as informações que a ferramenta apresenta, estão os frame rates, que são os números de renderização da tela do telefone, expressada em frames por segundo (fps), a porcentagem de uso da CPU do telefone, o uso da memória do aplicativo medido em megabytes, a utilização de Storyboards e imagens carregadas, por fim temos um indicativo de quando os eventos do garbage collections foram acionados durante o monitoramento. Se você selecionar um determinado período, o Visual Studio apresentará informações detalhadas sobre diversos pontos do aplicativo.

img24163

Figura 2. Performance Analysis

img26173

Figura 3. Analise detalhada da aplicação

Emulador

O emulador também sofreu algumas melhorias, duas delas são muito interessantes , como a possibilidade de testar no emulador os sensores de acelerômetro, Figura 4, e localização. Agora podemos simular através do emulador a leitura desses sensores, não precisando ter um equipamento físico para poder criar uma aplicação, basta você utilizar o mouse que o emulador vai responder conforme a ação esperada pelo aparelho real. No caso da utilização de recursos de localização, você ainda conta com uma barra de ferramentas com controles de busca, inclusão de indicativos de localização e gravação da localização, o emulador ainda contém alguns outros recursos que talvez sejam disponibilizados na versão final, como a possibilidade de adicionar gravações referente as simulações.

img10650

Figura 4. Emulador

Device Status

O namespace Microsoft.Phone.Info fornece informações sobre o equipamento, na versão anterior, era utilizado a classe DeviceExtendedProperties para obter alguns dados sobre o equipamento, na versão Mango essa tarefa passa a ser realizada por DeviceStatus, você pode obter informações como o total de memória, a versão do hardware e o nome do fabricante do equipamento. Através do PowerSource, podemos verificar se o dispositivo está funcionando com bateria ou conectado a uma fonte de alimentação externa. Outro recurso disponível é a possibilidade de verificar se existe ou não um teclado físico no smartphone através da propriedade IsKeyboardPresent.

Local Database

Existem dois tipos de persistências no Windows Phone 7, o Transient Data e o Persistent Data, você pode manipular informações através de Isolated Storage, um recurso que permite registrar e recuperar informações no próprio aparelho, essa forma de persistência de dados é chamada de “Persistent Data”, ou armazenar informações na memória, Transient Data, sua aplicação pode manipular esses dados conforme o seu ciclo de vida, porém na versão mango uma nova forma de Persistent Data foi adicionada, o local Database.

Agora temos a possibilidade de utilizar uma base de dados local em uma aplicação, antes da disponibilização das ferramentas betas da versão mango para desenvolvedores e da documentação oficial, falava-se que uma versão do SQL CE estaria disponível para ser utilizada, porém em sua documentação oficial a base de dados é citada somente como local database, uma versão própria do Windows Phone, um grande diferencial de produtividade está no suporte ao LINQ to SQL para operações em base de dados.

O local database permite armazenar dados relacionais dentro de um ambiente residente no Isolated Storage, por estar dentro do Isolated Storage, ele somente pode ser acessado pela aplicação correspondente, e roda somente no processo do aplicativo, não sendo executada com um serviço continuo, a manipulação de dados locais são acessados apenas através de LINQ to SQL, não tendo suporte ao Transact-SQL.

Launchers and Choosers

Os Launchers e Choosers são APIs que acessam alguns recursos do sistema operacional, eles disponibilizam recursos complexos deixando transparentes para que o desenvolvedor através de API´s, os Launchers são tarefas que somente são iniciadas pela sua aplicação, teoricamente, você não tem nenhum tipo de retorno da API, somente você pode inicia-los , passando os parâmetros que ela vai utilizar para realizar a tarefa. Já os Chooser também iniciam uma tarefa, mas a principal diferença é que os Choosers retornam algum dado que você poderá trabalhar em sua aplicação, um exemplo seria o EmailAddressChooserTask, com ele podemos apresentar ao usuário a lista de e-mails cadastrados no aparelho, quando um e-mail é selecionado, podemos obter essa informação e utilizar para enviar um e-mail através de um Launcher chamado EmailComposeTask, que não retorna nenhuma informação,dessa forma algumas tarefas que poderiam ser bem complexas são facilitas com os Launchers e Choosers. Na versão Mango temos novos Launchers and Choosers adicionados as API´s são eles:

Address Chooser Task : Inicia a lista de contatos da aplicação e permite a seleção.

Game Invite Task : API utilizada em jogos aprovados no Xbox Live que permite convidar jogadores para uma partida multi-player em um Game.

Save Ringtone Task : Permite gravar um arquivo MP3 ou WMA na lista de ringtones do sistema operacional.

Bing Maps Task : Inicia o Bing Maps, permitindo setar a propriedade center com uma posição geográfica.

Bing Maps Directions Task : Inicia o Bing Maps permitindo informar e receber informações sobre dois pontos.

Conclusão

O Windows Phone 7 chegou trazendo uma nova plataforma de desenvolvimento para dispositivos móveis, a Microsoft utilizou o que existe de mais moderno para criar o seu sistema operacional, dando suporte as melhores práticas de desenvolvimento e integração com aplicativos, a versão Mango contém mais de 500 novos recursos e confirma o investimento da Microsoft em sua plataforma mobile.

Jun 17

Novidades da versão Mango – Parte 1

Escrito por Alexandre Tadashi em .NET, 1, 2.0, 3.5, 4, 6, Air, api, Aplicativos, AR, arte, Artigo, audio, auto, back, Banco de Dados, Beta, BI, bing, Blend, botão, browser, busca, C#, código, control, Controles, Curso, Cursos, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, developer, Dica, Diversos, Download, DRE, empresas, err, event, Evento, Eventos, Excel, exemplo, Exemplos, explorer, expression, Expression Blend, facebook, Ferramenta, for, framework, Geral, html, html5, ide, IE, if, image, imagens, int, interface, internet, library, linkedin, lista, Livro, mg, Microsoft, MIX, mobile, monitor, motion, movimento, MSDN, mudanças, NaN, novidade, Novidades, O, on, Outros, Partilha, processo, progress, Redes Sociais, rest, RIA, Ria’s Geral, S+S, serviço, silverlight, Silverlight 4, SmartPhone, Software, TAT, Tecnologia, Tema, tool, Twitter, UI, UX, Ved, Vídeo, Vídeos, Visual Studio, Visual Studio 2010, vs, window, windows, Xna, XP @ 06 17th, 2011 | via http://alexandretadashi.net/ | Sem comentários
Alexandre Tadashi
? 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 »

imageÉ grande a expectativa pelos desenvolvedores .net para a chegada e comercialização do Windows Phone no Brasil, a plataforma chega bem completa e robusta, atendendo diversas necessidades dos usuários e desenvolvedore e permitindo a criação de aplicativos utilizando as mais modernas tecnologias Microsoft.
Apresentada no evento MIX 11 da Microsoft, a versão com o codinome Mango, chegou com mais de 500 novidades, são tantos recursos que não é possível cobri-los em um único artigo, podemos destacar algumas melhorias como sendo essenciais para o crescimento da plataforma, como o suporte a multitarefa, a atualização da versão do Silverlight para o Silverlight 4 e a atualização do Browser para a versão do Internet Explorer 9 com suporte ao HTML5, essas são sem dúvidas grandes mudanças tanto para o desenvolvedor como para o usuário.

Para os desenvolvedores foram diversas melhorias e para os usuários não foi diferente, houve uma melhor integração com o Skydrive, possibilitando compartilhar fotos por e-mail e SMS, podemos também compartilhar vídeos realizando o upload em background, navegar pelas pastas no Skydrive, realizar pesquisas de conteúdo, entre diversos outros recursos de integração com esse excelente serviço da Microsoft.

Outro recurso interessante é o Bing Vision, que é uma ferramenta que usa a câmera do telefone para reconhecer imagens, por exemplo, ao focar a capa de um determinado livro ele apresenta uma lista de resultados onde o livro é citado, já o Bing Áudio, é um mecanismo inteligente de busca de áudio, ele pode até reconhecer uma música que está sendo tocada e apresentar resultados sobre a música, esses são somente alguns exemplos, mas houve melhorias e atualizações em diversos HUBs, sensores e recursos do sistema operacional, além de uma forte integração com redes sociais como facebook, twitter e linkedIn.

As ferramentas de desenvolvimento para a versão Mango já estão disponíveis para download em versão Beta, muitas informações e recursos podem ficar diferentes na versão final, mas geralmente são mudanças pequenas. Com as ferramentas já é possível criar e testar todo o aplicativo com o Visual Studio 2010 e utilizar todo o poder do emulador que está integrado totalmente com o Expression Blend for Windows Phone ou com o Visual Studio 2010.

Download: Windows Phone Developer Tools 7.1 Beta tools

Os programadores Visual Basic .net agora podem criar aplicativos para o Windows Phone tanto em Silverlight como no XNA Framework, o Visual Basic é totalmente integrado com o Windows Phone Developers Tools 7.1 Beta, não sendo necessário instalar nenhuma ferramenta a parte. No Mango houve melhorias internas no sistema operacional que resultou em uma melhor performance na execução dos aplicativos em geral, alguns recursos agora rodam em threads background, deixando a interface do usuário com uma resposta mais rápida, essas melhorias são refletidas em sua aplicação e você não precisa codificar nada para usar desses benefícios, além dessas melhorias internas ouve também a inclusão de recursos essenciais para a criação de aplicações, como o suporte a OData e a inclusão de um banco de dados local.

O Windows Phone Marketplace também está em constante crescimento, com poucos meses de lançamento, a loja de aplicativos do Windows Phone 7 é constantemente atualizada com dezenas de novos aplicativos, o número de desenvolvedores e aplicativos podem aumentar significativamente com está atualização com codinome Mango, é previsto que o Marketplace esteja disponível para que os usuários possam comprar aplicativos em um total de 35 países, inclusive o Brasil e com suporte a 16 novas línguas, contando com o Português do Brasil.

Se você é um desenvolvedor da plataforma Microsoft .net e ainda não começou a desenvolver para o Windows Phone, é importante saber que a curva de aprendizado não é muito grande, principalmente se você já tem conhecimento na plataforma Silverlight ou XNA, o Windows Phone pode se tornar competitivo nos próximos anos, principalmente com a entrada e comercialização de equipamentos pelas operadoras no Brasil, somado com a recente parceria com a Nokia, umas das mais importantes empresas do setor, e a compra do Skype pela Microsoft, que vai trazer esse aguardado software para a plataforma .net, além de novas parcerias com fabricantes, tudo isso está fortalecendo a tecnologia mais recente da plataforma mobile da Microsoft.

Modelo de execução – Estado dormant

Houve uma pequena modificação no modelo de execução de aplicativos no Windows Phone Mango, nesta versão temos um novo estado da aplicação chamado dormant, para entendê-lo, vamos relembrar como funciona o ciclo de vida de uma aplicação no Windows Phone, temos quatro eventos que são acionados como apoio durante o uso do aplicativo, são eles, launching, closing, activated e deactivated, e junto com esses eventos podemos ter dois estado da aplicação, running e tombstoned, e para auxiliar com a manipulação de estados podemos utilizar os métodos OnNavigatedTo e OnNavigatedFrom. Quando você inicia uma aplicação, por exemplo, através do botão Start clicando em algum Tile, automaticamente uma nova instância do aplicativo será criada na memória, neste momento o evento Launching é acionado, ou seja, sempre que uma nova instância é criado, o evento Launching será chamado, neste evento temos que evitar a utilização de códigos que possam ser demorados e atrapalhar a experiência de uso do usuário da aplicação, além de que o Windows Phone Marketplace também informa limites de tempo para que a sua aplicação inicie. Após o evento Launching ser acionado, a sua aplicação entra em um estado chamado Running, neste momento sua aplicação está em execução e você poderá realizar tarefas e o usuário poderá navegar em sua aplicação. Neste momento se o usuário apertar o botão Start, por exemplo, ele estará acionando um evento chamado Deactivated e sua aplicação deverá salvar qualquer estado do aplicativo que você deseja restaurar caso o usuário retorne para sua aplicação através do botão Back, é neste ponto que houve um mudança com a versão Mango, agora existem dois
estados utilizados neste processo, o dormant e o tombstoned, sua aplicação entre em estado dormant antes de entrar em tombstoned, o que não acontecia na versão anterior, onde o aplicativo entrava direto em tombstoned. Quando o usuário navega para fora da sua aplicação , o Windows Phone coloca o aplicativo no estado dormant, neste momento todo o processamento, ou seja, todas as threads, são paradas, mas a aplicação ainda está na memória do aplicativo, este estado permite retornar a aplicação utilizando o máximo de performance, pois não é necessário recriar qualquer estado pois todos foram preservados. Se um aplicativo está no estado dormant e o usuário iniciar outro aplicativo, o sistema operacional vai verificar se esse novo aplicativo iniciado precisa utilizar mais memória do que o device disponibiliza como livre no momento,se isso ocorrer, a sua aplicação poderá ser escolhida para sair do estado dormant e entrar no estado tombstoned.

Mais informações : http://msdn.microsoft.com/en-us/library/ff817008(v=vs.92).aspx

Background Agents

Com os Background Agents podemos realizar algumas tarefas mesmo que a aplicação não esteja em execução, existem duas formas de realizar esse agendamento de tarefas, através de scheduled notifications ou scheduled tasks.

Uma scheduled notification é um aviso, que pode ser do tipo Alarm ou Reminder, o tipo Alarm permite que você especifique um arquivo de som para tocar quando a notificação é acionada, o tipo Reminder, você pode especificar uma URI para sua aplicação, quando o usuário clicar na notificação, a aplicação será executada e a URI será passado com parâmetro.

Já um Scheduled Task permite que você execute uma tarefa em background, mesmo quando a aplicação não está sendo executada, cada aplicação pode ter um único agente, que será registrando em sua aplicação e você pode especificar o tipo de scheduled que será executado, existem dois tipos, o PeriodicTask e o ResourceIntensiveTask, o primeiro é indicado para tarefas onde o tempo de execução será curto, como por exemplo, armazenar uma pequena quantidade de dados, e pode ser utilizado regularmente, já o ResourceIntensiveTask, tem sua utilização mais rara, pode ser utilizado para tarefas mais demoradas e que utilizam mais dos recursos do smartphone, com por exemplo a sincronização de um grande volume de dados.

File Transfers

Na versão mango temos disponíveis algumas APIs para a manipulação de uploads e downloads de arquivos no Windows Phone, esses arquivos podem ser enfileirados e executados em segundo plano (background), o Windows Phone fornece meios de verificar o status da transferência dos arquivos e ainda fornece meios de monitorar o progresso do download ou upload.

Áudio Background

Tocar um arquivo de som rodando em background, mesmo que a aplicação não esteja em foreground, se tornou uma tarefa fácil e gerenciada pelo sistema operacional, o suporte ao áudio em background é fornecido pelo namespace Microsoft.Phone.BackgroundAudio, com ele é possível acionar uma música e mesmo que o usuário inicie outros aplicativos, a música continuará em execução e o usuário ainda terá o acesso aos controles de aumentar e diminuir o volume.

Mais informações: http://msdn.microsoft.com/en-us/library/hh202978(v=vs.92).aspx

Sensores

Os smartphones estão ficando cada vez mais sofisticados e uma série de sensores estão sendo disponibilizados com esses modernos aparelhos, na versão mango temos disponível além do conhecido acelerômetro, mais dois sensores igualmente importantes, como a bússola e o giroscópio.

A bússola permite obter o ângulo pelo qual o smartphone é girado em relação ao polo magnético da terra, sua aplicação pode realizar a leitura dessas forças magnéticas e utilizar para realizar alguma ação, o sensor bussola não é um item considerado obrigatório para os fabricantes de equipamentos utilizarem com o Windows Phone, portanto se a sua aplicação for utilizar o recurso , ele precisa informa-lo e ainda verificar se o recurso está presente através de recursos do sistema operacional. Eventualmente a bussola pode ficar descalibrada, os smartphones com o sensor possuem recursos para a calibração da bussola, onde um movimento em formado de infinito é realizado.

O Giroscópio é outro sensor disponível para o desenvolvedor utilizar em suas aplicações, com ele podemos medir a velocidade de rotação do smartphone dos eixos X, Y e X. Todos os equipamentos com Windows Phone possuem o acelerômetro como sensor obrigatório, o acelerômetro consegue medir a aceleração do smartphone em movimentos mais intensos, no caso de uma simples e leve rotação de eixos, esses valores não podem ser lidos através do acelerômetro, já com o giroscópio é possível obter os valores quanto a velocidade de rotação do celular.

Juntos, o giroscópio, acelerômetro e a bussola, forma um conjunto completo que pode ser utilizado para formar um sofisticado sensor de movimentos, para simplificar essa integração, a versão Mango disponibiliza através do Microsoft.Devices.Sensors.Motion, um conjunto de recursos que facilitam a leitura dos resultados gerados pelos sensores para que você possa utilizar em sua aplicação.

continua…

Jun 10

Adobe Photoshop CS5 – Criação de Interface para Flex 4 – Parte 5

Escrito por DClick Team em 1, 2.0, 4, 6, Adobe, Apresentação, AR, arte, blog, C#, Catalyst, class, Curso, Design, designer, err, Experience Design, explicação, Ferramenta, Flex, for, git, image, imagens, int, interface, mg, O, on, photoshop, player, RIA, Ria’s Geral, S+S, TAT, Tecnologia, Twitter, UI, UX, XP @ 06 10th, 2011 | 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!

Chegamos a fase final, organizamos o layerComps e exportamos as imagens para apresentação, agora, em uma nova aula, totalmente separada, será a parte de componentização e preparação do arquivo PSD para o Catalyst, sei que muitos aguardam ansiosos por isso… Mas continuem acessando o Blog da DClick e me seguindo no Twitter @eduardohorvath para saber quando lançarei as mesmas.


.

AULA 23

.
Aula que ensina como organizar seus layers através do layerComps, juntamente com detalhes importantes da ferramenta.
.

.

AULA 24

.
Finalização a organização com layerComps e explicação de como exportar as imagens por demanda.
.

.

AULA 25

.
Criação de um player e interferindo no LayerComps.
.

.

_________________________________________

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 há mais de 15 anos.
@eduardohorvath

.

Mai 20

Windows Phone 7–UI Thread e Composition Thread

Escrito por Alexandre Tadashi em 1, 2.0, 2009, 3.5, 4, 6, Animação, Animações, app, AR, Artigo, auto, back, Behavior, BI, bitmap, busca, C#, cache, class, CSharp, Curso, Cursos, demo, desempenho, dispatch, Diversos, Draw, DRE, event, exemplo, Experiência do Usuário, for, function, git, Gráfico, handle, html, ide, IE, if, image, imagens, int, interface, Introdução, library, map, maps, mg, Microsoft, monitor, Monitoramento, movimento, MSDN, O, on, Outros, RIA, Ria’s Geral, S+S, silverlight, Silverlight 3, SmartPhone, Software, Storyboard, Sun, super(), TAT, Tema, try, UI, Vídeo, Visual Studio, Visual Studio 2010, vs, window, windows, XP @ 05 20th, 2011 | via http://alexandretadashi.net/ | Sem comentários
Alexandre Tadashi
? 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 »

imageA renderização da interface gráfica do Windows Phone 7 foi projetada para buscar o máximo de performance que o smartphone pode proporcionar, a UI Thread é responsável pelo desenho da interface principal do aplicativo, quando criamos um software para o WP7, devemos evitar bloquear a UI Thread, pois ela está diretamente relacionada a performance do software e também com a experiência do usuário com o aplicativo.

Os smartphones com Windows Phone 7, tem disponível um recurso que utiliza a aceleração da GPU, aumentando consideravelmente o desempenho gráfico para algumas tarefas relacionadas a manipulação de imagens e animações, principalmente as que usam a rotação de eixos, escalas e alguns tipos de? animações que usam de Storyboard. Não é necessário acionar nada para que alguns tipos de Storyboards utilizem esse recurso, eles automaticamente usam o Composition Thread ou também chamado de Render Thread.

O Render Thread pode ser usado para animações simples utilizando DoubleAnimation ou Easing Functions, ou em propriedades? como Opacity, Render Transforms e Rectangular Clip. Habilitando o EnableRedrawRegions podemos ver quais regiões na aplicação estão sendo desenhadas no momento, visualizando? quadro a quadro:

Application.Current.Host.Settings.EnableRedrawRegions = true;

Composition Frame Rate Thread? e UI Frame Rate Thread

Quando executamos um aplicativo através do Visual Studio 2010 com o smartphone plugado no computador,? podemos visualizar alguns números no lado superior direito da tela, esses números servem para você ter como parâmetro alguns pontos sobre a renderização gráfica, memória, etc, os dois primeiros números de 3 dígitos são referente a Render Thread e a UI Thread.

Thread

O Composition Frame Rate Thread está associado a velocidade com que a tela é atualizada em uma thread separada da UI Thread, como referência, o Windows Phone 7 utiliza o valor 30 como ponto de equilíbrio, ou seja, quando for abaixo de 30, os números estarão na cor vermelha, acima de 30 ele ficará com a cor default, o valor mais próximo de uma boa performance é 60, sua aplicação deve buscar sempre se aproximar desse número.

O UI Frame Rate Thread mostra a taxa de atualização da Thread principal, enquanto a interface do usuário estiver ativa, o valor de 30 também foi definido como ponto de equilíbrio, ficando vermelho se a aplicação estiver abaixo deste valor, porém este valor deve ser acima de 20 para ter um tempo de resposta aceitável e quanto maior o valor , o tempo de resposta será mais rápido.

Exemplo prático de UI Thread VS Render Thread

Vou criar um aplicativo simples com dois elementos Ellipse na tela, um com o nome BolaVermelha e outro com BolaAzul, as duas Ellipses serão animadas na tela, a BolaAzul vai utilizar o Render Thread, pois vamos utilizar uma Storyboard com a propriedade RenderTransform, já a BolaVermelha vamos anima-lá atualizando a mesma propriedade, mas utilizando um timer DispatcherTimer para atualizar a propriedade, ou seja, não utilizaremos uma Storyboard para realizar a animação e ela estará utilizando a UI Thread.

   1:    public partial class MainPage : PhoneApplicationPage
   2:      
   3:  
   4:          DispatcherTimer timer;
   5:          RotateTransform rotateVermelho;
   6:          bool bateVolta;
   7:          int contador = 0;
   8:  ? 
   9:          public MainPage()
  10:          
  11:              InitializeComponent();
  12:              Loaded += new RoutedEventHandler(MainPage_Loaded);
  13:  ? 
  14:              Application.Current.Host.Settings.EnableRedrawRegions = true;
  15:  
  16:              this.BolaVermelha.RenderTransform =
  17:                  new RotateTransform();
  18:              this.BolaAzul.RenderTransform =
  19:               new RotateTransform();
  20:  
  21:              rotateVermelho =
  22:              BolaVermelha.RenderTransform as RotateTransform;
  23:              rotateVermelho.Angle = -50;
  24:  ? 
  25:              timer = new DispatcherTimer();
  26:              timer.Tick += new EventHandler(timer_Tick);
  27:              timer.Interval = new TimeSpan(0, 0, 0, 0, 33);
  28:              timer.Start();
  29:  ? 
  30:              bateVolta = false;
  31:  
  32:          
  33:  ? 
  34:          void MainPage_Loaded(object sender, RoutedEventArgs e)
  35:          
  36:  ? 
  37:              Storyboard storyboard = new Storyboard();
  38:              DoubleAnimation animation = new DoubleAnimation();
  39:              animation.From = 0;
  40:              animation.To = 180;
  41:              animation.Duration = new Duration(new TimeSpan(0, 0, 1));
  42:              animation.AutoReverse = true;
  43:              Storyboard.SetTarget(animation, this.BolaAzul.RenderTransform);
  44:              Storyboard.SetTargetProperty(animation, new PropertyPath("Angle"));
  45:              storyboard.Children.Add(animation);
  46:              storyboard.RepeatBehavior = RepeatBehavior.Forever;
  47:              storyboard.Begin();
  48:  
  49:          
  50:  ? 
  51:          void timer_Tick(object sender, EventArgs e)
  52:          
  53:              if (rotateVermelho .Angle == 120)
  54:              
  55:                  bateVolta = true;
  56:              
  57:              if (rotateVermelho.Angle == -50)
  58:              
  59:                  bateVolta = false;
  60:              
  61:  ? 
  62:              if (bateVolta == true)
  63:              
  64:                  rotateVermelho.Angle -= 1;
  65:              
  66:              else
  67:              
  68:                  rotateVermelho.Angle += 1;
  69:              
  70:  ? 
  71:              contador++;
  72:  ? 
  73:              if (contador == 600)
  74:              
  75:                  MessageBox.Show("Parando a UI Thread");
  76:                  Thread.Sleep(1000);
  77:              
  78:  ? 
  79:              if (contador == 1000)
  80:              
  81:                  MessageBox.Show("Inserindo BitmapCache");
  82:                  BitmapCache cache = new BitmapCache();
  83:                  BolaVermelha.CacheMode = cache;
  84:  ? 
  85:              
  86:  ? 
  87:          }
  88:  ? 
  89:      }

?

Na linha 71 criei um contador, quando chegar a 600, ele vai bloquear a UI Thread, na linha 76, a UI Thread é bloqueada propositalmente utilizando Thread.Sleep, neste momento você irá notar que a animação da? BolaVermelha irá parar com base no tempo definido em Sleep, pois a sua Thread está bloqueada, mas a BolaAzul continuará a se movimentar.

Quando o contador chegar a 1000,? vou adicionar um BitmapCache na propriedade CacheMode da BolaVermelha, em alguns casos onde não estamos utilizando a Render Thread, podemos criar um cache, ou seja, colocar os bitmaps na memória, e com isso aproveitar da aceleração da GPU, com performance semelhante a Composition Thread, porém a BolaVermelha continuará na UI Thread,? uma simples mensagem na tela utilizando um MessageBox irá bloquear a UI Thread enquanto a BolaAzul continuará em movimento.

Conclusão

UI Thread e Composition Thread são recursos fundamentais que o Windows Phone 7 utiliza para apresentar a interface gráfica, conhecendo essas Threads você poderá melhorar a perfomance da sua aplicação, os smartphones são equipamentos limitados se comparado a um PC, conhecer quando utilizar determinado recurso pode fazer muita diferença, existem diversos outros pontos a serem considerados quanto ao monitoramento da aplicação com objetivo de melhorar a perfomance, neste artigo somente apresentei uma introdução sobre o assunto.

Alguns recursos podem não funcionar como esperado no emulador, pois depende de diversos fatores como o suporte a DirectX pela placa de video, neste link você encontra mais informações:

WP7/Silverlight Graphics Performance

Mais informações sobre Bitmap Cache : Bitmap Cache

Mais informações sobre performance: Performance Considerations in Applications for Windows Phone

Mai 13

Dicas para Designers (Android UI Guideline)

Escrito por DClick Team em 1, 2.0, 4, 6, Adobe, Android, app, AR, BI, bitmap, blog, busca, C#, class, dados, Design, designer, Dica, Dicas, exemplo, explicação, for, gestão, ide, IE, if, image, imagens, int, interface, lite, map, mg, mobile, NaN, O, on, Outros, photoshop, prova, ps3, RIA, Ria’s Geral, S+S, Software, TAT, Tema, Twitter, UI, UX, Vários, web, XP @ 05 13th, 2011 | 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!


Aqui estão algumas dicas que podem ser úteis quando você? for desenvolver ícones ou outros detalhes de design para sua aplicação. As dicas supõem que você está usando o Adobe Photoshop ou programa similar de vetor ou tratamento de imagem.

Use convenções de nomenclatura comum para os ícones.

Tente nome de arquivos de modo que os assets (vamos entender assets como qualquer imagem que compõe a skin da sua app) fiquem dentro de um diretório todos ordem alfabética. Em particular, ajuda muito usar um prefixo comum para cada tipo de ícone.

Por exemplo (Vou deixar os nomes em inglês dos tipos de ícones para não causar muita confusão para? a Guideline:

Lembre–se que você não é obrigado a usar um prefixo, isso é apenas para auxiliar a organização.

Crie uma área de trabalho para organizar os arquivos de múltiplas resoluções.

Dê suporte a várias densidades (resoluções)

Apoiar várias densidades tela significa que você deve criar várias versões domesmo ícone.

Ou seja, dar suporte a vários tipos de devices significa que você precisa ter várias cópias para várias resoluções

E para isso, nossa sugestão é que você crie diretórios específicos para cada tipo de resolução, de forma a organizar o seu trabalho.

Tal como no exemplo abaixo que não está traduzido a fim de não confundir demais a explicação:

Você também pode ter arquivos com o mesmo nome, porém em diretórios distintos com resoluções diferentes. Ou seja, é o mesmo arquivo, o mesmo ícone por exemplo, porém com resoluções diferentes, que dependendo da situação é requisitado de um diretório específico.

Veja exemplo abaixo:

USE VETOR

Sempre que possível recomendamos que você utilize softwares como Photoshop, mas que crie seus ícones e assets em vetor, a fim de poder redimensionar sempre que necessário para outros tamanhos, otimizando o seu projeto.

COMECE PELO MAIOR TAMANHO

Sempre que você tiver que criar uma iconografia ou um asset, verifique qual é a maior resolução desse elemento, de acordo com a Tabela 1, então comece criando pelo maior tamanho, com isso, basta exportar um único PNG com este tamanho e então redimesioná-los para os demais gerando novos PNGs, em vez de ficar aumentando o seu Vetor.

BITMAP

Cuidado, se você gerou ícones ou outro elemento em bitmap em resoluções como Mdpi (resolução média), e quer aumentar para Hdpi (resolução Alta), então não poderá fazê-lo apenas redimensionando, terá que redesenhar esse elemento, por isso ficar atento a dica sobre o tamanho dos elementos.

METADADOS

Imagens PNG carregam muito mais informações do que você imagina, se você for salvar a imagem unicamente como PNG sem fazer isso visando uma interface mobile, provavelmente estará salvando essa imagem com metadados, aumentando assim o seu tamanho, são informações importantes para que a imagem seja encontrada em buscadores por exemplo, mas não para ser usada em uma interface de sistema. Portanto ao salvar um PNG salve através do Photoshop em Save for Web & Devices. E habilite para PNG24.

Mai 1

Editor de Imagens em Adobe Flex

Escrito por Igor Musardo em 1, 4, 6, Actionscript, Adobe, Adobe Flex, AR, back, blog, Blogs, código, código fonte, custom, Design, efeito, Flex, Flex 4, fonte, html, image, imagens, mg, mvc, O, on, Ria’s Geral @ 05 1st, 2011 | via http://www.igormusardo.com.br | Sem comentários
Igor Musardo
? 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 »

ImageEditorInAdboeFlex

Recentemente Mirko Bordjoski postou em seu blog um editor de efeito de cores de imagens feito para Adobe Flex 4.5 utilizando o CMVC, segundo Mirko, uma customização do PureMVC.

Veja o editor de imagens.

Baixe o código fonte completo pra seus estudos.

Bons estudos…

Mar 18

Adobe Photoshop CS5 – Criação de Interface para Flex 4 – Parte 4

Escrito por DClick Team em 1, 4, 6, Adobe, AR, arte, blog, class, Curso, Design, designer, Experience Design, Flex, for, git, IE, image, imagens, int, interface, mg, O, on, photoshop, RIA, Ria’s Geral, screen, Screencast, screencasts, TAT, Tecnologia, Tutorial, Twitter, UX @ 03 18th, 2011 | via http://blog.dclick.com.br/pt/ | 1 comentário
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!

Nova série de screencasts, por hora estou liberando apenas 1, mas serão 6 por post, semana que vem tem mais e esse post será atualizado com imagens e detalhes.


.

AULA 19

Nessa aula eu mostro como criar um novo smartObject a partir de um existente sem que este fique vinculado.
.

.
_________________________________________

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

Mar 10

Adobe Photoshop CS5 – Criação de Interface para Flex 4

Escrito por DClick Team em 1, 4, 6, Adobe, app, AR, arte, bar, BI, blog, Botões, busca, Catalyst, class, cliente, Curso, demo, Design, designer, Destaque, Flex, Flex 4, Flex4, for, Formação, git, ide, IE, image, imagens, int, interface, lógica, menu, mg, O, on, padrão, photoshop, processo, produto, pt, RIA, Ria’s Geral, screen, Screencast, screencasts, site, TAT, Tecnologia, Tutorial, Twitter, UI, user experience, UX, Vídeo, web, XP @ 03 10th, 2011 | 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 »


Essa é uma aula a tempos pedida pela galera que assiste as aulas de Catalyst. Acontece que não dá para dar aula sobre tudo, vamos aos poucos dando ênfase naquilo que é mais pertinente a essa atividade que se chama Design de Interface, que é o que faço na DClick, juntamente com a parte de User Experience.

Com base nisso, pedi ao nosso Arquiteto de Informação que criasse alguns wireframes de algo bem genérico, optamos por um ShowRoom Virtual feito em Flex, desses que não podemos chamar de mero website, e sim uma aplicação inteligente para mostrar aos clientes alguns produtos, apesar de web, eu não considero como site e sim como uma webapp.

Enviei algumas premissas ao nosso Arquiteto que foram:

Criar um showroom virtual que pode na verdade ser qualquer coisa.

Ele será feito em flex4.

Não quero utilizar combo, quero uma navegação tranquila e mais fácil, porém tudo será dinâmico, ou seja, por um admin poderá ser alterado o menu, o que terá na vitrine etc. Isso na nossa lógica. Nós mesmos iremos até a parte da Skin.

1. Terá uma vitrine com uns 6 produtos em destaque.

2. Cada produto tem suas 3 ou mais fotos, e poderá ter até 1 vídeo.

3. A visualização desses produtos em destaque se dará por pageflip.

4. O menu será horizontal

5. Terá busca.

6. Menu por categoria e subcategoria.

7. Utilizará o tamanho padrão, não pode ter barra de rolagem.

8. Deverá ter o mínimo de coisa no menor espaço possível.

9. Vamos explorar mesmo a navegação do flex como se fosse um iOS (um iPad) etc..

Baseada nessas premissas nosso Arquiteto criou os wireframes, o mesmo ficou de criar alguns screencasts mostrando como funciona esse processo.

.

AULA 1

.

Vamos aprender como criar uma interface completa no Adobe Photoshop CS5, nosso foco é criar uma interface para Flex 4.

.

.

AULA 2

.

Criando o menu Bar com buttons e técnica para visualização do Wireframe diretamente na interface.

.

.

AULA 3

.

Trabalhando com os estados dos botões, up, over, down, técnicas para criar facilmente essa skin.

.

.

AULA 4

.

Aprendendendo a tabalhar com Layer Comps

.

.

AULA 5

.

Finalização da parte mais básica da interface, aplicação das imagens no ambiente com a mask.

.

.

AULA 6

.

Trabalhando bastante com SmartObject

.

.

_________________________________________

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

Mar 9

Iniciando um projeto utilizando Gaia Framework

Escrito por Lucas Marçal em 1, 2.0, 4, 6, action, Actionscript, ActionScript 3, Actionscript 3.0, Adobe, Air, Animação, Apresentação, AR, as3, auto, BI, blog, botão, camp, class, classe, classes, código, configuração, contextMenu, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Destaque, developer, Download, dynamic, exemplo, Exemplos, facebook, flash, Flash Player, for, framework, gaia, game, IE, if, image, imagens, Iniciando, int, library, Linha de Código, Links, lista, menu, mg, O, on, Outros, painel, Pessoal, PHP, player, processo, Projetos, pt, RIA, Ria’s Geral, SEO, site, Software, Sun, swf, tag, TAT, template, Tutoriais, Tutorial, Twitter, UI, uint, Ved, Vídeo, Vídeos, window, XML, XP @ 03 9th, 2011 | via http://www.lucasmarcal.com.br/blog/ | Sem comentários
Lucas Marçal
? 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 »

Salve pessoal
Estou voltando à ativa nesse blog, espero que agora eu encontre tempo para criar os tutoriais.

Inicialmente gostaria de deixar claro que o foco desse blog não é o público que eu chamo de “Hard ActionScript Developer” o meu foco são aqueles desenvolvedores que estão iniciando ou que são intermediários no mundo do Actionscript 3.0, então nem sempre vamos focar no “melhor código” para os exemplos, mesmo porque eu nem teria tempo para fazer isso, na verdade a minha intenção e abordar superficialmente algumas coisas que vejo no meu dia-a-dia e apresentar coisas realmente usuais para todos.

Dito isso, fica claro que não tenho a intenção de criar uma metodologia definitiva para desenvolvimento, então pegue leve nas críticas =)

Hoje vamos falar sobre a utilização do Gaia Framework para desenvolvimento de pequenos projetos (games, hotsites etc…)

O que é o Gaia Framework?

O Gaia Framework é um projeto Open-Source para Actionscript 2.0 e 3.0 que visa facilitar sua vida na hora de desenvolver projetos em Flash, ele reduz drasticamente o tempo que você leva desenvolvendo, pois cria automaticamente alguns dos processos comuns a qualquer site em Flash.
Com o Gaia Framework é possível criar sites usuais em flash em pouco tempo com características que você levaria horas para fazer tais como:

1. Navigation
2. Transitions
3. Preloading
4. Asset Management
5. Dynamic Font Loading
6. SEO
7. DeepLinks

Para maiores informações e detalhes sobre o que é o Gaia Framework acesse o site

Instalando o Gaia Framework

Acesse o site e faça download do arquivo MXP do Gaia Framework, feito isso clique duas vezes no arquivo para instalar. Abra o Adobe Flash Cs5 e vá na aba Help > Manage Extentions ,certifique-se que o Gaia Framework esteja instalado corretamente como na imagem abaixo:

Pronto, agora o seu Adobe Flash Cs5 já está pronto para trabalhar com o Gaia Framework.

Instalando Gaia Site Creator

O Gaia Site Creator é um aplicativo AIR que facilita ainda mais o desenvolvimento com Gaia Framework ele irá nos ajudar na hora de criar o arquivo “site.xml” que define as “paginas” que nosso site em Flash vai ter, sobre esse arquivo XML vamos falar nas próximas aulas, por hora apenas acesse o site e instale o Gaia Site Creator.

Criando 1º projeto com Gaia Framework

Com o Adobe Flash Cs5 aberto vá na aba Window > Other Panels > Gaia Framework
Uma janela como essa vai se abrir para você:

1. Criar um novo projeto em Actionscript 3.0
2. Criar um novo projeto em Actionscript 2.0 (sai fora, credo!)
3. Importar um projeto existente
4. Fazer uma doção para o Steven Sacks =)
5. Lista de projetos criados (ainda em branco)

Esse é o painel que você vai trabalhar durante todo o tempo de desenvolvimento com o Gaia Framework aconselho você a deixar ele em um lugar de fácil acesso durante o desenvolvimento.
Agora é a hora de começarmos realmente a desenvolver utilizando o Gaia Framework, com o painel do Gaia Framework aberto clique no botão “Create AS3″ e configure como a imagem abaixo:

1. Nome do projeto que vamos desenvolver
2. Pasta raiz do projeto
3. Versão do Flash Player que esse projeto vai ser compilado
4. Versão do Gaia Framework e do Greensock (motor de animação) utilizado
5. Tamanho do Stage, Framerate e cor
6. Estrutura de pastas criada pelo Gaia Framework aconselho a deixar dessa forma
7. Tipo de projeto utilizado, nesse exemplo vamos usar o FlashDevelop para desenvolver

Com todos esses requisitos preenchidos clique no botão “Create New Project” para criar o projeto do Gaia Framework.
Pronto, o Gaia Framework acabou de criar a estrutura básica para trabalharmos o projeto veja como ficou nossa estrutura:

1. Arquivo de configuração do Gaia Framework
2. Arquivo de projeto do FlashDevelop
3. Pastas com arquivos publicáveis (swf, imagens, XML…)
4. Pasta com os arquivos FLAs
5. Pasta com os arquivos .as
6. Pasta com os templates (não vamos usar mais não delete)

Agora é hora de configurar o arquivo “site.xml” que determina quais “paginas” serão criadas em nosso projeto, lembra do nosso amigo Gaia Site Creator? Então é hora de iniciar ele, com o Gaia Site Creator aberto importe o arquivo “site.xml” que se encontra dentro da pasta “bin>xml” o arquivo deve aparecer como na imagem abaixo:

Essa é a estrutura básica que o Gaia Framework cria para o projeto, porém, não é a estrutura que vamos usar para esse projeto inicial siga os próximos passos para configurar corretamente o arquivo “site.xml”
Clique no item “home” e no item “id:nav” e arraste eles para o campo vermelho chamado “drop here to delete” como mostra a figura abaixo:

Configurando um projeto de portfólio dentro do Gaia Site Creator

O item “id:index” funciona como uma “Main page” ele é o root do nosso aplicativo(existe ainda uma classe chamada “Main.as” mas vamos falar sobre ela depois. Nesse projeto todas as paginas serão filho da pagina “índex.fla”

Para criar um novo “filho” no arquivo “site.xml” você deve clicar na aba “assets” do Gaia Site Creator e arrastar o item “New Page” para dentro do item “id:index” e depois configurar algumas propriedades como mostra na figura abaixo:

1. Nome utilizado posteriormente para acessar essa pagina
2. Nome do arquivo swf que será criado quando o Gaia Framework for compilado
3. Titulo da “pagina” quando esse arquivo for acessado

A descrição para as outras configurações desse arquivo não serão abordadas nesse momento e podem ser encontradas nesse link

Antes que eu esqueça de dizer esse projeto vai ser um portfólio de um Flash Developer como eu e você então a estrutura de paginas vai ser como mostra a imagem abaixo:

1. Pagina de apresentação
2. Perfil do desenvolvedor
3. Portfólio
4. Fotos
5. Vídeos
6. Contato

A minha intenção com esse tutorial é que posteriormente eu mostre como trabalhar com algumas classes que utilizo então podemos explorar integrações com Twitter, Flickr, Youtube etc… Esse projeto vai servir como base para outros tutoriais.

Criada essa estrutura dentro do Gaia Site Creator clique na aba “file > Export > ExportSiteXML” e sobrescreva o arquivo “site.xml” com essa nova configuração, abra esse arquivo dentro do software Flash Develop (imagino que você já esteja utilizando ele para desenvolver seus projetos) a estrutura do arquivo “site.xml” ficou da seguinte forma:

Se você seguiu todos os passos que descrevi acima, abra novamente o Adobe Flash Cs5, com o painel do Gaia Framework aberto vá até a aba “scaffold” e clique em “scaffold project”.

Ele vai criar todos aqueles arquivos que configuramos no “site.xml” dentro da pasta de projeto, aguarde os arquivos serem criados/compilados, ao final desse processo ele vai abrir uma aplicação como na figura abaixo:

Agora no painel do Gaia Framework a aba que ficou marcada é “Publish” clique no botão “save” que fica no canto direito superior para salvar esse projeto. Agora na lista de projetos criados você tem todos os projetos que está trabalhando no Gaia Framework como mostra uma visão dos meus projetos na figura abaixo:

Clique duas vezes sobre o projeto que estamos trabalhando, vá até a aba “publish” clique na pasta “lib” e veja que todos os arquivos configurados no “site.xml” foram criados dentro do projeto como mostra a figura abaixo:

1. Esse botão deve ser usado sempre que você fizer alterações nos arquivos, não adianta apenas dar um CTRL+Enter no arquivo é preciso clicar nesse botão para compilar os arquivos marcados na lista, caso algum arquivo não esteja marcado ele NÃO vai compilar o arquivo
2. Botão abre a pasta raiz do projeto
3. Lista de arquivos do projeto
4. Esse botão sincroniza as modificações feitas no arquivo “site.xml” e vamos tratar disso nos próximos tutoriais

Clique no botão “Test Project” para ver o resultado desse tutorial, lembrando que essa tela preta que aparece é fruto de uma configuração inicial feita pelo Gaia Framework, se você abrir por exemplo a pagina “home.fla” não vai ver nenhum “asset” dentro dela ou da library, não se assuste vamos tratar desses e de outros assuntos no próximo tutorial.

Nesse tutorial não vamos abordar o desenvolvimento do menu do site, então para navegar no projeto feito até aqui utilize o botão direto do mouse e clique no ContextMenu para navegar entre as paginas.

Conclusão

Nesse tutorial eu abordei os aspectos básicos para desenvolver usando o Gaia Framework, veja que não fizemos nenhuma linha de código, mas não se engane existem muitas coisas para aprender ainda.

No próximo tutorial vou falar sobre a estrutura de pastas criadas pelo Gaia Framework e como iniciar nosso projeto com as modificações em Actionscript 3.0 ou seja, prepare-se para programar no próximo tutorial.

Arquivos utilizados no tutorial

Baixar

Resultado desse tutorial

Link

Meu perfil no Facebook
Meu Twitter

Uma abraço a todos, divulguem esse tutorial!

Mar 3

Resource Bundle – Imagens e Classes

Escrito por DClick Team em 1, 4, 6, Actionscript, Air, AR, ASDoc, BI, blog, boolean, class, classe, classes, Flex, Flex Components, image, imagens, int, library, Number, O, on, pt, Ria’s Geral, screen, Screencast, string, Sun, TAT, Twitter @ 03 3rd, 2011 | 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 »

primeiro post irei falar sobre como utilizar imagens e classes vinculadas a localização.

Vale destacar que a nossa biblioteca BundleLibrary foi alterada para a inclusão do ASDoc e dos métodos:
getNumber(String):Number;
getInt(String):int;
getObject(String):Object;
getClass(String):Class;
getBoolean(String):Boolean;

Assista o screencast abaixo sobre o passo-a-passo de como utilizar imagens e classes com resource bundle.

« Entradas anteriores | Entradas recentes »

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 2791 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