sábado, 25 de maio de 2013

Lendo XML com jQuery Ajax

AJAX + JQUERY + XML

Lendo XML com jQuery Ajax


A jQuery é a biblioteca JavaScript mais usada em aplicações web atualmente. Ela foi desenvolvida em 2006 por John Resig e é suportada por uma comunidade de desenvolvedores, além do time do projeto jQuery. Ela foi construída para ser leve, poder ser usada nos principais navegadores e ser compatível com a especificação CSS3.
Ela simplifica a maneira como acessar os elementos DOM, tornando mais fácil a navegação pelas páginas. A biblioteca possui poderosos recursos Ajax, manipulação de eventos e efeitos de animação,
permitindo um rápido desenvolvimento de aplicações web. Além disso, a jQuery permite a criação de plugins, o que possibilita aos desenvolvedores criar recursos poderosos com base no núcleo jQuery.
Por tudo isso você não pode ignorar a jQuery. Além do mais, ela permite utilizar muitos recursos em
suas aplicações web, tornando-a mais interativa e amigável ao usuário.
Atualmente, o jQuery está na versão 1.6.1 e você pode baixá-la aqui: http://jquery.com/.  Ela está disponível tanto no Visual Studio, quanto nas versões Express, quando você cria uma aplicação
web usando o template padrão (não o vazio).
A JQuery está incluída nos projetos ASP .NET Web Forms e também nos projetos ASP .NET MVC. A library Microsoft Ajax foi projetada para atrair desenvolvedores JQuery, e você pode mesclar plug-ins JQuery e controles de cliente Microsoft Ajax em sua aplicação.
Neste artigo, vou mostrar como utilizar jQuery AJAX em páginas ASP .NET para realizar algumas tarefas do dia a dia envolvendo controles ASP .NET. Vou mostrar, também, como ler uma fonte de dados XML usando jQuery AJAX.
Recursos usados nos exemplos do artigo:
  • Visual Web Developer 2010 Express Edition;
  • jquery-1.4.1.min.js, que já vem embutida com o projeto ASP .NET Web Application;
  • Navegadores:Internet Explorer 8.0, Firefox 3.6 e Chrome 9.0.

Usando jQUery na prática

