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

Primeira aplicação WP7 com Expression Blend

Escrito por Alexandre Tadashi em .NET, 1, 3d, 4, 6, Air, Animação, Animações, Aplicativos, app, AR, Artigo, auto, back, bar, BI, Blend, botão, Botões, browser, C#, carregar, checkBox, código, control, Controles, Controls, Curso, Cursos, dados, demo, Desenvolvimento, Design, designer, Desktop, developer, Diversos, DRE, err, event, Evento, events, exemplo, expression, Expression Blend, Ferramenta, Flex, for, fundo, git, gratuito, html, ide, IE, if, image, imagens, int, interface, Introdução, layout, lista, menu, mg, mobile, movimento, O, on, Orientação, Outros, Partilha, processo, produtividade, programação, Projetos, RIA, Ria’s Geral, Scroll, silverlight, tag, Tecnologia, Tema, Teste, tool, Tutorial, UI, UX, Vários, Ved, Vídeo, Visual Studio, Visual Studio 2010, web, window, windows, WPF, XAML, XML, XP @ 02 23rd, 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 »

imageNeste tutorial vou criar uma pequena aplicação utilizando o Expression Blend 4,  será implementado o básico para quem está começando com o desenvolvimento de projetos para o Windows Phone 7 utilizando o Expression Blend 4.

No artigo anterior, vimos como preparar o ambiente gratuito de desenvolvimento para criar aplicações mobile utilizando o Windows Phone 7, o Expression Blend é instalado junto com o Windows Phone Developer Tools, saiba mais em Introdução ao Windows Phone 7.

Se você ainda não conhece o Expression Blend 4, talvez tenha uma dúvida, quando utilizar o Visual Studio 2010 e quando utilizar o Expression Blend ?

Tudo que é produzido em XAML pelo Expression Blend também pode ser reproduzido no Visual Studio 2010, porém, a criação de aplicativos visualmente ricos com as novas tecnologias trouxe novas possibilidades ao programador, como o suporte a elementos multimídias e animações, a possibilidade de modificar como as informações são apresentadas nos elementos visuais e outros diversos recursos, com isso houve a necessidade de ter uma ferramenta voltada ao designer da aplicação, onde o foco seria a camada visual.

O Expression Blend chegou para suprir essa necessidade, dessa forma o designer da aplicação tem uma ferramenta com recursos mais sofisticados e visuais, com o Blend a maioria das tarefas são executadas de forma visual, sem que seja necessário digitar dezenas de códigos, por exemplo, o Expression Blend tem total suporte a criação de animações, possuindo uma timeline, onde o designer poderá acionar a animação e gravar todos os movimentos que fizer com o mouse na aplicação, quando finalizar, todo o código XAML é gerado automaticamente pelo Blend, esse é somente um exemplo do qual a ferramenta gera produtividade quanto à criação visual da interface.

O Expression Blend é totalmente integrado ao Visual Studio 2010, é possível trabalhar com as duas ferramentas abertas com o mesmo projeto, que as modificações são atualizadas em cada ferramenta.

Criando uma aplicação no Expression Blend

A aplicação do tutorial vai listar algumas urls em um ListBox, quando o usuário clicar em um item, a aplicação será redirecionada para outra página em XAML, essa página vai  conter um browser e receberá o link a ser carregado.

Inicie o Expression Blend e crie uma aplicação do tipo Windows Phone Application, Figura 1, na aba Projects, temos os arquivos iniciais da aplicação gerados pelo Expression Blend, a aplicação tem três arquivos de imagens, e dois arquivos do tipo XAML, o XAML (eXtensible Application Markup Language), é uma marcação similar a marcação XML, é utilizada no Silverlight tanto para aplicações WEB como para o WP7, e também é utilizada para criar aplicações desktop com o WPF para o ambiente Windows.

Com a marcação XAML podemos criar layouts de telas separadas do código da linguagem de programação C#, possibilitando assim, um menor acoplamento entre o design e a programação, dessa forma um designer poderia trabalhar no design das telas utilizando somente o XAML, enquanto o programador faz o modelo da aplicação.

Resumidamente o arquivo App.xaml é usado pela aplicação silverlight para declarar recursos compartilhados no projeto, já o arquivo MainPage.xaml é o arquivo principal da aplicação, sua representação visual é a que aparece no centro da tela, mostrando uma interface com um layout inicial de um aplicativo WP7.

clip_image002

Figura 1 – Windows Phone Application

Layout Control

Na aba Objects and Timeline, temos a hierarquia dos elementos visuais da aplicação, em nosso projeto, inicialmente vemos 3 itens, o PhoneApplicationiPage, que é a pagina principal do layout, onde todos os elementos serão inseridos, o ApplicationBar, é uma área reservada para um barra onde podemos personalizar botões e menus para serem usados na aplicação, em seguida temos o LayoutRoot, este é o nome dado ao Layout Control Grid da aplicação default.

Um Layout Control serve para auxiliar no posicionamento de elementos na tela, existem vários controles de layout disponíveis em Silverlight, cada layout control tem sua utilidade dependendo do objetivo, o layout control Grid é um dos mais flexíveis, semelhante a uma tabela HTML, esse controle permite que seja criado linhas e colunas,  além de definir o tamanhos e a altura de cada linha e coluna.

Abaixo segue os tipos de Layouts disponíveis para serem utilizados no Windows Phone 7:

  • Grid – Layout mais flexível , é possível inserir os elementos dentro de linhas e colunas.
  • Canvas – permite posicionar os elementos em posições fixas dentro do Layout Control, ou seja, você pode definir uma posição exata que o elemento deve ficar no Canvas, fornecendo suporte ao posicionamento absoluto dos elementos filhos.
  • StackPanel – Adiciona os elementos em uma pilha, com orientação vertical ou horizontal.
  • ScrollViewer – Habilita barras de rolagens vertical e horizontal
  •  Border – Insere uma borda em um único elemento interno.

 Veja neste link os Layout Controls na prática, para facilitar o entendimento eu digitei o código XAML abaixo da tela principal, refletindo as modificações, conforme digitadas. (video wmv ).

Conhecendo o MainPage.xaml

A tela inicial da aplicação contém um layout Grid principal, chamado de LayoutRoot , com um fundo transparente. Em seguida temos a definição de duas linhas dentro do layout. Dentro do layout control Grid chamado LayoutRoot temos outro layout control do tipo StackPanel, note que o StackPanel está definido na linha zero do Layout Control Grid acima, utilizando a propriedade Grid.Row = ”0”. Dentro do Stackpanel temos três elementos, um TextBlock chamado ApplicationTitle, onde na propriedade Text você poderá modificar o nome da aplicação para qualquer nome que desejar , em seguida temos outro TextBlock com nome de PageTitle, onde podemos também na propriedade Text  modificar o título da página. O Terceiro elemento é outro Layout Control do tipo Grid com o nome de ContentPanel, é nele que o conteúdo da sua aplicação será criado no projeto.

Listagem 1. XAML do código default

clip_image002[15]

Mas tudo isso não é uma regra, em nossa aplicação de exemplo queremos aproveitar o máximo da tela do Windows Phone 7, vamos remover todo o conteúdo do primeiro layout Grid, o LayoutRoot, em seguida troque o tipo de layout, para isso, selecione com o botão direito do mouse no layout control e em Objects and Timeline, clique em Change Layout Type, Figura 3, e altere para um StackPanel. Adicione um ListBox no StackPanel,  o código completo está na Listagem 2.

Vamos também remover a barra do system tray do WP7, onde aparece o nível da bateria, sinal e hora, para isso, selecione o item PhoneApplicationPage na aba Objects and Timeline e nas propriedades, remova o checkbox Show SystenTray, Figura 2, com isso temos todo o espaço disponível da tela para utilizar em uma aplicação.

clip_image004

Figura 2 – Removendo o SystemTray

clip_image006

Figura 3 – Alterando o Layout Control

Listagem 2. XAML da aplicação

clip_image008

Inserindo dados de exemplo

