logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Mai 26

Introdução FlexOrm em aplicações flex mobile utilizando o SQLite

Escrito por Willian Mano em .NET, 1, 2.0, 4, Air, Android, AR, Banco de Dados, BI, blog, C#, class, código, código fonte, dados, Download, exemplo, flash builder, Flex, fonte, int, Introdução, lite, mg, mobile, O, on, redeRIA, RIA, Ria’s Geral, S+S, screen, Screencast, SQLite, TAT, Twitter @ 05 26th, 2011 | via http://blog.willianmano.eti.br/ | Sem comentários
Willian Mano
? 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 »

Neste screencast eu faço uma introdução sobre o flexorm. Sua integração com o banco de dados SQLite em uma aplicaçõa AIR.

No exemplo é criada uma aplicação Mobile que utiliza o banco de dados nativo do AIR o SQLite.

Download do Código fonte.

Post to Twitter

Mai 21

Comparando ASP.net WebForms e ASP.net MVC

Escrito por Vinícius Sandim em .NET, 1, 2.0, 3.5, 3d, 3g, 4, 6, action, Ajax, app, AR, Arquitetura, Asp.Net, back, Banco de Dados, BI, browser, C#, C#.net, class, classe, classes, cliente, código, código fonte, comparação, Componente, Componentes, control, CRUD, css, dados, Desktop, developer, Download, Drag And Drop, err, event, Exemplos, explorer, Ferramenta, Flex, fonte, for, framework, function, gae, gc, html, ide, IE, if, int, Java, Javascript, JQuery, Links, lista, map, menu, mg, mtv, mvc, O, on, Partilha, Pessoal, portal, Projetos, pt, RIA, Ria’s Geral, S+S, server, site, SQL Server, state, tag, TAT, template, tv, UI, uint, UX, Visual Studio, vs, web, xhtml, XML, XP @ 05 21st, 2011 | via http://www.viniciussandim.com | 1 comentário
Vinícius Sandim
? 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 »

Eu confesso que nunca me interessei em desenvolver sites e muito menos aplicações web utilizando ASP.net, sempre achei que a metodologia “drag and drop” que o Web Forms nos proporciona não funciona legal na web, pois ela gera muito “lixo” para o navegador, e isso é crucial em uma WebAPP.

Portanto, desde que migrei de desktop (Delphi 7) para web, tenho trabalhado com o nosso querido Flex no Front End e o C#.net no Back End. Mas desde que o ASP.net MVC foi lançado, tenho acompanhado de perto a sua evolução, e confesso que ele tem me agradado bastante.

Para não perder o costume, venho hoje compartilhar com vocês um pouco do que tenho estudado, este post faz uma comparação de um projeto idêntico criado usando as duas metodologias.

Então chega de conversa e vamos ao que interessa:

As ferramentas que utilizei para criar os projetos foram:
• SQL Server 2008 Express
• Visual Web Developer Express 2010
• Framework ASP.net MVC 2.0

O projeto acessa uma base de dados com apenas uma tabela, com a seguinte estrutura:

Tabela

Não utilizei nenhum framework ORM, fiz o mapeamento das entidades manualmente, usando as classes nativas do Framework. (SqlConnection, SqlCommand e SqlDataReader).

Quando criei os projetos, utilizei os templates do prório Visual Web Developer:

CriandoProjeto

Para o projeto Web Forms, usei ASP.NET Web Application.
Para o projeto MVC usei: ASP.NET MVC 2 Web Application.

É claro que não vou fazer um passo a passo de como criar o projeto, o foco deste post não é isso, mas depois de pronto, nosso Solution Explorer do projeto WebForms ficará assim:

SolutionForms

Já o projeto MVC, tem uma estrutura um pouco maior, porque ele trabalha completamente “tipado”, temos as classes Model, Controller e View, como manda o figurino:

SolutionMVC

Certo, agora vamos ao objetivo, quando executo o projeto WebForms e acesso a página de clientes, o Framework gera este código HTML:

"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"http://www.w3.org/1999/xhtml" xml:lang="en">