1-Criando o projeto
Abra o Visual Web Developer 2010 Express Edition e no menu File-> New Project crie um novo
projeto usando a linguagem Visual Basic e o template ASP .NET Web Application com o nome jQuery_Ajax_XML. Clique no botão OK.
Após criar o projeto, se você observar a janela Solution Explorer, verá na estrutura do projeto ba pasta Script a biblioteca jQuery (jquery-1.4.1.min.js):
De forma geral, nas páginas .aspx dos nosso exemplos poderemos distinguir 3 seções:
  1. A declaração da biblioteca jQuery que iremos usar (tag <script src=”Scripts/jquery-1.4.1.js”…> (Estamos usando a biblioteca jQuery localmente na pasta Scripts);
  2. A declaração do código jQuery entre as tags <script type=”text/javascript”>;
  3. A declaração do estilo CSS usado na página na tag <style type=”text/css”>.
Para realizar a tarefa proposta usando jQuery Ajax, criaremos uma página .aspx no projeto da seguinte forma :
  • No menu Project -> Add New Item e selecione o template Web Form;
  • Informe o nome da página e clique no botão Add;
  • Vamos remover também do projeto os arquivos .aspx e a Master Page do projeto clicando com o botão direito do mouse sobre o arquivo e clicando em Delete.
Obs: Se você estiver usando o VS 2008, deverá ter aplicado o Service Pack 1 e a correção KB958502 http://archive.msdn.microsoft.com/KB958502 para poder habilitar o intellisense do jQuery.
2 -
Definindo a fonte de dados XML
Vamos definir como nossa fonte de dados XML o arquivo livros.xml com o seguinte conteúdo:
<?xml version="1.0" encoding="utf-8" ?>
<LivroLista>
<Livro>
<Titulo>O Alquimista</Titulo>
<Autor>Paulo Coelho</Autor>
<Genero>Ficcao</Genero>
</Livro>
<Livro>
<Titulo>A moreninha</Titulo>
<Autor>Machado de Assis</Autor>
<Genero>Romance</Genero>
</Livro>
<Livro>
<Titulo>David Copperfield</Titulo>
<Autor>Charles Dickens</Autor>
<Genero>Classico</Genero>
</Livro>
<Livro>
<Titulo>Sidarta</Titulo>
<Autor>Herman Hesse</Autor>
<Genero>Ficcao</Genero>
</Livro>
<Livro>
<Titulo>ADO Banco de dados na web</Titulo>
<Autor>Jose Carlos Macoratti</Autor>
<Genero>Informatica</Genero>
</Livro>
</LivroLista>
Vamos colocar o arquivo livros.xml no projeto por questão de simplicidade, mas poderia colocar em qualquer lugar. Para isso, no menu Project -> Add Existing Item e selecione o arquivo livros.xml.
3 - Definindo a interface
Crie um novo web form chamado Default.aspx.
Inclua uma tabela HTML (menu Table->Insert Table) na página Default.aspx com uma coluna, conforme o seguinte leiaute:
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="Default.aspx.vb" Inherits="jQuery_Ajax_XML._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Lendo um arquivo XML com JQuery Ajax</title>
</head>
<body>
<form id="form1" runat="server">
   <div align="center">
       <fieldset style="width:400px;height:230px;">
        <table border="0" cellpadding="3" cellspacing="3">
           <tr><td colspan="2" class="style1">Arquivo XML</td></tr>
           <tr><td colspan="2">
              <div id="conteudotArea" align="left" />
           </td></tr>
         </table>
      </fieldset>
   </div>
</form>
</body>
</html>
A tag <fieldset> é usada para agrupar logicamente elementos em um formulário. Ela desenha uma caixa em torno dos elementos relacionados a ele. A tag também define uma tabela HTML com uma coluna e uma linha, na qual iremos exibir as informações do arquivo XML.
Definimos também uma <div> com id igual a mensagem que iremos usar como uma área para exibir o
arquivo XML: <div id=”conteudoArea”></div>

Definindo o script jQuery

Agora vamos definir o script jQuery para exibir o conteúdo da célula selecionada do GridView, conforme o código abaixo:
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
    <script language="javascript" type="text/javascript">
        $(document).ready(function () {
            $("#contentArea").append("<ul></ul>");
            $.ajax({
                type: "GET",
                url: "livros.xml",
                dataType: "xml",
                success: function (xml) {
                    $(xml).find('Livro').each(function () {
                        var sTitulo = $(this).find('Titulo').text();
                        var sAutor = $(this).find('Autor').text();
                        var sGenero = $(this).find('Genero').text();
                        $("<li></li>").html(sTitulo + ", " + sAutor + ", " + sGenero).appendTo("#contentArea ul");
                    });
                },
                error: function () {
                    alert("Ocorreu um erro inesperado durante o processamento.");
                }
            });
        });
</script>
No script jQuery definimos
o seguinte:
1- A função $(document).ready(function() { onde acrescentamos as tags que contêm a
lista não ordenada:
$("#contentArea").append("<ul></ul>");

2- Chamamos o método Ajax
$.ajax({

3- Definimos o tipo de requisição HTTP como GET:
type: "GET",

4- Especificamos a url para o documento XML : livros.xml
url: "livros.xml",

5- Definimos o tipo de dados da resposta (response):
dataType: "xml",

6- Definimos a função de retorno para a invocação de sucesso:
success: function (xml) {
7- Percorremos usando um laço cada nó LivroLista/Livro
no documento XML:
$(xml).find('Livro').each(function(){
8- Recupera o conteúdo das tags Titulo, Autor e Genero do arquivo XML:
var sTitulo = $(this).find('Titulo').text();

var sAutor = $(this).find('Autor').text();

var sGenero = $(this).find('Genero').text();

9 – Acrescentamos o conteúdo recuperado como um item da lista para a lista não ordenada no
formulário:
$("<li></li>").html(sTitulo + ", " + sAutor + ", " + sGenero).appendTo("#contentArea ul");
10- Define a função de retorno em
caso de erro:
error: function () {

alert("Ocorreu um erro inesperado durante o processamento.");
Executando o projeto iremos obter:
Dessa forma, vemos o conteúdo do arquivo livros.xml exibido na página ASP .NET através do recursos jQuery Ajax.
Pegue o projeto completo aqui:  Query_Ajax_XML.zip.
E:\Clientes\W2R\Internet\Site\xml\jQuery_Ajax_XML



segunda-feira, 20 de maio de 2013

Redes Sociais? Bahh… não preciso disso!


Redes Sociais? Bahh… não preciso disso! (Introdução)

Quem pensa assim, não sabe o que está perdendo! As redes sociais tem um papel importantíssimo na internet atual. Além disso, estar nas redes sociais é uma oportunidade de anunciar seus produtos e serviços, se relacionar com seus clientes ou fortalecer sua marca de formagratuita!
A rede social de Mark Zuckerberg, por exemplo, tem levado a sério a presença das empresas, e disponibiliza diversos recursos de anúncios, estatísticas, interação, e muitos outros. Por exemplo, quando você faz um post através da sua fanpage, é possível ver qual foi a repercussão dele, quantas pessoas viram, quantas comentaram, etc.

Eu fiz, e deu certo!

Temos vários exemplos de sucesso, seria fácil falar de um case de sucesso de uma campanha da Coca-Cola ou do Axe, porém, gostaria de falar de algo mais real  aos programadores do Brasil, trata-se  de um projeto que eu estive envolvido. Trabalhei como gerente de projetos de um aplicativo promocional para Facebook desenvolvido para a Eurofarma-RC(equipe automobilística da Eurofarma na Stock Car). O aplicativo chamava-se Corrida Eurofarma, foi desenvolvido em Asp.Net e C#, tratava-se de um jogo com duração de algumas semanas onde os curtidores da fanpage da Eurofarma no Facebook podiam se cadastrar e começar a brincadeira.
As atividades diárias envolviam compartilhar postagens, responder perguntas de um quiz, convidar amigos para curtir a fanpage da empresa e participar do jogo, entre outros. Também era possível chamar amigos para “fazer parte do seu carro” e assim multiplicar os pontos ganhos pela quantidade de amigos que conseguiu reunir. Cada atividade feita valia quilômetros e no final de um período, aqueles que tivessem “corrido” mais quilômetros levava os prêmios, que incluía eletrônicos, itens autografados e até uma volta rápida com o piloto da equipe em um carro da Stock Car.
Note que as atividades incluíam compartilhar postagens, curtir e recomendar a amigos. O objetivo da empresa com o aplicativo era de aumentar as pessoas curtindo, melhorar a repercussão das publicações e fortalecer a marca nas redes sociais.
Resultados? No final do jogo, o número de usuário seguindo a empresa no Facebook teve um aumento de 60%. A fan-page da empresa obteve um aumento de 1.113% de publicações visualizadas e um aumento ainda mais impressionante de repercussão de suas publicações em 1.379% em relação ao mesmo período do mês anterior.
As ações em mídias sociais funcionam! E ainda não temos muitos programadores prontos para isso no Brasil, assim, ainda existe uma grande área para se explorar. Sair na frente as vezes é o diferencial para o sucesso, aprenda sobre programação pra redes sociais e torne isso o diferencial da sua carreira!

Curtir, Tweetar e Marcar +1

Um passo básico de integrar seu site com as redes sociais é utilizar os plugins disponibilizados para compartilhar seu site ou sua página. Vamos aprender a inserir o Curtir, Tweetar e +1, assim como nosso blog tem nessa página em cima to título do artigo. Já que você vai olhar lá em cima para ver, aproveite e curta esse artigo :)

Porque usar?

Simples, quando você disponibiliza esses recursos no seu site, os usuários podem ajudar a trazer novos usuários. Por exemplo, quando você clica em Curtir acima do título desse artigo, seu amigos vão ver “José curtiu o artigo …”, quando você Tweetar, o link e título do artigo serão divulgados, e quando marcar publicamente com +1 do Google Plus, seu círculo de amigo verá a marcação. Em outras palavras você está mostrando publicamente que gostou do meu artigo, e divulgando gratuitamente para outras pessoas que talvez considerem sua opinião ou o assunto importante e entrem para ver.
Ainda podemos falar de outro benefício que essa integração trás: a relevância no Google.
Cada vez mais nosso amigo Google tem dado atenção e importância para o lado “Social” das coisas. O algoritmo do Google sofre diversas mudanças a cada ano, e de alguns anos pra cá, o Google quer ver a importância do seu site como as pessoas veem, portanto, um site que tem aprovação publica de várias pessoas através das redes sociais pode ser o diferencial para passar seu concorrente nas buscas.
Quer ver um exemplo? O Google tem uma ferramenta chamada Google Webmasters, nela você pode acompanhar o desempenho do seu site nas buscas, bem como ver os links que apontam para sua página(é fato conhecido que a quantidade e qualidade de links que apontam para seu site é considerado pelo Google como fator de relevância). Quando for verificar os links, note que tem um contador referente ao Twitter e Facebook, de pessoas que compartilharam seu link, página ou artigo. (no Facebook apenas fanpages pontuam link). Além disso, sua presença no Google Plus, por ser uma rede social do Google, também tem influência no que ele pensa do seu site.

Como fazer?

Botão Curtir – Facebook
1<script src="http://connect.facebook.net/pt_BR/all.js#xfbml=1"></script><fb:like show_faces="false" width="60" height="22" layout="button_count"></fb:like>
Note que o layout button_count indica que será um botão curtir mostrando na frente o número de curtidas que já teve. Você pode utilizar a propriedade href=”http://www.sua-url.com.br” na tag fb:like para indicar uma URL a ser curtida, caso não seja a mesma que o botão está. No meu caso, utilizo o href nas páginas de listagem, por exemplo, na página inicial, afinal cada artigo tem uma URL diferente, e aqui na página do artigo não é preciso.
Botão Tweetar – Twitter
1<a href="http://twitter.com/share" data-count="horizontal" data-via="[Tweetar]">Tweetar</a><script type="text/javascript"src="http://platform.twitter.com/widgets.js"></script>
Assim como o Curtir do Facebook, você pode usar uma opção para definir uma URL a ser tweetada que não seja a que o botão está, para isso chame a propriedade data-url=”http://www.sua-url.com.br” dentro da tag a.
Botão +1 – Google Plus
No seu código:
1<g:plusone size="medium"></g:plusone>
Dentro da tag <head>:
1<script type="text/javascript" src="https://apis.google.com/js/plusone.js">
2
3{ lang: 'pt-BR' }
4
5</script>
Para definir uma URL a ser marcada com +1 que não seja a que o botão está, chame a propriedade href=”http://www.sua-url.com.br” dentro da tag g:plusone.

Like Box do Facebook

É uma “caixa” que você pode  inserir no seu site para mostrar as “carinhas” das pessoas que já curtiram sua fanpage e assim incentivando outras pessoas a curtir também. Caso esteja logado no Facebook, seus amigos que curtiram serão mostrados primeiro. Também é possível configurar para mostrar as últimas postagens da sua fanpage.

Como fazer?

O Facebook tem um gerador pra facilitar a nossa vida. Clique aqui para abri-lo.
Você verá as seguintes configurações:

Facebook Page URL: Endereço da sua fanpage.
Width: Largura
Height: Altura
Color Scheme: Tema de cores, se o seu site tem o fundo escuro, use o dark.
Show Faces: Deixe marcado para exibir as “carinhas” de quem curte a fanpage.
Border color: Antigamente não tinha esse recurso, e era muito chato não ter opção e deixar a borda de um jeito que ficava estranho no seu site, ainda bem que eles mudaram isso e agora você pode escolher a cor da borda. Ex: #CCCCCC
Stream: Marque para deixar habilitado a exibição das últimas postagens.
Header: Marque para deixar habilitado o cabeçalho(desnecessário).
Depois de configurar, clique em Get Code e escolha que tipo de código você quer. Ai é só colar no seu Asp.Net ou HTML. (na minha experiência com Like Box, tive menos problema com  a opção de código Iframe, pois deu menos conflitos).

Widget com os últimos Tweets

Para exibir os últimos tweets, a própria rede social disponibiliza uma ferramenta para criação, assim como o Facebook. Clique aqui para acessar. Você será direcionado para a seguinte página:
Achei desnecessário incluir informações adicionais de como configurar, já que é em Português e as configurações são muito fáceis.

Transformando Perfil de Amigos em Fanpage no Facebook

Sim, é possível converter o perfil de amigos em Fanpage e transformar os amigos em curtidas! Decidi incluir essa informação porque vejo muitas pessoas quebrando a cabeça com isso. Algumas tem um perfil de amigos no Facebook com milhares de pessoas adicionadas e criam uma fanpage começando do zero e pedindo para os amigos curtirem. Isso não é necessário! Basta logar no Facebook, acessar a página de migração e seguir o passo-a-passo para transformar o perfil de amigos em Fanpage e converter os amigos em curtidores da página.

Concluindo…

Você viu na introdução a importância das redes sociais na vida dos programadores que querem se destacar. Use os recursos básicos que disponibilizei nesse artigo e fique atento. Em breve, vou disponibilizar uma API de programação para Facebook em Asp.Net com C#. Se você quer criar aplicativos para o Facebook em C# de uma forma muito fácil, cadastre-se através da opção na direita para receber as novidades por e-mail. Dentro de alguns dias você receberá um alerta para entrar no Blog  e conferir a API para Facebook em C#.
Obrigado por ler o artigo, se possível, curta, tweet e marque com +1.



domingo, 4 de setembro de 2011

Android amplia vantagem no mercado de smarthones dos EUA

O Android ampliou a vantagem sobre os concorrentes no mercado de smartphones nos Estados Unidos. É o que aponta o último relatório da empresa de pesquisas comScore, que mostra o sistema operacional do Google com uma participação de 41,8% do mercado em julho, contra 36,4% três meses antes. O iOS, da Apple, foi outro sistema que ganhou espaço, subindo um ponto percentual no último trimestre, para 27%.

O avanço de Google e da Apple no mercado americano se dá principalmente em cima da perda de espaço da RIM, fabricante do BlackBerry, com 21,7% de participação, 4% a menos que na última pesquisa da comScore. A Microsoft também perdeu espaço com seu Windows Phone, representando 5,7%, e o Symbian, da Nokia, amarga o último lugar entre os sistemas operacionais, com 1,9%.

Entre os fabricantes de smartphones, a Samsung lideram com 25,5% do mercado. A LG, segunda colocada, tem 20,9%, seguido pela Motorola, com 14,1%. A Apple, com 9,5% do mercado, ampliou a vantagem em cima da RIM. Hoje, a diferença entre as duas fabricantes é de 1,9%, quando há três meses era de apenas 0,1%.