Para criar o nosso exemplo seria necessário carregar informações de algum provedor de dados, o designer da aplicação não precisa conhecer como esses dados serão implementados, pois o ideal é que eles sejam ligados de forma menos acopladas possível, ou seja, que cada camada tenha suas responsabilidades bem definidas, para facilitar essa tarefa ao designer, e para auxiliar nos testes de dados em interfaces XAML, o Expression Blend disponibiliza uma forma de criar dados de exemplo,  deixando ainda os elementos visuais corretamente ligados as objetos que contém os dados.

Para criar uma coleção de dados de exemplo e ligar ao ListBox , clique na aba Data e no ícone Create Sample Data, digite o nome do DataSource, clique nas propriedades e modifique conforme desejar, depois arraste e solte a coleção para dentro do ListBox e você terá uma ListBox ligada a uma coleção de dados. Como esse passo é 100% visual no Expression Blend, veja neste vídeo rápido o processo passo a passo.

 ( video wmv) – Create Sample Data

clip_image002[17]

Figura 4 – ListBox com dados de exemplo

Navegação de Páginas

Para finalizar o exemplo, vamos inserir um evento SelectionChanged no ListBox, assim quando o usuário selecionar um item no Listbox vai abrir outra página com o link selecionado carregado no browser, para inserir o evento, selecione o ListBox, na aba properties, clique  no ícone Events e dê um duplo click no evento SelectionChanged, Figura 5.

clip_image002[19]

Figura 5 – ListBox – Criando um evento SelectionChanged

Dentro do evento SelectionChanged do ListBox,  primeiro vamos obter o item selecionado no ListBox através da propriedade SelectedItem, depois através do recurso NavigationService.Navigate, vamos navegar até a outra página, passando como parâmetro a url que será carregado no Browser, Listagem 3. Adicione uma página em seu projeto com o nome de PhonePageBrowser, adicione um elemento WebBrowser e o método onNavigatedTo, esse método será responsável por obter a url e carregar o browser com o link passado, Listagem 4.

Listagem 3. XAML da aplicação

clip_image004[7]

Listagem 4. XAML da aplicação

clip_image006[7]

Conclusão

O Expression Blend é um poderoso aliado para a criação de aplicativos para o Windows Phone 7 com Silverlight,  vimos de forma superficial como criar uma aplicação na ferramenta, além de conhecer um pouco sobre os layout controls, sample data e navegação de páginas.

Fev 2

Introdução ao Windows Phone 7

Escrito por Alexandre Tadashi em .NET, .Net Magazine, 1, 2009, 3d, 4, 6, Animação, Animações, Aplicativos, app, AR, arte, Artigo, auto, back, BI, Blend, blog, Blogs, botão, browser, C#, camp, case, class, Class Library, código, código fonte, configuração, control, Curso, Cursos, custom, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Design, designer, developer, development, DevMedia, Diversos, Download, DRE, email, empresas, err, exemplo, explorer, expression, Expression Blend, Ferramenta, fonte, for, framework, fundo, game, Geral, git, gratuito, html, ide, IE, if, image, instalação, int, Introdução, jogo, Jogos, layout, library, Links, lista, live, Mac, menu, Mercado, mg, Microsoft, Microsoft Expression, Microsoft Silverlight, mobile, MSDN, Negócios, novidade, Novidades, O, on, pagamento, produtividade, Projetos, RIA, Ria’s Geral, RTW, silverlight, Silverlight 4, site, SmartPhone, social, Software, spark, tag, Tecnologia, Tema, tool, UI, uint, UX, Ved, Visual Studio, Visual Studio 2010, vs, web, window, windows, windows 7, XAML, Xna, XP @ 02 2nd, 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 »

WP7_1

Neste artigo será apresentada uma pequena introdução ao desenvolvimento de projetos mobile com o Windows Phone 7, o Windows Phone 7 ou WP7, é o mais recente sistema operacional da Microsoft para a plataforma mobile, foi projetado para proporcionar ao desenvolvedor a criação de aplicativos com recursos interativos e ricos, seu visual é simples, agradável e moderno. Para o desenvolvimento de aplicativos para essa plataforma a Microsoft investiu praticamente no Microsoft Silverlight e no Framework XNA.

O Silverlight pode ser utilizado para diversas finalidades, mas sua força está na criação de aplicativos de negócios em geral, utilizando a plataforma .net. Além do WP7 é possível utilizar o Silverlight para criar projetos web , rodando no browser ou até mesmo criar projetos Silverlight que rodam instalados fora do browser.

O XNA é um framework completo para o desenvolvimento de games, tanto para PCs com o Windows, como para o XBOX 360 e o Windows Phone 7, é possível criar jogos com o Silverlight , mas como o XNA foi concebido com esse propósito ele tem um suporte melhor para a criação de games mais complexos.

Se você já programa em C# .net ou até em Silverlight, você poderá aproveitar e aplicar seus conhecimentos para criar aplicativos para o WP7, neste artigo será apresentado como preparar o ambiente de desenvolvimento para você iniciar a criação de aplicativos para o Windows Phone 7 com Silverlight utilizando o Visual Studio 2010 ou com o Expression Blend.

O Ambiente de desenvolvimento para o WP7 é totalmente gratuito, você poderá utilizar o Visual Studio 2010 Express, o Visual Studio é a principal IDE da Microsoft para o desenvolvimento de aplicativos para a plataforma .net, neste artigo vou usar a versão Premium do Visual Studio 2010 , mas você poderá utilizar os mesmos conceito na versão Express (gratuita).

Uma ferramenta muito interessante e com total suporte ao Windows Phone 7 é o Expression Blend 4, o Blend é uma ferramenta completa para a criação de layouts aprimorados, com suporte ao Windows Phone, nela diversas tarefas são realizadas com a ajuda do mouse, os códigos XAML são gerados automaticamente conforme você manipula visualmente o layout das telas, além de praticidade e produtividade ele também possui um emulador do Windows Phone e diversos recursos para o designer da aplicação. 

Ambiente de desenvolvimento – Windows Phone 7 Developer Tools

WP7DT