"../Styles/Site.css" rel="stylesheet" type="text/css" />
"post" action="default.aspx" id="ctl01">
class="aspNetHidden"> "hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" /> "hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" /> "hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="ZhpEPEbRGaEf3wxNFvEkKLAz6ze4Y1776/kxLQ+oQoJx5Ew6ZrkBOLulNNEfu2T+c9uFRH7RTl5UUrZ3A1gK1BMKQc174Sha+0Wt5wmfhTKcGIb1YUgfoyjwcO8TYaR3U3o3l/07IemJNiwmeH8cM7BzSKkWiBTRuwjyI6u7VHlH7TyWLCMw0bneQ8edbb2YBMnGslvv7YSjWb5RdYMIjhu77ZE4CwQwK75UxHI1QZUgHjIaNP7MrZpoxi+tQbCBVW9Lc3jZCq0gbouSkWw7epm9WZknpiH5T68BTGirDfP4BfUZygsyB6aHmrpdN47pKJz7kFH78soAuE4Yd1NWNk9mHK+6ErcoVe3EkH8ycfXm51UwzkwNp2XRdr2s2AANsWpDdxNhyDTo2Mia2/YrPGirUzqV62RWlVWpS/KBwBpdtSLlYVnLaU6eJyjrJhqXxKzTa8b3F1av8h40cX5teT+0odXAWB3E2GcrE9XGfwa1ACk5QQlFsh+UplF/dEuzes6UBjJd9LQS7kPVabfzs/y8L3BRsK0Rtb0i1unXfHMuq3eVg/XQGnwb9uEhL5EdHjniskkoUzQh1T2yJfPwajrjxU06M5Ba43Soj8pk03isqi4tBqBllPVkv13Hyz8eapd85VejaO+3CUqXVr3J9/3MvZWjNcA2QOef7H4xKmtVExbxingFQqj5K5appmJReVczk8/HLCOnLD+Wa5/7CKWTj/OucQgIgPYnGEpzMZUlKJZFLAeFfwwkR2XVZcyyCoYWjK2pJX5zuCXMVkMxKCCuWjVvtl3GPfUkz1nsgP/Jtyq7vSdiXdGE/qxV8yRGJN5h4MlvVOfYq2gKspcNIZzwCzVCidhdoY8SYjnz+qyIXmXxXD3VkF2XGbcId86i/qOkwOyk9UcAS8iR+Es/MkQg7WximaQQji+o67grOaE=" />
class="aspNetHidden"> "hidden" name="__VIEWSTATEENCRYPTED" id="__VIEWSTATEENCRYPTED" value="" /> "hidden" name="__PREVIOUSPAGE" id="__PREVIOUSPAGE" value="J0z-AYjFMhWT0kpqMD21gr0HoEKRmyw5_w3a37YYi27BAPn9DepNebG_20nPZ-VajOl1_KCPnab6uApAzjeQe7rOkN95u7baMYMKLA59Jpw1" /> "hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="IRcnHy6RQ1JCPCa5l/6k5JvtDNRbcbaJH7wDUCh/MVtgwLHo5W/iwGkTGRYeZHjYgqrWjjGjzZQvt+FJuMho2GE+Qf3syKzyeGXquF9a/Ws577KUO6oFdTWrhmsBXMMh" />
class="page">
class="header">
class="title">

My ASP.NET Application

class="loginDisplay"> [ "../Account/Login.aspx" id="HeadLoginView_HeadLoginStatus">Log In ]
class="clear hideSkiplink"> "#NavigationMenu_SkipLink"><span"Skip Navigation Links" src="/WebResource.axd?d=xFBnuqKYnqgWTzzLZBOde45ezhDnXgdvOgtOQCvZwJw6xfKBic_vxFOBRotUqhEobwKQWWgbNXfNYvZsldu9uZj6j6aYf49eocT9vsEpgtM1&t=634356288728593750" width="0" height="0" style="border-width:0px;" />
class="menu" id="NavigationMenu">
    class="level1">
  • class="level1" href="../Default.aspx">Home
  • class="level1" href="../About.aspx">About
"NavigationMenu_SkipLink">
class="main"> Listagem Completa de Clientes
"0" rules="all" border="1" id="MainContent_GridView1" style="border-collapse:collapse;">
"col">Id_Cliente "col">Nome "col">CPF "col">RG "col">Idade "col"> "col">
17 Jo?o 123.123.123-12 12.312.123-1 30 "Edita.aspx?Id_Cliente=17">Editar "return confirm('Tem certeza?');" id="MainContent_GridView1_LinkButton1_0" href="javascript:__doPostBack('ctl00$MainContent$GridView1$ctl02$LinkButton1','')">Excluir
19 Jos? 444.444.444-44 44.444.444-4 21 "Edita.aspx?Id_Cliente=19">Editar "return confirm('Tem certeza?');" id="MainContent_GridView1_LinkButton1_1" href="javascript:__doPostBack('ctl00$MainContent$GridView1$ctl03$LinkButton1','')">Excluir
18 Maria 999.999.999-99 99.999.999-9 35 "Edita.aspx?Id_Cliente=18">Editar "return confirm('Tem certeza?');" id="MainContent_GridView1_LinkButton1_2" href="javascript:__doPostBack('ctl00$MainContent$GridView1$ctl04$LinkButton1','')">Excluir
"submit" name="ctl00$MainContent$btnInserir" value="Inserir novo cliente" onclick="javascript:WebForm_DoPostBackWithOptions(new WebForm_PostBackOptions("ctl00$MainContent$btnInserir", "", false, "", "Insere.aspx", false, false))" id="MainContent_btnInserir" />
class="clear">
class="footer">

Dêem uma olhada em quanto código os componentes criam. É muita coisa, imaginem isso em um grande portal? Americanas.com gerando este código? Meio inviável não? Aproveito para destacar o código gerado pelo ViewState, herói e vilão do Web Forms.

Agora vamos comparar a mesma página gerada pelo projeto MVC:

"-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">"http://www.w3.org/1999/xhtml">

    Index


"Content/Site.css" rel="stylesheet" type="text/css" />


class="page">
"header">
"title">

My MVC Application

"logindisplay"> [ "/Account/LogOn">Log On ]
"menucontainer">
    "menu">
  • "/">Home
  • "/Home/About">About
"main">

Listagem completa de clientes:

Código Nome CPF RG Idade
30 Jo?o 123.123.123-12 12.312.123-1 30 "/Cliente/Edit?Id_Cliente=30">Editar | "/Cliente/Delete?Id_Cliente=30" onclick="return confirm('Tem certeza?');">Excluir |
32 Jos? 444.444.444-44 44.444.444-4 21 "/Cliente/Edit?Id_Cliente=32">Editar | "/Cliente/Delete?Id_Cliente=32" onclick="return confirm('Tem certeza?');">Excluir |
31 Maria 999.999.999-99 99.999.999-9 35 "/Cliente/Edit?Id_Cliente=31">Editar | "/Cliente/Delete?Id_Cliente=31" onclick="return confirm('Tem certeza?');">Excluir |
"/Cliente/Create">Novo cliente...
"footer">

O que acham? As duas páginas fazem exatamente a mesma coisa, no entato o MVC gera beeeem menos código.

Bom pessoal, essa é apenas uma das vantagens do MVC, posso destacar outras:

  • Controle total do código que será enviado ao navegador;
  • Arquitetura em camadas, códigos completamente separados;
  • Classes que auxiliam a geração do HTML para o browser de acordo com as ações do Controlador, sem lixo!;
  • Facilidade de se implementar Ajax (de verdade) no seu projeto.
  • Integração com o Jquery usando classes do Framework;

Bom é isso, vou me despedindo, mas antes deixo o código fonte dos dois projetos disponíveis para download.

Mai 19

10 coisas que um bom programador flex deve saber

Escrito por Daniel Schmitz em .NET, 1, 2.0, 2009, 3.5, 4, 6, action, Action Script, Actionscript, ActionScript 3, Actionscript 3.0, Actionscript3, Adobe, Air, api, Aplicativos, Apresentação, AR, Arquitetura, arte, Artigo, as3, BI, Bindable, blog, bug, builder 4, C#, Cairngorm, class, classe, classes, código, código fonte, Componente, Componentes, components, control, Controles, css, Curso, Cursos, custom, dados, Data Binding, DataGrid, Debug, demo, desempenho, Desenvolvedor, desenvolvedores, Design, developer, development, dispatch, dispatchEvent, DRE, empresas, err, Estilo, event, EventListener, Evento, Eventos, eventos customizados, events, Excel, explorer, Ferramenta, flash, flash builder, Flash Builder 4, Flash Player, Flex, Flex 3, Flex 4, Flex Examples, fonte, for, framework, Frameworks, Google, Gráfico, handle, html, HTTPService, ide, IE, if, int, interface, Java, layout, lista, live, Livro, lógica, map, Mate, MAX 2009, mvc, MXML, O, on, oop, opensource, Outros, player, polimorfismo, problema, problemas, programação, Projetos, pt, RIA, Ria’s Geral, ruby, S+S, site, skins, Sun, tag, TAT, Tech, Tecnologia, tv, UI, uint, utf8, Ved, Vídeo, vs, web, Webservice, XML, XP @ 05 19th, 2011 | via http://flex.etc.br | Sem comentários
Daniel Schmitz
? 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 »

Esta é uma tradução do seguinte artigo: 10 Things A Good Flex Developer Should Know

Para ser um bom programador Flex é preciso mais que simplesmente saber como usar alguns componentes nativos do Flex. É preciso muito mais.

Aqui está minha contribuição sobre o assunto… juntamente com alguns recursos ou algumas palavras-chave que você poderá pesquisar facilmente através do Google.

Por favor, comente no blog se você achar que esqueci algo (o que é inevitável) ou se quiser sugerir alguns recursos interessantes que devo acrescentar.

1- Programação orientada a Objetos (OO)