Para iniciar o desenvolvimento com o WP7 você vai precisar instalar o Windows Phone Developer Tools  RTW , ele está disponível para o Windows Vista e Windows 7, o programa inclui os seguintes aplicativos:

  • Visual Studio 2010 Express for Windows Phone
  • Windows Phone Emulator Resources
  • Silverlight 4 Tools For Visual Studio
  • XNA Game Studio 4.0
  • Microsoft Expression Blend for Windows Phone 
  •  

    Para outras informações sobre o ambiente gratuito de desenvolvimento para o WP7 clique aqui.

    Inicie a instalação do Windows Phone Developer Tools RTW, se você tiver alguma versão incompatível instalada,  o software vai alertá-lo, a primeira etapa é aceitar a licença do programa, em seguida aparecerá uma tela com o botão “Install Now”, clique  para iniciar a instalação, você poderá neste momento alterar o diretório de instalação, Figura 1, se clicar no botão Customize.

    O Windows Phone Developer Tools iniciará a instalação dos programas e você verá a tela da Figura 2 assim que a instalação de todos os programas for completada.

    Figura 1. Customizando a Instalação do Windows Phone Developer Tools

    Figura 2. Instalação concluída do Windows Phone Developers Tools

    Os programadores Visual Basic tem um Windows Phone Developers Tools específico neste link Visual Basic for Windows Phone Developer Tools – RTW.

    Criando uma aplicação no Visual Studio 2010

    Abra o Microsoft Visual Studio 2010 e clique em File->New->Project, cinco opções são apresentadas como modelos de projetos para o Windows Phone, o primeiro é o Windows Phone Application, nele temos um projeto básico com o mínimo necessário para criar uma aplicação WP7, a segunda opção é a Windows Phone Databound, que permite criar uma aplicação baseada em um modelo capaz de trabalhar com uma lista de dados e com controle de navegação,  a terceira opção é a Windows Phone Class Library, onde é possível criar uma biblioteca para o Windows Phone, em seguida temos o Windows Phone Panorama Application, que cria um projeto com um modelo de navegação muito comum no Windows Phone, onde é possível através do toque na tela andar pela aplicação e navegar em suas listas de dados e por ultimo temos o Windows Phone Pivot Application, onde está disponível um controle Pivot para ser usado na aplicação.

    vs1

    Figura 3. Tipo de projetos para Windows Phone no Visual Studio 2010

    Como o foco do artigo não é a criação de uma aplicação para o Windows Phone 7 e sim somente dar uma introdução ao desenvolvimento para a plataforma, vamos criar um projeto do tipo Windows Phone Panorama Application e modificar somente em dois pontos e em seguida visualizar as alterações.

    No código fonte da aplicação (XAML), vamos modificar o título da aplicação e o cabeçalho do primeiro item do controle panorâmico, localize o controle  Panorama e modifique o parâmetro Title para um nome qualquer, em seguida faça o mesmo com a propriedade Header do controle PanoramaItem, veja a Figura 4.

    FontePanorama 

    Figura 4. Modificando o fonte do projeto Windows Phone Panorama Application

    Agora clique no play do Visual Studio 2010 para executar a aplicação e visualizar o emulador do Windows Phone 7, Figura 5 e 6.

    emuladorVS

    Figura 5. Executando a aplicação no emulador do Windows Phone 7

    Emulador 

    Figura 6. Emulador do Windows Phone 7 no Visual Studio 2010

    Abrindo a aplicação no Expression Blend 4

    O Expression Blend é um aplicativo que auxiliar na parte gráfica da aplicação, com ele temos uma ferramenta gráfica e com recursos específicos para essa finalidade, um bom exemplo e a criação de animações em sua aplicação, vamos supor que você queira animar um determinado elemento, seja uma imagem ou um botão, por exemplo,a vantagem de utilizar o Blend nesta tarefa é a possibilidade de gravar toda a animação na tela e ele automaticamente gera todo o código XAML, poupando dezenas de linhas de códigos que seriam digitadas no Visual Studio 2010.

    O Microsoft Expression Blend for Windows Phone é um dos aplicativos instalados pelo Windows Phone Developers Tools, existe também uma versão para uso do Silverlight  que é a que estou usando neste artigo, chamada de Expression Blend 4, que faz parte do pacote do Expression Studio 4, integrado com o Visual Studio 2010 e que também funciona para programar para o Windows Phone 7.

    Saiba mais sobre o Expression Studio 4 neste artigo da .net Magazine.

    O Expression Blend é integrado ao Visual Studio 2010, basta clicar no seu projeto com o botão direito do mouse e clicar em Open in Expression Blend, Figura 7, qualquer modificação feita nas ferramentas já é atualizado na outra assim que uma é acionada.

    Figura 7. Emulador do Windows Phone 7 no Visual Studio 2010.

    eb

    Figura 8. Expression Blend 4.

    App Hub

    Os aparelhos com o Windows Phone 7 ainda não chegaram ao Brasil, o jeito é aguardar ou adquirir um aparelho importado, depois que você já preparou o ambiente de desenvolvimento e já está desenvolvendo aplicativos com a tecnologia Silverlight ou XNA, você vai querer testar o aplicativo no próprio aparelho e ainda começar a ganhar dinheiro enviando sua aplicação para o Windows Phone Marketplace, o Windows Phone Marketplace é onde você pode testar e comprar aplicativos, jogos, músicas para o seu Windows Phone 7.

    O Windows Phone Marketplace já está aberto para que os desenvolvedores possam enviar seus aplicativos, para que você possa criar aplicações e vender no Marketplace você vai precisar desbloquear o equipamento e criar uma conta no site App Hub, vamos ver agora passo a passo como realizar esse procedimento.

    1. Acesse o site http://create.msdn.com/en-US .
    2. Clique em Sig-in .
    3. Entre com o seu Window Live ID .
    4. Selecione o tipo de conta: Company (Empresas), Individual (desenvolvedor individual) ou Student (estudante que participa do projeto DreamSpark) .

    As contas do tipo Company e Individual tem um custo anual de $99, se você é estudante, participe do projeto DreamSpark, atualmente o Dreamspark é a única forma de participar do App Hub sem custos, no meu caso eu selecionei um conta de desenvolvedor individual.

    Figura 8. Tipo de conta no App Hub

    5. O próximo passo é digitar algumas informações pessoais como nome, endereços e email, no campo Publisher Name, você informará o nome que aparecerá no Windows Phone Marketplace.
    6. Selecione a imagem que será apresentada quando você participar de fóruns do App Hub.

    Figura 9. Imagem que será apresentada nos fóruns.

    7. Se você não selecionou o tipo Student (Dreamspark), será necessário pagar uma taxa anual para enviar aplicativos para o Windows Phone Marketplace, está disponível atualmente o pagamento via cartão de crédito VISA e MASTERCARD.

    8. A última etapa e a confirmação do email e de sua identidade, no caso da conta individual, ambos são feitos por e-mail. Você receberá uma e-mail alguns dias após o cadastro para validar a sua identidade, no caso de desenvolvedor individual é necessário enviar uma cópia da sua carteira de motorista ou passaporte.

    Figura 10. Conclusão do cadastro no App Hub.

    Na página do App Hub, no link Devices, aparecerão os aparelhos que você vai desbloquear e poderá realizar o deploy no Visual Studio 2010 antes de publicar no Windows Marketplace. 

    Zune

    O Zune é o software que irá fazer a sincronização da sua aplicação no Visual Studio 2010 e o equipamento, para mais informações sobre o Zune veja no blog do MSDN.

    Faça o Download da última versão do Zune no site oficial.

    Desconecte o seu aparelho do computador, caso esteja conectado, feche todos os aplicativos abertos e inicie a instalação, a primeira etapa é aceitar a licença do ZUNE, em seguida o software é instalado. Quando você receber a mensagem de “INSTALAÇÃO DO SOFTWARE DO ZUNE CONCLUÍDA”, clique em fechar, uma tela será apresentada com as etapas de configurações do ZUNE, a primeira configuração e a tela abaixo onde você vai inserir o nome que o equipamento vai ter no software do ZUNE, no equipamento e no site.

    Figura 11. Nome do telefone no ZUNE

    Conecte o seu celular via USB e deixe o windows realizar a instalação dos drivers, agora você já tem o seu aparelho sincronizado com o ZUNE.

    Figura 12. Dados do aparelho sincronizado

    Registrando o aparelho no Windows Phone Developer

    Este é o último passo antes de você iniciar o deploy com o Visual Studio 2010 e enviar sua aplicação ao Marketplace, vamos agora registrar a conta como desenvolvedor, no menu iniciar do Windows, localize o menu Windows Phone Developer Tools e clique em Windows Phone Developer Registration.

    Figura 13. Registro de desenvolvedor

    Deploy no Visual Studio 2010

    No menu do Visual Studio 2010, localize o combo onde está escrito Windows Phone 7 Emulator e altere para Windows Phone 7 Device, selecione o projeto no Solution Explorer do Visual Studio com o botão  direito do mouse e clique em deploy. O Zune deverá sempre estar ativo para realizar a sincronização com o equipamento.

    Deploy

    Figura 14. Deploy no Visual Studio 2010

    Conclusão

    imagesCAZ3EAMH

    Com a evolução dos aparelhos de celulares e smartphones, o mercado mobile está crescendo assustadoramente a cada ano, os novos equipamentos estão recheados de novos recursos e com isso a necessidade de que tenha um sistema operacional capaz de aproveitar ao máximo tudo que as novas tecnologias estão oferecendo, é neste cenário que a Microsoft apresenta o seu Windows Phone 7.

    O Windows Phone Marketplace está recheado de aplicativos e games, o potencial do sistema operacional da Microsoft é muito positivo, particularmente eu acho o sistema operacional fantástico e de incrível liberdade de desenvolvimento para os desenvolvedores .net, principalmente pela produtividade e pelo fato de aproveitar os conhecimentos já adquiridos em C#, Visual Basic, XNA e Silverlight, enquanto o Windows Phone ainda não está disponível aqui no Brasil , podemos criar aplicações com as ferramentas gratuitas da Microsoft.

    Links Interessantes:

    WP7_fundohttp://winphoneblog.com.br/ 

    http://channel9.msdn.com/Series/Windows-Phone-7-Development-for-Absolute-Beginners

    http://www.devmedia.com.br/post-17986-Windows-Phone-7-e-Silverlight-4.html

    http://www.charlespetzold.com/phone/

    http://www.devmedia.com.br/post-18740-Animacoes-no-Windows-Phone-7.html

    http://blogs.msdn.com/b/jpclementi/archive/2011/02/02/links-mais-importantes-para-o-windows-phone-7.aspx?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+clementi+%28Falando+de+novidades+e+tecnologias+Microsoft%29

    http://www.microsoft.com/showcase/en/us/related?video=bda22419-a49e-4ef6-973d-f9c6d59aa525

    FAQ

    Dez 30

    Retrospectiva 2010

    Escrito por Fabio da Silva em 1, 2.0, 4, 6, action, Actionscript, ActionScript 3, Adobe, Adobe Flex, Air, AIR 2.0, Animações, AR, as3, BI, blog, Blogs, consultoria, control, cs4, Desenvolvedor, Desenvolvimento, e-genial, egenial, empresas, Engnatv, eval, Feevale, flash, Flex, Flex 3, Flex 4, for, framework, Google, Hibernate, html, IE, int, Java, jogo, Jogos, JPA, mg, mysql, O, on, online, Outros, PHP, produtividade, produto, prototipação, pt, rest, RIA, Ria’s Geral, site, Software, Swiz Framework, Tecnologia, Treinamento, treinamentos, tv, UI, UX, Ved, web @ 12 30th, 2010 | via http://fabiophx.blogspot.com | Sem comentários
    Fabio da Silva
    ? 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 »

    Além dos treinamentos de AS3 com Flash e Adobe Flex (3 e 4) na Alfamídia e Adobe Flex (3 e 4) na TargetTrust este ano de 2010 trouxe inúmeras oportunidades e desafios profissionais.

    Alguns treinamentos in company:
    • Animações com ActionScript 3 no Flash CS4 para professores e alunos do projeto Engnatv na faculdade Feevale. Mais detalhes aqui.
    • Flex 3 e 4 na Azul Tecnologia em Fortaleza – CE. Mais detalhes aqui.
    • Flex 4 para a Braskem na Alfamídia.
    • Flex 4 na BSInfo em Bento Gonçalves – RS.
    • Convite do Igor Costa para um treinamento de Flex 4 em Florianópolis – SC como instrutor substituto da RIACycle.

    Também fiz alguns treinamentos:

    • AIR 2.0 Essencial pela RIACycle ministrado pelo Igor Costa.
    • Planejamento, Prototipação e Execução de um projeto Flex/Swiz Framework e PHP/MySQL online pela e-Genial ministrado pelo Fábio Vedovelli.
    • PHP 5 e Produtividade em Java com JPA e Hibernate na TargetTrust.

    Entre outros:

    • Lançamento do Flex 4 e o seu uso na Sadig na nova geração de produtos.
    • Convite da Gabriela para substituí-la em algumas cadeiras de AS3 para jogos que ela ministra na faculdade Feevale.

    E neste mês de dezembro aceitei um novo desafio, o de prestar consultoria e desenvolvimento (PHP e Flex) na Ouro Moderno, empresa desenvolvedora de treinamentos interativos e também de software para empresas de treinamento para controlar alunos e treinamentos realizados.

    A todos os envolvidos meus sinceros agradecimentos.

    E deixo também aqui o meu desejo de um Feliz e Próspero 2011 para todos.

    Que venha novos desafios.

    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

    Out 29

    Como aumentar a produtividade com pequenas atitudes

    Escrito por DClick Team em 1, 4, 6, app, AR, busca, class, comunicação, Dica, Download, exemplo, Exemplos, flash, for, FullScreen, gestão, if, lista, Mac, O, on, Outros, Partilha, processo, produtividade, Projetos, RIA, Ria’s Geral, screen, Screencast, screencasts, Sem categoria, Sun, swf, TAT, Tema, tv, Twitter, UI, wave @ 10 29th, 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!

    Diferente dos screencasts anteriores, dessa vez gostaria de compartilhar com vocês uma sugestão para a organização dos diretórios e arquivos de um projeto.

    Uma das maiores dificuldades em se trabalhar em diferentes projetos e em diferentes equipes é o processo de busca por um determinado arquivo ou quando o achamos, se ele é realmente a versão final do arquivo…

    Essas e outras dúvidas que nos perguntamos toda vez que precisamos de algo feito por nós ou por outros colaboradores pode ser facilmente solucionada com pequenas ações e uma delas é justamente o tema de hoje.

    E aproveitando o assunto, que tal modificar a forma com que envia seus e-mails, facilitando a sim a vida de todos…

    Dica de como escrever um assunto de e-mail
    Para facilitar sua vida e a das pessoas que recebem seus e-mail, aqui vai uma sugestão simples e que não afeta em nada o tempo investido no envio dos e-mails.

    A receita é simples, basta utilizar o modelo abaixo:
    [<Empresa> - <Projeto>] <Assunto de forma objetiva> – <extras>

    Exemplos:
    [DClick - Agon] Wireframes do módulo administrativo – v01
    [DClick - Agon] Lista de colocados no round 1

    Viu só como pode ser muito mais fácil a comunicação…
    Agora vamos aos diretórios e nomes de arquivos.

    Set 15

    O que é o Maven, e seus primeiros passos com a ferramenta

    Escrito por DClick Team em 1, 4, 6, apache, AR, arte, auto, back, BI, busca, carregar, class, classe, classes, codec, código, código fonte, configuração, control, Curso, custom, dados, demo, Desenvolvedor, desenvolvedores, Desenvolvimento, Documentação, Eclipse, efeito, err, erro, exemplo, falha, Ferramenta, Flex, FlexBuilder, fonte, for, framework, futuro, html, ide, IE, if, int, internet, Java, NaN, O, object model, on, Outros, padrão, Partilha, Plugin, problema, problemas, produtividade, Projetos, pt, referencia, relatório, Relatórios, rest, RIA, Ria’s Geral, runtime, Sem categoria, site, Sun, tag, TAT, Tema, Teste, Twitter, UI, uint, Vários, Ved, XML, XP, zend @ 09 15th, 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!


    Entendendo melhor Maven 2

    O objetivo deste post é entender um pouco melhor o que é o Maven e como que o Maven lida com as fases do build, além de entender um pouco de como funciona a resolução de dependências.

    O que é o Maven?

    Um dos principais problemas desenvolvendo sistemas é como fazer com que toda a equipe construa o artefato final da mesma maneira com as bibliotecas e configurações corretas. Existem várias maneiras de tratar esse tipo de problema. Uma das maneiras mais comuns é usar alguma ferramenta que entenda alguma linguagem de script e copie as dependências e configurações para os lugares corretos e gere um pacote com a aplicação. Uma ferramenta comum muito usada no mundo Java é o Ant (http://ant.apache.org/). Com o Ant é possível escrever scripts de ‘build‘ para copiar bibliotecas de lugares específicos, arquivos de configurações e qualquer outro tipo de recurso para o artefato da aplicação. Com isso garantimos que qualquer desenvolvedor consiga gerar o artefato da aplicação localmente, sabendo que este artefato gerado é o mesmo que o resto da equipe irá usar e que possivelmente será usado em produção. Porém existem alguns problemas com essa abordagem. O primeiro problema que vem a cabeça é, onde guardamos as bibliotecas externas ao nosso projeto para que o Ant as encontre? A solução mais comum é guardá-las no repositório junto com o código fonte, assim todos os desenvolvedores compartilharão as mesmas dependências e os caminhos das pastas são mantidos.

    Esse tipo de organização é muito adotada e funciona muito bem para projetos pequenos e com equipes bem pequenas. Quando começamos a prolongar um pouco a vida do projeto percebemos que o overhead de manutenção do mesmo começa a interferir no andamento do desenvolvimento. Isso porque o número de dependências começa a aumentar e com o tempo vão saindo versões novas de algumas dependências antigas(podemos entender dependências como sendo bibliotecas). Se todas as dependêcias estão na mesma pasta, fica muito difícil fazer o controle de versão e de transitividade das mesmas. Agora pense em um caso mais complicado: decidimos criar um novo módulo para o projeto. Nesse caso, todas as dependências que este novo módulo necessita e estão no módulo já existente, devem ser duplicadas no repositório. Deve-se fazer isso pois já que estamos falando de módulo, devemos ser capazes de construir o tal módulo independente da existência dos outros. Ou seja, duplicamos também o esforço para manter a organização das dependências.

    Essa é uma das motivações pricipais pela qual a apache criou o Maven (http://maven.apache.org/).

    O Maven é uma ferramenta de integração de projetos. É responsável por gerenciar dependências, controlar versão de artefatos, gerar relatórios de produtividade, garantir execução de testes, manter nível de qualidade do código dentre outras. Muitas pessoas confundem o maven como sendo uma alternativa para o Ant, ou para o Ivy (http://ant.apache.org/ivy/) o que não é verdade. O Maven inclusive disponibiliza a funcionalidade de rodar arquivos do Ant durante o build.

    Voltando ao nosso problema citado anteriormente, com o Maven consiguimos isolar as bibliotecas usadas no projeto em um ‘repositório‘ compartilhado pela equipe, ou por toda internet no caso do repositório central do Maven. Dessa forma não nos preocupamos com duplicidade de dependências entre módulos do projeto e nem em disponibilidade das mesmas no repositório de código. Quanto a versão das dependências, estas ficam centralizadas em arquivos de configuração dos projetos de forma explícita e hierarquisada pelos módulos (POM). Com isso o Maven consegue se encarregar de fazer as devidas substituições de bibliotecas e identificar possíveis falhas no grafo de dependências.

    O que torna o Maven muito poderoso é a facilidade que ele fornece para se trabalhar com vários módulos de um mesmo sistema e sua extensibilidade para novas funcionalidades com o uso de ‘plugins‘. Existem plugins de geração de código, de integração com plataformas de teste e inclusive suporte a IDEs como Eclipse e NetBeans. Isso torna o projeto muito mais flexível dentro da equipe, pois cada desenvolvedor pode escolher a IDE com que vai trabalhar sem se preocupar em atrapalhar o resto da equipe. Um outro plugin que será visto no post sobre Flex + Maven, é o flexmojos (http://flexmojos.sonatype.org/). Esse plugin é responável por integrar o Flex aos projetos do Maven de maneira transparente, executando o build da mesma forma que nos projetos Java. O plugin também disponibiliza a funcionalidade de preparar o projeto Flex para ser importado no FlexBuilder.

    Vamos começar a entender melhor o Maven estudando seu funcionamento.

    Fases do build

    Algo interessante sobre este post é que o que será abordado é sempre referente a ‘um pouco’, ou ‘um pouco melhor’. Isso porque o maven é uma ferramenta bastante complexa dependendo do nível de customização e da necessidade que se tenha. A primeira parte do post cobre as fases executadas durante o build.

    Uma fase nada mais é do que um estágio onde são executadas algumas regras sobre o projeto e se obtem algum resultado no final. Por exemplo, a fase de testes roda os testes da aplicação e obtém um ‘OK’ ou um ‘FAIL’, no segundo caso o build é interrompido. Tais fases são executadas dentro do ‘lifecycle‘ do build. O ‘lifecycle‘ é composto de ‘goals‘ e são estes:

    • Validate
    • Compile
    • Test
    • Package
    • Verify
    • Install
    • Deploy

    Se você está lembrado do post anterior, usamos o comando do maven com os goals ‘clean‘ ‘install‘. Note que o goal ‘clean‘ não está presente no lifecycle do build, por isso tivemos que invocá-lo na linha de comando além do goal ‘install‘. O ‘clean‘ apenas apaga a pasta target, que como visto no post anterior contém os ‘.class‘ e os artefatos gerados pelo build. Os goals do lifecycle são executados nessa ordem mostrada acima. Um pouco sobre cada goal:

    • validate: valida que os ‘poms‘ dos projetos involvidos estão corretamente escritos e que todas as informações necessárias para o build estão presentes;
    • compile: compila todos os códigos do projeto, inclusive os códigos das classes de teste;
    • test: roda os testes que estão em ‘src/test/java‘, e certifica-se que todos estão passando, caso contrário o build é interrompido;
    • package: usa o código compilado e testado que está em ‘src/main/java‘ e cria um arquivo reusável, por exemplo jar;
    • integration-test: nesta fase serão rodados os testes que necessitam do jar do projeto ‘deploiado‘ para serem rodados;
    • verify: roda as verificações necessárias para se certificar que os pacotes gerados estão corretos e passam nos critérios de qualidade;
    • install: copia o arquivo gerado para o repositório local para que esteja disponível localmente para outros projetos;
    • deploy: copia o arquivo gerado para um repositório na rede ou remoto, para que esteja disponível para outros desenvolvedores.

    Ainda lembrando o exemplo anterior, em um dos comandos executados possuia um goal que não está no lifecycle e que não foi citado: ‘eclipse:eclipse‘. Neste caso não se trata de um goal, mas sim da execução de um ‘plugin‘. ‘Plugins‘ no maven alteram o lifecycle adicionando novos goals em determinadas fases. No caso do ‘eclipse:eclipse‘, estamos invocando o método ‘eclipse‘ no plugin ‘eclipse‘, para isso usamos os ‘:‘. Esse plugin é responsável por criar os arquivos que o Eclipse entende e dessa forma consiga importar o projeto. Não está no objetivo deste post tratar de plugins, por isso se você se interessar pelo assunto existe uma boa documentação no site do próprio maven: http://mojo.codehaus.org/. Plugins do maven são chamados de ‘Mojos‘. Trataremos de ‘plugins‘ em um post futuro.

    POM

    Project Object Model – se trata do ponto de partida para o maven executar seu lifecycle. Nada mais é do que um arquivo XML que descreve propriedades e características do projeto, como por exemplo a versão do compilador que será usada (exemplo no post anterior):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <project xmlns=“http://maven.apache.org/POM/4.0.0″ xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
        xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd”>

        <modelVersion>4.0.0</modelVersion>
        <groupId>br.com.dclick</groupId>
        <artifactId>aprendendo-maven</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>aprendendo-maven</name>
        <url>http://maven.apache.org</url>

        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <compilerVersion>1.6</compilerVersion>
                        <source>1.6</source>
                        <target>1.6</target>
                        <encoding>UTF-8</encoding>
                    </configuration>
                </plugin>
            </plugins>
        </build>

        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
        </dependencies>
    </project>

    Repare que todas as propriedades que foram escolhidas no momento em que geramos o projeto estão definidas aqui, por isso se for preciso editar alguma delas, podemos fazer direto aqui no XML. Lembrando que para as modificações surtirem efeito, temos que executar ‘$ mvn install‘ e ‘$ mvn eclipse:eclipse‘ para refletir os resultados no Eclipse.
    Além de guardar as informações mínimas necessárias para se executar o build, no pom definimos também os plugins que serão utilizados, os repositórios de artefatos que serão buscados, os relatórios que serão gerados, o pom que servirá como ‘parent‘, as dependências do projeto, dentre outras coisas.

    Nesse post trataremos das dependências, as outras funcionalidades serão abordadas em outros posts.

    Para definir um pom que servirá como ‘parent‘ de seu projeto, basta adicionar no pom de seu projeto o ‘groupId‘, ‘artifactId‘ e ‘version‘ do parent:

    1
    2
    3
    4
    5
    <parent>
        <groupId>br.com.dclick.framework</groupId>
        <artifactId>tec-versions</artifactId>
        <version>1.0.4-SNAPSHOT</version>
    </parent>

    Nesse caso estamos falando que o pom do projeto ‘tec-versions‘ que pertence ao grupo ‘br.com.dclick.framework‘ na versão 1.0.4-SNAPSHOT será o parent do nosso pom, portanto nosso pom herdará todas as configurações, dependências e propriedades definidas no pom do ‘tec-versions’.

    Dependências

    Uma das funcionalidades mais poderosas do maven é a resolução de dependências. Não é uma funcionalidade exclusiva, mas a maneira com que é feita resolve muito bem a maioria dos problemas. Existem algumas outras ferramentas com o mesmo intuito, como por exemplo o Ivy da própria Apache, mas vimos que o maven é muito mais do que apenas uma ferramenta de resolução de dependências.

    A definição das dependências do seu projeto é feita inteiramente no pom. Para isso usamos a tag <dependencies/> e dentro definimos cada dependência individualmente. Por exemplo, para definirmos a dependência do JUnit 4.8.1 basta adicionar o seguinte trecho no lugar do que já existe:

    1
    2
    3
    4
    5
    6
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.1</version>
        <scope>test</scope>
    </dependency>

    Repare que está definida uma tag que ainda não foi mencionada: ‘scope‘. ‘Scope‘ explicita o escopo em que o artefato definido será usado, nesse caso estamos dizendo para o maven adicionar a dependência do JUnit apenas no momento em que os testes forem executados, garantindo assim que a dependência não seja adicionada no artefato que será gerado. Alguns outros escopos:

    • compile: escopo padrão do maven para o momento em que o código é compilado e vai junto com o artefato;
    • provided: adicionado no momento da compilação, mas não vai junto com o artefato. Dessa forma você está dizendo que a dependência virá de maneira transitiva de alguma outra dependência;
    • runtime: não inclui no artefato, pois estará disponível em tempo de execução;
    • test: inclui apenas no escopo de testes;
    • system: não inclui no artefato, pois estará disponível no ambiente;
    • import: incluirá TODAS as dependências do ‘depencyManagement‘ que está definido no pom ‘parent’.

    Não falamos ainda de ‘depencyManagement‘, mas será tratado mais a frente.

    Toda dependência no maven é transitiva, ou seja, se alguma dependência precisa de uma outra não especificada no seu projeto, o seu projeto passará a depender dela também, e será incluida no artefato gerado. A única exigência do maven é que as dependências não sejam cíclicas, e não existe restrição quanto ao número de níveis de dependências.

    Dependency Management

    O dependency management é responsável por controlar as versões das dependências definidas no projeto. Por exemplo podemos definir a dependência do JUnit no dependency management, e apenas referenciar a dependência na tag depencies do projeto:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.8.1</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
        </dependency>
    </dependencies>

    Uma boa prática é definir todas as versões das dependências em um dependency management do pom parent do seu projeto. Dessa forma todo projeto novo que surgir, basta herdar desse parent que as versões já estarão compartilhadas e continuarão centralizadas em um único projeto. Mesmo com a dependência definida no management, os projetos ainda podem definir suas próprias versões de artefatos e o maven dará prioridade para os mais próximos do projeto.

    Nos próximos posts veremos como usar alguns plugins úteis para o ambiente de desenvolvimento. Também falaremos de outras funcionalidades como por exemplo geração de relatórios, ‘release‘ de projetos, entre outras.

    Set 5

    Serial Adobe Flash Builder 4 Free

    Escrito por Leonardo França em 1, 4, 6, Access, action, Actionscript, Actionscript 3.0, Adobe, api, Aplicativos, app, AR, ASDoc, auto, browser, bug, builder 4, Catalyst, class, ColdFusion, css, Curso, Cursos, custom, Debug, Desenvolvimento, development, Download, Eclipse, err, explorer, Ferramenta, flash, flash builder, Flash Builder 4, Flash Catalyst, Flash Platform, Flex, for, Formulário, free, gc, html, ide, IE, if, image, int, Java, layout, Mac, mg, monitor, MXML, O, on, PHP, platform, player, produtividade, pt, rest, RIA, Ria’s Geral, Soap, swf, Tecnologia, template, tool, UI, uint, wave, web, Widget, Widgets, XML, XP @ 09 5th, 2010 | via http://www.leonardofranca.com.br | Sem comentários
    Leonardo França
    ? 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 »



    Adobe Flash Builder 4O Adobe Flash Builder 4 é uma IDE de desenvolvimento para criação de aplicativos RIA baseados na Flash Platform, baseada no Eclipse, possui recursos avançados para aumentar sua produtividade no desenvolvimento de aplicativos RIA. O que pouca gente sabe é que a Adobe oferece gratuitamente a verão Standard do Flash Builder para estudantes, professores, desempregados e caso você queira usar para divulgar a tecnologia.

    O que pouca gente sabe é que a Adobe oferece gratuitamente a verão Standard do Flash Builder para estudantes, professores, desempregados e caso você queira usar para divulgar a tecnologia.

    Para adquirir sua cópia, basta preencher o formulário do seguinte endereço:
    http://www.adobe.com/devnet/flex/free/index.html
    Caso queria outras ferramentas como ColdFusion Builder, segue o link:
    https://freeriatools.adobe.com/

    Adobe Flash Builder 4 Features

    • Data-centric development with Introspect Java, PHP, Adobe ColdFusion, REST, and SOAP services to display methods and properties in the new Data/Service Explorer.
    • Integration with Adobe Flash Catalyst.
    • Network Monitor (Premium edition only).
    • Command line build (Premium edition only).
    • Flex unit testing integration (Premium edition only).
    • Automatic generation of common code.
    • Code refactoring.
    • Rich visual layout.
    • Debugger improvements.
    • Custom templates in new MXML, ActionScript, and CSS files.
    • Flex Theme Browser.
    • ASDoc support.
    • Adobe Flash Professional workflow
    • Skinning and styling enhanced
    • Part of Creative Suite 5 Web Premium.

    Jul 12

    FlexMania 2010 – Sucesso absoluto

    Escrito por Stefan Horochovec em .NET, 1, 1009, 2009, 4, 6, Access, Adobe, Adobe Flex, Air, app, Apresentação, AR, audio, BI, Blazeds, blog, camp, class, Cloud Computing, consultoria, Curso, Cursos, dados, demo, desempenho, Desenvolvedor, desenvolvedores, Download, engine, err, event, Evento, Eventos, Excel, Ferramenta, flash, Flex, Flexmania, for, FullScreen, Google, gratuito, Gravação, ide, IE, int, Java, Mac, O, on, on-line, opensource, OReilly, Outros, Palestra, Palestras, Pessoal, PHP, player, Plugin, processo, produtividade, produto, Projetos, pt, RIA, Ria’s Geral, screen, SDK, serviço, site, Software, Sun, swf, tag, TAT, Tecnologia, Twitter, UI, Ved, wave, XP @ 07 12th, 2010 | via http://www.horochovec.com.br/blog | Sem comentários
    Stefan Horochovec
    ? 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, como vão todos?

    Pois bem, fiquei um tempo fora do blog devido a uma série de compromissos na empresa aonde trabalho e de compromissos de ordem pessoal também, um deles foi o FlexMania 2010.

    Durante os dias 8, 9 e 10 de julho tivemos o prazer de acompanhar o FlexMania 2010, organizado pelo Igor Costa, de forma gratuita através da excelente ferramenta da Adobe, o Adobe Connect.

    O FlexMania é um evento gratuito, idealizado e organizado por Igor Costa – Adobe Community Professional. Tive o enorme prazer em palestrar no FlexMania 2009 (clique aqui para assistir a gravação da minha palestra sobre “Flex, Java e BlazeDS – Integração com alta produtividade e desempenho“) e confesso que fiquei muito feliz e muito empolgado com o convite para o evento em 2010.

    Foram dois meses de muita ansiedade. Para quem não sabe como funciona o processo do convite ao evento, os palestrantes recebem os convites, entretanto não sabem quais serão seus companheiros de “palco”, dessa forma, cria-se um grande mistério entre todos. Após um certo tempo, somos apresentados uns aos outros e logo em seguida o site do evento é publicado.

    Esse ano recebi (e todos os outros palestrantes) da PowerFlasher uma licença do seu editor, o FDT. E não só nós, diversas licenças foram sorteadas durante o evento além de todos os outros produtos, em uma soma de mais de R$ 30.000,00 em prêmios. É muita coisa quando falamos de um evento on-line que você não paga absolutamente nada para participar.

    A grande sensação do evento foi as reações do twitter a cada palestra, principalmente pela galera do #soudev. Imagino que muitos novos colegas da madrugada irão surgir com posts #soudev depois do FlexMania.

    Esse ano eu abordei um assunto que a cada dia ganha mais espaço no mundo da TI e agora os grandes data centers do país começaram a disponibilizar esse serviço, o Cloud Computing.

    Minha abordagem teve inicio sobre os tipos de cloud-computing, vantagens e suas desvantagens (nem tudo é um mar de rosas). Em seguida, entrei no assunto do Google App Engine, o serviço do Google gratuito (até um certo ponto) para cloud computing, contanto com recursos de Java e armazenamento de dados.

    Mostrei suas vantagens, formas de utilização, plugins e ferramentas disponíveis e finalmente entrei no assunto Adobe Flex, demonstrando o que deve ser alterado nas configurações padrões do Adobe Flex com Java para que possamos utilizar o BlazeDS dentro da estrutura do Google.

    Conforme prometido ao final da palestra, estou disponibilizando para download os projetos (Java e Flex) e os slides utilizados na apresentação.

    Slides:

    FlexMania 2010

    View more presentations from Stefan Horochovec.

    Projeto Java: clique aqui para download

    Projeto AIR: clique aqui para download

    Agradecimentos:

    • Igor Costa – Adobe Community Professional pelo convite e por todo suporte antes e durante o evento;
    • IDS – Software e Consultoria LTDA por permitir minha participação;
    • Patrocinadores:
    • Adobe System
    • RIACycle (pela camiseta e pelo boné)
    • PowerFlasher (em especial pela licença do FDT cedida cordialmente a todos os palestrantes do evento)
    • Mundo Livre Tecnologia
    • Oreilly
    • ElementRiver

    Espero ter contruído e despertado o interesse dos desenvolvedores a conhecer um pouco mais sobre a estrutura do Google App Engine integrando Flex e Java nessa estrutura incrível que o Google dispõe para nós.

    Um forte abraço ao Igor Costa, a todos os palestrantes e patrocinadores e a todos que participaram do evento.

    Agora é esperar pelo FlexMania 2011. Mas antes ainda temos pela frente a BRConferente, organizada pelo Pedro Claudio – Adobe Community Professional, e também o Flash Camp Brasil, organizado pelo Demian Borba – Adobe Community Professional.

    Como é bom ver a quantia de eventos que estão surgindo no Brasil.

    Jul 9

    Vou palestrar no TechEd Brasil 2010

    Escrito por Kelps Sousa em .NET, 1, 4, 6, app, Apresentação, AR, arte, BI, blog, class, código, Componente, Componentes, dados, demo, desempenho, Design, Dica, Dicas, Dicas e Truques, err, event, Evento, Eventos, Ferramenta, for, Google, html, IE, image, int, internet, lógica, Melhores Práticas, mg, Microsoft, Microsoft Silverlight, News, novidade, Novidades, O, on, Palestra, Palestras, produtividade, pt, RIA, Ria’s Geral, Rich Internet Application, Segurança, silverlight, Silverlight 4, TAT, TDC, Tech, TechEd, Teste, Twitter, UI, Visual Studio, Visual Studio 2010, WCF, web, window, windows, WPF, XAML, zend @ 07 9th, 2010 | via http://kelps-sousa.blogspot.com/ | Sem comentários
    Kelps Sousa
    ? 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 »

    TechEd Brasil 2010

    Este ano eu tive a honra de ser convidado pela Microsoft para apresentar 3 palestras no TechEd Brasil 2010, todas relacionadas com XAML de alguma forma. Eu já participei do TechEd antes, em 2007, fazendo demonstrações de uma aplicação feita em Silverlight 1.1 em uma palestra do João Cabral e outra do René de Paula/Cezar Guimarães, mas esta será a primeira vez que terei minhas próprias palestras.

    Abaixo estão os códigos, títulos e descrição provisórios mas minhas palestras:

    • DEV 307 – Aproveitando ao máximo as ferramentas do Visual Studio 2010 para Silverlight e WPF: Construir aplicações em Silverlight ou WPF ficou muito mais simples com o Visual Studio 2010, seja você um novato ou veterano. Nessa sessão serão demonstradas várias novidades das ferramentas para Silverlight e WFP do Visual Studio 2010, assim como dicas e truques para aumentar sua produtividade e diminuir o seu esforço.
    • WEB207 – Criando Rich Internet Applications (RIA) com Silverlight 4 e WCF RIA Services: Facilidade de manutenção, testabilidade, desempenho e segurança podem ser melhorados, entendendo os componentes e as ferramentas, desde que sejam seguidas algumas orientações básicas. Esta sessão utiliza o Windows Communication Foundation (WCF) RIA Services e o Microsoft Silverlight como principais ferramentas para abranger a separação de conceitos entre acesso a dados, camadas de lógica e apresentação, melhores práticas para testes e dicas e truques para obter melhor desempenho através do design.
    • CLI302 – WPF Data-Binding de A à Z: Existem várias maneiras de exibir dados nas suas aplicações com Windows Presentation Foundation (WPF), esta palestra irá demonstrar as melhores práticas de Data-binding e como exibir seus dados em combo boxes, list views e em grids.

    O TechEd é o evento técnico de desenvovimento para Windows mais importante do Brasil. Foi lá que, em 2007, conheci o Rodrigo Kono, o Roberto Sonnino e seu XAMLCast, do qual faço parte hoje. O Kono também apresentará no TechEd desse ano, então teremos 2/3 do XAMLCast palestrando no TechEd este ano.

    Ainda não saíram as datas e horários das palestras, mas eu divulgarei aqui assim que forem definidas.

    Espero vocês lá!

    Abr 23

    Como iniciar Programação em Java

    Escrito por Luis Messias em .NET, 1, 4, 6, action, api, app, apple, AR, bar, BI, blog, botão, Botões, carregar, class, classe, classes, código, comunicação, comunidade, dados, demo, development, Dica, Download, Eclipse, err, exemplo, Exemplos, Ferramenta, for, fundo, garbage, Google, html, ide, IE, if, image, instalação, int, interface, Java, kit, Links, LOB, Mac, MEF, mg, O, on, Outros, override, Pov, problema, problemas, produtividade, produto, programação, pt, redeRIA, rest, RIA, Ria’s Geral, runtime, site, Sun, tag, TAT, Tutoriais, Tutorial, UI, uint, Vários, web, XP @ 04 23rd, 2010 | via http://blog.luismessias.com | Sem comentários
    Luis Messias
    ? 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 »



    O Java é uma linguagem de programação “object-oriented” que surgiu no início dos anos 90, criada pela Sun. Esta é uma Linguagem de Programação muito popular no mundo da programação como podemos ver pela tabela seguinte:

    Principais Vantagens

    Não basta dizer que Java é bom só porque sim, quanto a mim, eis as principais “virtudes” do Java:

    • Object-Oriented;
    • Multi-Plataforma (“write once, run anywhere” – apesar de às vezes não ser bem assim);
    • Garbage Collector;
    • Sintaxe muito user-friendly e, quanto a mim, muito intuitiva mesmo para novatos;
    • Programas muito bem estruturados devido à organização por packages e classes e, devido à capacidade de hierarquizar estas últimas;
    • Bom mecanismo para apanhar e tratar excepções;
    • Extensa comunidade de programadores o que facilita a resolução de problemas;
    • Extensa API com packages para tudo e mais alguma coisa (Redes, Criptografia, Web-Services, Applets, Manuseamento de ficheiros, e muito muito mais).

    O que eu preciso para programar em Java no meu PC

    Para começar a programar em Java não precisa de muita coisa. Antes de mais precisa de fazer o download do JDK (atenção que somente o JRE – Java Runtime Environment – não serve) – Java Development Kit. Poderá fazê-lo do seguinte site: http://java.sun.com/products/archive/.

    Em seguida, aconselho a instalação de um IDE – Integrated Development Environment – para desenvolver em Java. Para iniciar talvez um mais simples como o Notepad++ ou o GEdit seja o indicado, no entanto, se pretender avançar a fundo na programação em Java, deverá recorrer a uma ferramenta mais completa pois estas ajudam (e muito!) a aumentar a produtividade. Recomendo, pela minha experiência, o Netbeans (da Sun tal como o Java) ou, o meu preferido, Eclipse. Estes programas poderão ter uma curva de aprendizagem não muito acentuada inicialmente mas, o tempo investido nos mesmos acabará por compensar a longo prazo.

    Estrutura e Sintaxe

    Definição e Diferenças entre Classe e Objeto

    Para programar em Java é fundamental perceber o que são classes e objetos. Sendo esta uma linguagem object-oriented, o que o programador faz é nada mais do que definir os objetos e as mensagens com que será possível comunicar com os primeiros.

    Ou seja, poderemos considerar um objeto como que uma caixa enquanto que os métodos do objeto são os botões dessa caixa que ao “pressionar” iniciam ações dentro da mesma. Existem botões que poderão não estar disponíveis para carregar do exterior directamente pelo utilizador, só são pressionados pelas ações iniciadas internamente quando o utilizador carrega um dos botões a que tem acesso.

    No caso da imagem anterior, o utilizador definiu o objeto tendo no seu interior os métodos A, B, C, D e E. Definiu que o utilizador teria acesso aos métodos A, B e C e, que ao “pressionar o botão A” este internamente accionaria o “botão D” e que, ao pressionar os “botões” B ou C, este accionam o “botão” E. Não é necessário haver acções internas interligadas, poderia-se definir um “botão F” possível de aceder do exterior da “caixa” que quando o utilizador pressiona-se limitava-se a realizar as suas acções.

    Quanto às diferenças, se me perguntarem “O que entendes entre classe e objeto? Mas quais são as diferenças?”, eu diria que classe é um modelo ou especificação que define um tipo de objeto enquanto que o objeto em si é uma ferramenta, uma forma de comunicação entre o utilizador e o seu programa, ferramenta essa que apresenta um conjunto de variáveis e métodos definidos na classe. A comunicação é feita enviando mensagens para os objetos. Essas mensagens não são nada mais do que “chamar” os métodos que o objeto disponibiliza para o exterior.

    Como definir uma classe

    Uma classe em Java obedece – generalizando obviamente – à estrutura seguinte.

    A primeira declaração é sempre o package onde a classe se insere (caso esteja dentro de algum obviamente). Em seguida são adicionados os imports de outras packages (bibliotecas) das quais pretendemos utilizar alguns objetos e respectivos métodos, na classe que estamos a definir.

    O nome da classe é sempre igual ao nome do ficheiro onde ela está a ser criada (ou seja, o ficheiro teria o nome MinhaClasse.java).

    O método com o mesmo nome da classe é nada mais do que o construtor desta. O construtor de uma classe é um método (função) especial que não retorna qualquer valor e que, é chamado sempre que se cria um objeto daquele tipo. Tudo o que estiver dentro do construtor é executado aquando da criação do objeto. Não é necessário definir um construtor uma vez que o Java assume um vazio por omissão. Ao invés, é possível definir vários construtores diferentes, ou seja, construtores que contenham diferentes argumentos de entrada.

    E, para finalizar, declaramos e definimos todos os métodos da nossa classe. Caso este seja um ficheiro que será executado, deverá conter um método “especial”, o método main, que é declarado da forma indicada.

    Comentários

    Para comentar uma linha individualmente utiliza-se ‘//’

    Para comentar um bloco utiliza-se ‘/* texto a comentar */’.

    Modificadores de Acesso

    Os modificadores de acesso são palavras reservadas que, quando colocados na declaração de classes, métodos ou variáveis, modificam/limitam o modo como se pode aceder aos mesmos.

    Existem os seguintes modificadores de acesso:

    • private – só será possível aceder dentro da classe onde o método/variável foi criado(a);
    • protected – acessível dentro do package onde foi feita a declaração através de uma subclasse;
    • public – sem qualquer restrição de acesso;
    • static – a declaração de um método ou de uma variável static serve para:
      • aquando a declaração de uma variável dentro de uma classe, para que todas as instâncias de objetos dessa classe possam aceder a essa variável como sendo comum entre todas elas. Ou seja, quando alteram a variável numa das instâncias criadas, o seu valor será alterado em todas as instâncias daquele mesmo objeto;
      • quando utilizado na definição de um método para que este seja utilizado apenas na sua classe e não nas instâncias da mesma.

    Juntamente com estes últimos, podemos ainda utilizar dois outros modificador: abstract e final.

    O abstract quando se aplica a métodos, serve para indicar que o método em causa deverá ser definido nas suas subclasses (classes que herdem a classe onde o método foi definido). No caso das classes, indica que a classe não está completamente definida e como tal não pode ser instanciada (utilizado, por exemplo, em Interfaces).

    Já o final, utiliza-se para declarar constantes, ou seja, valores que não são alterados durante a execução de um programa.

    Declaração de variáveis

    Vamos agora ver alguns aspectos relacionados com a síntaxe da linguagem. A declaração das variáveis obedece à seguinte forma:

    Ou seja,

    [modificador de acesso] tipoVar nomeVar[ = valorInicial];

    Nos objetos que são estruturas de dados pode-se (deve-se – sempre que seja possível dentro do contexto) definir a seguir ao tipo do objeto o tipo de dados que o objeto recebe entre . Para qualquer declaração de um objeto, deverá inicializar-se (não é obrigatório mas terá de ser feito antes de ser utilizado) o mesmo recorrendo ao método especial new().

    Declarar e Utilizar Classes e Métodos

    O que difere um método de outro em Java é a sua assinatura (nome, valor de retorno e parâmetros de entrada. Como tal, um método poderá ser definido da seguinte forma:

    É possível utilizar-se um método de uma classe chamando o mesmo dentro dessa mesma classe se este for static ou, declarando um objeto do tipo ClasseDoMetodoAChamar e chamar o dito método (A.B – chama o método B sobre o objeto A, ou seja, o objeto A disponibiliza o método B para para ser invocado e nós invocamo-lo utilizando a notação objeto(ponto)método ).

    Extends e Implements

    Quando uma classe faz extends de uma outra classe, está a herdar todos os métodos e variáveis definidos na classe que foram criados nessa classe. No entanto, se essa última classe definir uma variável/método que já exista na classe herdada, será feito um override, ou seja, ignora a criação prévia na “classe pai” (o termo é superclasse). Vejam o exemplo seguinte:

    O Java não suporta herança múltipla, ou seja, apenas pode “extender” uma classe. No entanto, pode implementar (implements) várias Interfaces como vamos ver.

    Uma interface serve para “obrigar” uma classe a ter uma determinada estrutura que a implemente. Nesta apenas estão definidas as assinaturas dos métodos.

    Nested Classes

    São classes definidas dentro de classes e que serão utilizadas no contexto destas últimas.

    Exemplos de Código

    Mostro agora alguns exemplos de código Java:

    Hello World

    Compilar e executar os nossos programas

    Para correr os programas que desenvolvemos, temos de primeiro compilar o ficheiro .java por nós criado e depois correr o executável gerado. Para tal:

    Como compilar o programa?

    % javac NomeFicheiro.java

    Como executar o programa?

    % java NomeFicheiro


    Notas:
    • O nome do ficheiro contendo código tem de ter o nome da classe executável mais a extensão .java
    • A compilação da classe dá origem a um ficheiro com o mesmo nome, mas com a extensão .class
    • Para executar, chama-se o nome da classe e não o nome do ficheiro (ex: java Hello e não java Hello.class)
    Notas Finais

    Nos próximos tutoriais irei dar a conhecer alguns aspectos mais “avançados” não mencionados neste tutorial. Espero que tenham gostado e que seja útil a alguém.

    Links Úteis:

    • Produtos Java (JRE, JDK, JCE, etc)
    • PBJUG
    • API

    « 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