O Flex se baseia na linguagem ActionScript3, que é totalmente orientada a objetos. Embora não seja um conceito fácil de aprender, programação orientada a objeto é um pré-requisito para aprender Flex. Se já possui experiência com OO (Java, C#, Ruby, etc), então você está pronto. Se não, você precisará pegar um livro sobre OO e começar a aprender o mais rápido possível.

· Head First Java (Java? Sim, Eu sei. Mas confie em mim.)

· Object-oriented programming with ActionScript 3.0

Nota: Alguns de vocês poderão perguntar – “O que são padrões de projetos?”. Vamos dar um passo de cada vez? Preocupe-se em entender classes e objetos, interfaces, herança, composição, polimorfismo, encapsulamento, etc. Só então considere estudar padrões de projetos. De fato, se eu escrever um post intitulado “10 coisas que um GRANDE programador Flex deve saber”, padrões de projeto estará nessa lista.

2- ActionScript/MXML

ActionScript é a linguagem de programação usada juntamente com MXML para criar aplicações Flex. MXML é uma linguagem de marcação baseada em XML. Cada tag MXML é mapeada diretamente para uma classe ActionScript correspondente. MXML é usado pelos desenvolvedores Flex principalmente para apresentar a interface do usuário, enquanto que, o ActionScript é usado para a lógica de negócio. Com exceções, é claro.

O Framework Flex inclui centenas de classes ActionScript e interfaces usadas para desenvolver aplicações Flex. Seu nível de habilidade como um desenvolvedor Flex está diretamente ligado ao seu conhecimento em relação ao ActionScript e MXML.

· Flex in a Week

· Tour De Flex

· Essential ActionScript 3.0

Nota: Fique ? vontade com a API do Flex. Como um desenvolvedor Flex, você vai usá-la diariamente.

3- Debugging

Boa parte do tempo de qualquer programador é gasto no debugging. Obviamente, é necessário debugar para rastrear a causa de bugs. No entanto, também é uma ótima maneira de conhecer o código fonte.

Felizmente, existem muitas ferramentas disponíveis para ajudá-lo com o trabalho de debugging. Invista algum tempo para aprender essas ferramentas. Seu investimento irá proporcionar retorno imediato.

· Flash Builder 4.5 Debugger

· De MonsterDebugger

· Kap Inspect

4- Programação orientada a eventos

Aplicações Flex são orientadas a eventos. Toda ação é o resultado de um evento assíncrono.

Como um desenvolvedor Flex, você deve saber como responder a eventos e como criar e disparar eventos. Para isso, é necessária uma sólida compreensão da arquitetura de eventos do Flex, incluindo familiaridade com os seguintes conceitos:

· Eventos nativos (Flash Player ou Framework de eventos Flex)

· Eventos customizados (Eventos criados pelo desenvolvedor, que estende a classe Event ou uma de suas subclasses)

· Disparar eventos, propagação de eventos (ver classe EventDispatcher e seu método dispatchEvent)

· Event listeners, event handlers (ver classe EventDispatcher e seus métodos addEventListener e removeEventListener)

· Fases do evento (capture, target & bubbling phases; target vs. currentTarget)

· Objetos do evento, tipos de eventos (ver classe Event e subclasses)

· Comportamento do evento default (ver classe Event e subclasses e seu método preventDefault)

5- Data binding

Aparentemente, data binding é um “no brainer”[1]. É só vincular o valor de uma propriedade ao valor de outra propriedade usando chaves. Quando o valor da propriedade de origem for alterado, o valor da propriedade de destino também é alterado.

No entanto, existe uma sobrecarga associada ao uso indiscriminado de data binding, podendo haver implicações no desempenho. Uma sólida compreensão de data binding ajudará a determinar quando é apropriado o seu uso e quando não é.

· Flex Tips – Using Bindable Metadata Events

· Michael Labriola’s presentation entitled Diving in the Data Binding Waters

6- Item renderers

Uma característica de uma aplicação Flex bem projetada é a apresentação dos dados de uma forma visualmente atraente. O Flex oferece uma série de controles baseados em listas (DataGrid, List, TileList, HorizontalList, etc) responsável pela apresentação dos dados. Portanto, pode-se personalizar a exibição dos dados com a ajuda de item renderers.

Você irá consumir muito tempo trabalhando com item renderers. Então é melhor saber bem como ele funciona.

· Flex Examples – Item Renderers in Practice

· A Deep Dive into Flex 4 Lists and Layouts

7- Acesso remoto a dados

Você conhece muitas aplicações que não interagem com os dados? Eu também não. Saiba como recuperar dados através de HTTPServive, WebService e RemoteObject. A arquitetura do framework Flex também poderá ajudá-lo com isso (ver #9).

· Retrieving and handling data with HTTPService

· Retrieving and handling data with WebService

· Retrieving and handling data with RemoteObject

8- Styling / Skinning

Não vamos nos esquecer que o Flex é uma tecnologia de interface e, como tal, certamente há expectativas em relação ao design. Como um desenvolvedor Flex, você deve ser capaz de personalizar a aparência de seus aplicativos usando estilos CSS, gráficos e/ou skins.

Com o Flex 4, não há mais desculpas. Use um pouco do seu tempo para conhecer de uma vez o lado direito do seu cérebro. É uma excelente mudança de paradigma, e vai ajudá-lo a diferenciar-se dos outros desenvolvedores Flex.

· Flex Style Explorer

· ScaleNine

· Introduction to Flex: Part 3 – Styles & Skins

9- Pelo menos um framework de arquitetura Flex

A maioria dos frameworks de arquitetura Flex impõe uma separação de camadas através da implementação do MVC (model-view-controller). Além disso, esses mesmos frameworks especificam como seu código deve ser organizado dentro do projeto Flex.

Embora muitos argumentariam que os frameworks são desnecessários, acredito que os desenvolvedores Flex se beneficiam em muitos aspectos da experiência de usá-los. Basta assistir ? s técnicas (boas ou más) empregadas por um framework para resolver problemas complexos de arquitetura. Isso contribuirá para seu crescimento como um desenvolvedor Flex.

Além disso, é difícil negar o fato de que a experiência com framework aumentará substancialmente o seu valor comercial como um desenvolvedor Flex. Jesse Warden me disse recentemente “Existem poucas empresas que não usam frameworks, mas isso é raro. Queiramos ou não, está na ‘moda’”. Eu concordo com Jesse.

· Cairngorm

· Parsley

· PureMVC

· Mate

· Swiz

· Robotlegs

10- Ciclo de vida de componentes e display list

Eu não estava convencido da necessidade de aprender o ciclo de vida de componentes Flex ou da display list até que escrevi o meu primeiro componente customizado (na verdade foi um componente semi-customizado que se estendia do componente Canvas). Até essa época eu usava componentes nativos do Flex, usando apenas o MXML enquanto que a display list era renderizada para mim. Em nenhuma vez tive que usar os métodos addChild, createChildren ou commitProperties, e usava o evento creatiomComplete para tudo.

Meu primeiro componente customizado usava uma quantidade enorme de eventos assíncronos, e eu não poderia prever a ordem em que cada evento seria disparado. Só depois que eu aprendi os métodos e variáveis do ciclo de vida dos componentes do Flex que eu pude ter um certo controle.

Estes métodos do ciclo de vida estão lá para serem usados. Saiba como funcionam e use-os para o seu benefício. Sua vida será mais fácil e você perderá menos cabelos.

· Colin Moock’s Lost ActionScript Weekend – The Display List

· Creating New Components in Flex 3

· Diving Deep with the Flex Component Lifecycle

· Understanding the Flex 3 Component and Framework Lifecycle


[1] Expressão americana usada para algo que requer pouco esforço mental ou inteligência para realizar ou compreender

Mai 19

Enriquecendo sua aplicação flex utilizado eventos do teclado

Escrito por Willian Mano em .NET, 1, 2.0, 4, app, AR, arte, Atalhos, BI, blog, break, browser, C#, camp, case, class, classe, código, código fonte, err, erro, event, Evento, Eventos, exemplo, flash builder, Flex, fonte, for, git, html, IE, if, int, internet, map, mg, O, on, redeRIA, rest, RIA, Ria’s Geral, Rich Internet Application, S+S, screen, Screencast, screencasts, Scroll, site, state, TAT, Tema, Tutorial, Twitter, UI, Ved, XP @ 05 19th, 2011 | via http://blog.willianmano.eti.br/ | Sem comentários
Willian Mano
? 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 »

Como a maioria deve saber o significado de RIA é rich internet applications. Há muito tempo atrás, assistindo a um dos screencasts do? Vedovelli, ele falou que o flex é muito rico e que você pode melhorar a experiência dos usuários trabalhando os pequenos detalhes da aplicação. Coisas como limpar os campos e mudança de foco são primordiais para deixar suas aplicações mais intuitivas e fáceis de serem usadas.

Baseado nisso eu passei a prestar um pouco mais de atenção nesses detalhes e uma das coisas que veio ? cabeça foi os eventos de teclado. Claro eu não poderia de deixar de citar meu amigo? @brunoaraujo_id que foi o primeiro que eu vi a manipular esse tipo de evento e quem também me mostrou um exemplo no qual vou mostrar aqui.

Historinhas ? parte, vamos ao que interessa.

Nesse tutorial eu irei (tentarei) explicar como trabalhar com eventos de teclado e também como eles podem ser úteis na sua aplicação.

Primeiro vamos a um simples exemplo para que possamos observar um pouco melhor a classe KeyboardEvent.

Seu browser não suporta iframes.

No exemplo acima tem duas caixas de texto, quando você digita algo na primeira caixa de texto ele exibe na caixa de baixo as propriedades do evento. Nesse primeiro passo nós iremos observar apenas o? charCode e o? keyCode.

  • charCode: é o código do caractere, ele obedece a tabela ASCII e você pode pegar o valor de cada caractere? aqui. Lembrando que cada caractere tem seu código, ou seja, o a minúsculo é diferente do A MAIÚCULO.
  • keyCode: é o código numérico que corresponde ao valor da tecla no teclado. Ele pode variar conforme sistema operacional e dispositivo.

O mapeamento desses eventos é bem simples você deve apenas verificar qual a tecla pressionada e apartir dai executar alguma ação. Exemplo.

switch(event.keyCode) 

  //Quando o usuário apertar o esc
  case 27:
    //Executa alguma ação
  break;
  //Quando o usuário apertar o enter
  case 13:
    //Executa alguma ação
  break;

Bom, já sabemos qual evento iremos trabalhar e como pegar o código de uma tecla apertada, mas em que isso será útil? O próximo evento ilustra isso perfeitamente.

No exemplo acima eu estou mapeando os eventos do enter e do esc.

Quando o usuário está no state de login e pressiona enter ele verifica se o campo está vazio, se estiver mostrará uma mensagem de erro, caso contrário ele passará para o próximo state. Se o usuário pressionar esc o campo será limpo.

No state de senha ao pressionar esc ele também verifica se o campo está vazio, se estiver ele vai volta para o state de usuário, caso contrário ele irá limpar o campo. Se o usuário apertar enter ele irá dar uma alert avisando que naquele momento seria a hora de fazer o login.

Bom, mais explicações pelo código fonte, ele está bem simples de fácil compreensão.

Você pode também criar atalhos em seu aplicativo, pode por exemplo, fazer com que um ctrl+n deixe o texto em negrito.

Vamos a uma rápida passada sobre isso.

Volte para o primeiro exemplo e pressione ctrl + i.

O resultado do evento será:

[KeyboardEvent type="keyDown" bubbles=true cancelable=false eventPhase=3 charCode=105 keyCode=73 keyLocation=0 ctrlKey=true altKey=false shiftKey=false]

Notem que agora o ctrlKey tem o valor true. Usando no seu código você verifica se ele é true e depois verifica o código da tecla para criar as combinações de atalhos. Agora é só usar a criatividade.

Espero que essas informações tenham sido úteis para vocês.

Abraço e até a próxima.

Post to Twitter

Mai 1

Adicionando PopUps no Flex – PopUpManager

Escrito por Cognitiva Soluções em 1, 4, 6, AR, BI, blog, Blogs, código, código fonte, event, exemplo, Exemplos, Flex, fonte, function, Google, handle, html, IE, image, mg, O, on, RIA, Ria’s Geral, tag, UI, window, XP @ 05 1st, 2011 | via http://blog.cognitivasolucoes.com | Sem comentários
Cognitiva Soluções
? 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 »

Para ajudar quem está começando com Flex farei uma serie de postagens “flex-basico”. Segue a primeira.

Adicinar PopUps na sua aplicação com PopUpManager é muito simples. Segue o código:

Veja o exemplo aqui?e o código fonte aqui.

protected function btAbrePopUp_clickHandler(event:MouseEvent):void{
    // http://blog.cognitivasolucoes.com

    // Crie janela
    var janela:TitleWindow = new TitleWindow();
    janela.width = 619;
    janela.height = 248;

    // Cria popUp
    PopUpManager.addPopUp(janela, this);
    PopUpManager.centerPopUp(janela);

   }
}

Mai 1

Não seja um heroi

Escrito por Igor Musardo em 1, 2009, 4, 6, Air, api, AR, back, blog, bug, código, código fonte, Desenvolvedor, Desenvolvimento Ágil, developer, efeito, efeitos, err, falha, fonte, for, Formação, fundo, git, ide, IE, image, mg, O, on, OReilly, Palestra, Partilha, problema, produtividade, prova, Qualidade de Software, rails, RIA, Ria’s Geral, Software, Source Code, SVN, tag, TAT, Tema, tv, UI, Ved, XP @ 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 »

batman_drunk

Encontrei o texto abaixo no blog 1up4developers em um post do Plínio Balduino, e como partilho 100% dessa ideia, tomei a liberdade de compartilhar e fazer a tradução livre para o português.

Sometimes things go wrong: hardware is not acting as expected, the API you rely on is not reliable, some vital information is missing. But you don’t care, as you are a hero, a tough Charles Bronson-like guy that will accomplish the mission no matter what.

Another project is saved? Maybe. But someone made a very stupid choice and will pay for it. And I’m talking about you, Bruce Lee.

In six months nobody will remember the adversities you’ve been through. The sleepless nights. The weird bugs. The managers on you back, asking for status reports every five minutes. But something will linger: your name in the source code. It will be there in the SCM, ready to prove that you are a lousy coder and committed buggy/ugly code.

So, next time you find yourself in this kind of situation, take a deep breath and raise the red flag. Share the problem. It’s not fair to chain yourself to something bad just to show that you are tough.

Tradução:

As vezes as coisas dão errado: o hardware não funciona como esperado, a API não é confíavel, alguma informação vital está faltando. Mas não se preocupe, por que você é um heroi, um cara durão como Charles Bronson, que vai cumprir a missão não importe qual seja.

Outro projeto foi salvo? Talvez. Mas alguém fez uma escolha estúpida e vai pagar por isso. E estou falando de você, Bruce Lee.

Em 6 meses ninguém vai lembrar das adversidades que passamos. As noites viradas Os bugs estranhos. Os gerentes na suas costas, perguntando o status a cada 5 minutos. Mas algo vai tardar mas não falhar, o seu nome no código fonte. Vai estar lá no GIT ou SVN, pronto para provar que você é um programador ruim que comitou código feio e com bug.

Então, na próxima vez que se deparar com esse tipo de situação, respire fundo e levante a bandeira vermelha. Compartilhe o problema. Não é justo com toda a cadeia que algo ruim aconteça só para provar que você é um heroi.

Infelizmente já ví isso acontecer inúmeras vezes, o pior é que em uma dúzia delas eu fui o protagonista da história.

Mas aprendi que levantar o problema é o caminho mais curto para a sua resolução.

Esse tema me fez lembrar de um trecho da palestra do DHH na Rails Conf 2009 onde ele falou sobre o segredo da alta produtividade:

Por isso baixe sua guarda, mostre seus defeitos, não banque o durão, muito menos o heroi, pois a construção de um software de qualidade evolve muitas vidas, uma grande porção de dinheiro, várias horas de trabalho e dedição que são MUITO mais importante que o seu EGO.

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…

Abr 15

Alterando o skin do componente Spark ButtonBar

Escrito por Pablo Souza em 1, 4, 6, AR, bar, blog, Botões, browser, código, código fonte, Componente, custom, Download, exemplo, fonte, if, O, on, Ria’s Geral, spark, UI @ 04 15th, 2011 | via http://rectius.com.br/blog | Sem comentários
Pablo Souza
? 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 »

Como nós já vimos em posts anteriores, é muito simples alterar o skin de um componente Spark. Com o exemplo abaixo, você aprenderá a customizar a aparência do componente Spark ButtonBar e também a inserir ícones em seus botões.

Your browser does not support iframes.

Download do código fonte do projeto:
CustomButtonBar – 573kb

Espero que tenham gostado e até a próxima!

Mar 12

Dominando OO – Mais um livro saindo do forno

Escrito por Daniel Schmitz em .NET, 1, 4, 6, action, Action Script, Actionscript, AR, auto, back, Banco de Dados, BI, C#, class, classe, classes, código, código fonte, dados, Desenvolvimento, Diversos, Download, DRE, exemplo, Exemplos, Flex, fonte, for, framework, Frameworks, Geral, html, IE, image, int, interface, Java, live, Livro, Livros, mg, Microsoft, mvc, NaN, O, on, Orientação, Orientação a Objetos, Outros, padrão, pattern, PHP, problema, problemas, processo, programação, pt, Revisão, RIA, Ria’s Geral, server, singleton, site, Tema, UI, XP @ 03 12th, 2011 | via http://flex.etc.br | Sem comentários
Daniel Schmitz
? 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 »

Abstract cube construction

O livro “Dominando Orientação a objetos” está quase pronto. Estamos na fase de diagramação e revisão do texto. Muito em breve entraremos na pré venda.

Para matar a curiosidade geral da nação Alegre, seguem algumas informações sobre o livro.

?

  • Impresso ou ebook? Impresso
  • Páginas: 200
  • Formato: 23×16, o mesmo dos outros livros
  • ISBN: em processo de registro
  • Linguagens abordadas: PHP, Java, Action Script, C#
  • Preço: por volta de R$ 49,00
  • Vai ter código fonte para download? Sim

?

Resumo dos capítulos

?

No capítulo 2, iremos com o uso da linguagem PHP explicar os principais conceitos da programação OO, conceitos estes que estão presentes em todas as linguagens que permitem a implementação de objetos.

No capítulo 3, ainda usando o PHP, iremos abordar um exemplo prático do uso da OO para facilitar o desenvolvimento de páginas HTML. Este exemplo visa reforçar os conceitos aprendidos e, o mais importante, visa mostrar que o uso do OO pode ser benéfico para o seu dia a dia.

No capítulo 4, iremos abordar o Java e exibir as suas principais características. O Java, por ser uma linguagem 100% OO, apresenta todas as funcionalidades que o OO possui, como classes abstratas, interfaces, sobrecarga de métodos, entre outros. Veremos apenas algumas teorias, que serão melhor explicadas no decorrer da obra.

No capítulo 5 apresentamos o C#, linguagem pertencente ao framework .Net da Microsoft, que é semelhante ao Java. Com esta linguagem, abordamos um exemplo para criação de SQLs para o acesso ao banco de dados.

No capítulo 6 apresentamos o Action Script, juntamente com o framework Flex, para aprendermos exclusivamente sobre Interfaces, algo tão falado e mal entendido pelos programadores. Você irá aprender a otimizar o seu código com o uso correto das interfaces.

O capítulo 7 volta a usar a linguagem PHP para introduzir o conceito de padrões de projeto. Usar somente OO não garante que o sistema está livre de problemas, é preciso combinar o conhecimento OO com os padrões (patterns) para que possamos criar sistemas com mais dinamiso e, principalmente, manuteníveis. Com o PHP iremos aprender o primeiro padrão, chamado “Factory”.

No capítulo 8 continuamos a estudar os padrões de projeto, usando agora o ActionScript e o Flex para ilustrar o padrão Observer, que apesar se ser pouco conhecido, é um ótimo aliado no desenvolvimento OO.

No capítulo 9 iremos aprender o padrão Singleton, muito usado em diversos frameworks. Inicialmente apresentamos o conceito e exibimos um exemplo em ActionScript para manipulação de janelas, além de um exemplo em PHP para leitura/escrita de um arquivo de log.

No capítulo 10 iremos, com PHP, criar um pequeno framework que envolve os conceitos de MVC e de injeção de dependência, além de usar outros padrões como o Singleton e o Factory.

No capítulo 11 criamos três exemplos que exibem inicialmente uma solução rápida para o problema proposto, mas ruim para a manutenção do código. Depois exibimos como usar a OO para melhorar cada um dos exemplos, utilizando inclusive padrões de projeto.

?

Ajuda dos leitores

Gostaria de agradecer a todos os leitores que me escreveram sugerindo temas para o livro. Conforme combinado, as pessoas a seguir ganharão 20% de desconto na compra do livro

  • Willian Mano
  • Willian Amaro de Oliveira
  • Flavio Horita
  • Andre Luis da Silveira
  • Ever Silvério
  • Luiz Henrique
  • Francisco Fernandes
  • Rafael Venâncio Lugli
  • Lazaro Fernandes

?

Onde Comprar?

Você poderá comprar o livro no site www.danielschmitz.com.br, que é a nossa loja virtual. Ainda não está disponível para venda. Siga @Daniel_Schmitz para saber exatamente quando começará a pré venda

Mar 12

Dominando OO – Mais um livro saindo do forno

Escrito por Daniel Schmitz em .NET, 1, 4, 6, action, Action Script, Actionscript, AR, auto, back, Banco de Dados, BI, C#, class, classe, classes, código, código fonte, dados, Desenvolvimento, Diversos, Download, DRE, exemplo, Exemplos, Flex, fonte, for, framework, Frameworks, Geral, html, IE, image, int, interface, Java, live, Livro, Livros, mg, Microsoft, mvc, NaN, O, on, Orientação, Orientação a Objetos, Outros, padrão, pattern, PHP, problema, problemas, processo, programação, pt, Revisão, RIA, Ria’s Geral, server, singleton, site, Tema, UI, XP @ 03 12th, 2011 | via http://flex.etc.br | Sem comentários
Daniel Schmitz
? 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 »

Abstract cube construction

O livro “Dominando Orientação a objetos” está quase pronto. Estamos na fase de diagramação e revisão do texto. Muito em breve entraremos na pré venda.

Para matar a curiosidade geral da nação Alegre, seguem algumas informações sobre o livro.

?

  • Impresso ou ebook? Impresso
  • Páginas: 200
  • Formato: 23×16, o mesmo dos outros livros
  • ISBN: em processo de registro
  • Linguagens abordadas: PHP, Java, Action Script, C#
  • Preço: por volta de R$ 49,00
  • Vai ter código fonte para download? Sim

?

Resumo dos capítulos

?

No capítulo 2, iremos com o uso da linguagem PHP explicar os principais conceitos da programação OO, conceitos estes que estão presentes em todas as linguagens que permitem a implementação de objetos.

No capítulo 3, ainda usando o PHP, iremos abordar um exemplo prático do uso da OO para facilitar o desenvolvimento de páginas HTML. Este exemplo visa reforçar os conceitos aprendidos e, o mais importante, visa mostrar que o uso do OO pode ser benéfico para o seu dia a dia.

No capítulo 4, iremos abordar o Java e exibir as suas principais características. O Java, por ser uma linguagem 100% OO, apresenta todas as funcionalidades que o OO possui, como classes abstratas, interfaces, sobrecarga de métodos, entre outros. Veremos apenas algumas teorias, que serão melhor explicadas no decorrer da obra.

No capítulo 5 apresentamos o C#, linguagem pertencente ao framework .Net da Microsoft, que é semelhante ao Java. Com esta linguagem, abordamos um exemplo para criação de SQLs para o acesso ao banco de dados.

No capítulo 6 apresentamos o Action Script, juntamente com o framework Flex, para aprendermos exclusivamente sobre Interfaces, algo tão falado e mal entendido pelos programadores. Você irá aprender a otimizar o seu código com o uso correto das interfaces.

O capítulo 7 volta a usar a linguagem PHP para introduzir o conceito de padrões de projeto. Usar somente OO não garante que o sistema está livre de problemas, é preciso combinar o conhecimento OO com os padrões (patterns) para que possamos criar sistemas com mais dinamiso e, principalmente, manuteníveis. Com o PHP iremos aprender o primeiro padrão, chamado “Factory”.

No capítulo 8 continuamos a estudar os padrões de projeto, usando agora o ActionScript e o Flex para ilustrar o padrão Observer, que apesar se ser pouco conhecido, é um ótimo aliado no desenvolvimento OO.

No capítulo 9 iremos aprender o padrão Singleton, muito usado em diversos frameworks. Inicialmente apresentamos o conceito e exibimos um exemplo em ActionScript para manipulação de janelas, além de um exemplo em PHP para leitura/escrita de um arquivo de log.

No capítulo 10 iremos, com PHP, criar um pequeno framework que envolve os conceitos de MVC e de injeção de dependência, além de usar outros padrões como o Singleton e o Factory.

No capítulo 11 criamos três exemplos que exibem inicialmente uma solução rápida para o problema proposto, mas ruim para a manutenção do código. Depois exibimos como usar a OO para melhorar cada um dos exemplos, utilizando inclusive padrões de projeto.

?

Ajuda dos leitores

Gostaria de agradecer a todos os leitores que me escreveram sugerindo temas para o livro. Conforme combinado, as pessoas a seguir ganharão 20% de desconto na compra do livro

  • Willian Mano
  • Willian Amaro de Oliveira
  • Flavio Horita
  • Andre Luis da Silveira
  • Ever Silvério
  • Luiz Henrique
  • Francisco Fernandes
  • Rafael Venâncio Lugli
  • Lazaro Fernandes

?

Onde Comprar?

Você poderá comprar o livro no site www.danielschmitz.com.br, que é a nossa loja virtual. Ainda não está disponível para venda. Siga @Daniel_Schmitz para saber exatamente quando começará a pré venda

« 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