Sobre Luiz Tiago

Graduado em Sistemas para Internet - WebDesign na Faculdade Marista Recife e pós-graduando em Desenvolvimento de Aplicações Móveis no C.E.S.A.R., atuo na área de desenvolvimento web desde 2001. Tenho como bagagem um portfólio bastante abrangente, além de vir ministrando algumas palestras e cursos de extensão ligados à Web, mostrando sempre as tendências e os conceitos da área.

Últimos posts de Luiz Tiago

15/05/2012

jQuery: biblioteca ou framework?

Esta discussão não é recente. Na verdade, é um assunto muito polêmico, e não são os tão conhecidos mamilos. Até algum tempo atrás, no próprio site oficial, o jQuery se definia como um framework, e atualmente, deixam bastante explícito que é uma biblioteca. Mas por que tanta dúvida da comunidade e dos próprios desenvolvedores? Vamos tentar entender um pouco mais cada coisa, analisando diversas fontes do nosso universo online (não, não é um jabá!). Vejamos os conceitos…

Biblioteca (or Library)

“In computer science, a library is a collection of resources used to develop software. These may include pre-written code and subroutines, preses, values or type specifications.” Wikipedia/EN

“Na ciência da computação, biblioteca é uma coleção de subprogramas utilizados no desenvolvimento de software. Bibliotecas contém código e dados auxiliares, que provém serviços a programas independentes, o que permite o compartilhamento e a alteração de código e dados de forma modular.” Wikipedia/BR

Framework (or that even)

“A software framework is a universal, reusable software platform used to develop applications, products and solutions. Software Frameworks include support programs, compilers, code libraries, an application programming interface (API) and tool sets that bring together all the different components to enable development of a project or solution.” Wikipedia/EN

“Um framework, em desenvolvimento de software, é uma abstração que une códigos comuns entre vários projetos de software provendo uma funcionalidade genérica. Um framework pode atingir uma funcionalidade específica, por configuração, durante a programação de uma aplicação. Ao contrário das bibliotecas, é o framework quem dita o fluxo de controle da aplicação, chamado de Inversão de Controle.” Wikipedia/BR

jQuery

“jQuery is a new kind of JavaScript Library. jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development. jQuery is designed to change the way that you write JavaScript.” Site oficial do jQuery

Ou seja, o jQuery simplifica diversas coisas para um desenvolvimento mais rápido. jQuery é projetado para mudar a maneira que você escreve JavaScript. Mas ele não dita qual a estrutura nem qual o fluxo em que sua aplicação deve ser montada, consequentemente, por esses e outros motivos, não deve ser considerado um framework.

jQuery Mobile

“jQuery’s mobile strategy can be summarized simply: A unified user interface system that works seamlessly across all popular mobile device platforms, built on the rock-solid jQuery and jQuery UI foundation.” Site oficial do jQuery Mobile

Quem conhece o jQuery Mobile, em seu Getting Started, já ditam qual o modelo em que sua aplicação deve seguir para poder utilizá-lo. Todas as seções, listas, navegação, campos de formulário, devem seguir à risca o modelo, a menos que seja configurado diferentemente. Com isso, todo o Javascript, CSS e imagens do framework serão utilizados para facilitar o trabalho do desenvolvedor.

And now?

Pois é, terminologia sempre geram dúvidas. Mas analisando as fontes diferenciadas, conseguimos ter uma ideia mais aprofundada. Em suma, um framework é algo que normalmente obriga uma certa forma de implementação da solução. A biblioteca, como seu próprio nome diz, é um acervo, que contém funções/métodos/padrões que irão facilitar o trabalho do desenvolvedor.

08/05/2012

Conheça o jQuery Boilerplate: Entrevista com Zeno Rocha

Trabalhar com jQuery ou Javascript e não conhecer Zeno Rocha é bem difícil, mas mesmo assim não vou deixar de apresentá-lo. Ele tem 21 anos e já tem muita história para contar. Foi desenvolvedor de software na Petrobrás, e hoje trabalha no Globoesporte.com, estuda Sistemas de Informação na Universidade Federal do Estado do Rio de Janeiro (UNIRIO) e ainda tem tempo para implementar um bocado de ideia open-source, como o jQuery Boilerplate (no qual iremos falar neste post) e o Wormz do Chrome Experiments.

Particularmente falando, eu já conhecia Zeno remotamente, mas só o conheci pessoalmente no Pernambuco.JS, evento que participei da organização e ele era um dos palestrantes. O jQuery Boilerplate é apenas um de seus projetos, e conhecer esta iniciativa será bem inspiradora para todos nós que trabalhamos com desenvolvimento web. Acabando um pouco com o blá-blá-blá, vamos partir para o objetivo do post!

O que é?

O jQuery Boilerplate é um pontapé inicial para os desenvolvedores construirem plugins jQuery. Um conjunto de boas práticas que visam te auxiliar nesse processo.

Como surgiu a ideia?

A ideia surgiu enquanto estava no trabalho, na época ainda trabalhava para Petrobras e notei que a lógica que estava codificando poderia ser útil para outras partes do sistema. Na hora pensei: “Bem que isso poderia se transformar em um plugin jQuery”.

Dei uma pesquisada no nosso amigo Google em busca de encontrar um modo para construí-lo e me deparei com dezenas de abordagens diferentes. Aquilo me deixou confuso e pensei: “Por que não criar um padrão definitivo contendo as melhores práticas, já que ninguém o fez antes?”.

Algumas semanas antes disso, tinha palestrado no Front in Rio sobre o HTML5 Boilerplate e estava encantado com esse projeto. O que não me fez pensar duas vezes, o nome seria jQuery Boilerplate.

Corri atrás para descobrir se o domínio estava disponível. Impulsivo, saquei o cartão de crédito e comprei naquela hora mesmo. Começava aí minha saga em tentar estabelecer o padrão mais famoso para o desenvolvimento de plugins jQuery.

E um pequeno detalhe, nunca tinha criado nenhum plugin antes.

Como começou o projeto?

O primeiro passo foi entrar em contato com Paul Irish, o líder do projeto HTML5 Boilerplate na época. Minha ideia era utilizar o mesmo conceito e identidade visual deles, o que foi negado já que eles acharam melhor não vincular as coisas. Tudo bem, segui em frente, sozinho mesmo.

Comecei a estudar bastante o assunto, até que conheci Stefan Gabos, um desenvolvedor romeno que também estava desenvolvendo algo do tipo. Juntamos forças e chegamos em uma primeira versão. Preparei o site em inglês e lancei!

No primeiro dia (24/07/11) o site teve 64 visitas. No segundo, 2.767! O motivo desse boom tão repentino foi um simples tweet da Smashing Magazine, expondo o projeto para o mundo.

A repercussão foi grande e rapidamente chegou aos ouvidos do Core Team do jQuery, tudo ia bem até que recebo o seguinte Pull Request no Github:

O padrão proposto foi duramente criticado. E com razão, pois feria princípios importantíssimos da criação de plugins, estava na hora de mudar.

Foi então que surgiu Adam J. Sontag, desenvolvedor do Core do jQuery e jQuery UI, muito solicito em expor quais eram os problemas do projeto. Além de Addy Osmani que estava iniciando a escrita do livro Essential JavaScript & jQuery Design Patterns e por isso muito interessado no assunto.

Juntos chegamos ao que temos hoje.

Muitas pessoas utilizam?

Muitas! Hoje em dia o repositório do Github possui mais de 600 viewers e cerca de 100 forks. Só de acessos no site, já passam mais de 40 mil. O problema é que dessas 40 mil visitas, apenas 6% são oriundas do Brasil, os EUA lideram com 47% das visitas.

Quais as novidades do projeto?

A mais expressiva é o lançamento da tradução do site para português, algo que eu vinha procastinando há muito tempo, mas que criei vergonha na cara e terminei semana passada.

Recentemente, também foi incorporado, em uma branch separada, o uso de Rake para o pessoal que utiliza Ruby. Pra quem não conhece é uma ferramenta de build muito útil que realiza tarefas como minificação, validação do código com JSHint, compilação de CoffeeScript e etc.

E quais são os planos para o futuro?

Por muito tempo não me dediquei muito em torná-lo público, mas a adoção pelo mundo tem sido incrível e meu objetivo agora é disseminar isso ainda mais aqui no Brasil.

Portanto, aos poucos algumas ações tem sido feitas, o primeiro passo foi a tradução, lançada juntamente com o artigo “Tudo que você gostaria de saber sobre plugins jQuery e ninguém teve paciência de explicar” no Tableless, isso sem contar essa própria entrevista.

Além disso, estão previstas traduções para outros idiomas, a integração com o Grunt para facilitar a vida de quem usa NodeJS e quem sabe um gerador. Ou seja, muito trabalho pela frente e se você quiser ajudar é só chegar lá nas issues do Github.

Alguma mensagem final para os nossos leitores?

Coloque a cara pra bater, mostre seu código para o mundo. Fique atento, observe o que acontece na sua área. Eu tive uma ideia, achei que tinha potencial e coloquei no ar, só isso. Fui criticado, aprendi muito e hoje o projeto é um sucesso.

Hoje eu expus detalhes de uma história pessoal na esperança de inspirar outras pessoas a se envolver mais com esse mundo open source. Muita gente acaba não fazendo isso com a desculpa de não ter tempo, se você é uma delas pare com esse blá blá, durma menos e coloque alguma coisa no ar, você vai se surpreender com a proporção que isso pode tomar.

13/02/2012

Caçando bugs na jQuery

Dan Heberden publicou no GitHub um pequeno script denominado jquery-include destinado a carregar qualquer versão da biblioteca jQuery em sua página web. Ora bolas! Por que alguém iria se importar com mais uma forma de carregamento da biblioteca jQuery se tantas e já consagradas formas existem?

O diferencial do script de Dan é a possibilidade de carregamento de qualquer versão da biblioteca com o simples acréscimo de uma query string no URL da página na qual pretendemos carregar a biblioteca. Suponha a página de um site, que usa a biblioteca jQuery versão 1.6.4, cujo URL é: http://site.com.br/exemplo.html.

O site em questão foi projetado há algum tempo, e, naquela ocasião a versão mais recente da biblioteca era a 1.6.4. Além disso o desenvolvedor usou o script de Dan para fazer a chamada da biblioteca jQuery em suas páginas.

Hoje (dia em que esta matéria foi escrita a versão da biblioteca é a 1.7.1 e já existe um versão beta, de testes, da 1.7.2 denominada 1.7.2b1. Pois bem! Quer testar o funcionamento do site com uso das versões 1.7.1 ou da 1.7.2b1? É muito provável que com a versão 1.7.1 tudo funcione normalmente, a menos que alguma funcionalidade prevista na versão 1.6.4 tenha sido tornado obsoleta e retirada da versão 1.7.1. Contudo se ao carregar a versão 1.7.2b1 algo sair errado é muito provável que você tenha encontrado um bug, e, mais, se o que saiu errado estiver certo quando for carregada a versão estável mais recente então: BINGO! você encontrou um bug e poderá contribuir com o time de desenvolvimento da jQuery reportando o bug encontrado preenchendo um formulário apropriado. E, o interessante disso é que não foi você quem desenvolveu o site e nem mesmo tem acesso FTP a ele. Você simplesmente abre a página do site no navegador, adiciona uma query string no URL e recerrega a página para chamar uma nova versão da biblioteca, como mostrado a seguir considerendo nossa página exemplo anterior:

http://site.com.br/exemplo.html?jqversion=1.7.2b1

O script de Dan

  (function(){
    // Verifica se existe uma query string jqversion no URL e armazena na variável verMatch.
    // Busca uma query string constituída somente de números, letras e ponto com a finalidade de impedir ataque XSS
    var verMatch = /jqversion=([\d\w\.]+)/.exec( location.search ),
        // versão encontrada, por exemplo: 1.6.4 or 1.7rc1
        version = verMatch && verMatch[1],
        src;
    if ( version ) {
      // A verificação da query string resultou em uma verão válida. Use o CDN da jQuery para lincar a versão (não comprimida, beta ou RC) encontrada
      src = 'code.jquery.com/jquery-' + version;
    } else {
      // A verificação da query string não resultou em uma versão válida. Use o CDN do Google (ou da jQuery ou da Microsoft) para lincar a versão comprimida
      src = 'ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min';
    }
    // cria uma tag script lincando para a versão
    document.write( '<script src="//' + src + '.js"><\/script>' );
  })();

  // Usa uma cópia local, como backup caso falhe o carregamento a partir do CDN. Nesse exemplo não usamos essa opção.
  if ( !window.jQuery ) {
    document.write( '<script src="/scripts/jquery-1.7.1.min.js"><\/script>' );
  }

O script foi comentado para facilitar seu entendimento, mas se você tem alguma dúvida, fique à vontade para perguntar na área de comentários.

Além disso você poderá comprovar o funcionamento do script na prática visitando essa página exemplo que desenvolvemos para essa finalidade específica.

Gostou? Use e o time da jQuery agradece

Que tal, a partir de agora, usar o script de Dan para “fazer a chamada” da biblioteca jQuery para as páginas que você desenvolver? O máximo que poderá acontecer é um site funcionando normalmente usando a versão da biblioteca que você escolheu. Contudo o máximo dos máximos é que você estará proporcionando aos desenvolvedores do mundo inteiro a oportunidade de caçar bugs nas versões de testes futuras usando seu site como suite de testes. E, é claro, o time de desenvolvimento da jQuery agradece.

Esta matéria foi transcrita do blog do Maujor, com prévia autorização.

31/01/2012

Sorteio do livro: jQuery Mobile

Capa do Livro jQuery Mobile do Maujor

Estamos divulgando mais uma ação em parceria com a novatec.

Trata-se de DOIS sorteios do livro jQuery Mobile lançado nesta semana. Para quem não conhece, o livro foi escrito por Maurício Samy Silva, mais conhecido como Maujor.

Site oficial do livro: http://www.jqmovel.com.br/

Como participar no Twitter?

O participante deverá seguir o @jquerybr e dar um RT na mensagem abaixo:

Estou participando do sorteio do livro jQuery Mobile escrito pelo @maujor e organizado pelo @jquerybr e @novateceditora http://kingo.to/YKg

Os comentários só serão aceitos até o dia 05/02/2012 às 23:59. O sorteio acontecerá no dia 06/02/2012. Boa sorte! :)

Como participar no Facebook?

O participante deverá:

As participações só serão aceitas até o dia 05/02/2012 às 23:59. O sorteio acontecerá no dia 06/02/2012. Boa sorte! :)

Resultado

Promoção Twitter: @AlineFernandes1

Promoção Facebook: /flavioricardo91

Resenha do livro

jQuery Mobile é um framework para o desenvolvimento de aplicações web para dispositivos móveis. Adota um sistema unificado de interface de usuário, com base em HTML5 e CSS3 e, com uso de JavaScript de alto nível, gera um código compatível com uma ampla variedade de plataformas. Tem como base de construção as bibliotecas jQuery e jQuery UI, o que garante uma curva de aprendizado rápido, possibilitando desenvolver com facilidade interfaces de usuário de alta qualidade e com código extremamente otimizado para os principais navegadores desktop, smartphones e tablets, como iPad, iPhone, Android, Blackberry, Windows Phone e Nokia.

Utiliza um sistema de navegação entre as páginas da aplicação, baseado em AJAX, que proporciona o carregamento rápido das páginas, com economia de banda, além de oferecer várias opções de animação na transição entre páginas. Fornece widgets pré-configurados e estilizados, prontos para uso, que atendem à maioria das necessidades do layout de uma aplicação web, tais como barras de navegação, páginas, janelas modais, botões e listas, entre outros, todos criados por mecanismos internos do framework, a partir de marcação HTML5 simples. Além de disponibilizar uma folha de estilos CSS padrão, com cinco paletas de cores, também permite a criação de paletas personalizadas, a partir da folha de estilo padrão ou com o uso da ferramenta ThemeRoller.

Maujor, em mais um livro pioneiro em língua portuguesa, se propõe a difundir o uso desse fantástico framework, abordando as funcionalidades do jQuery Mobile de forma clara, em linguagem didática, com muitos exemplos práticos. No site do livro (http://jqmovel.com.br) você poderá ver esses exemplos em funcionamento.

O livro tem os seguintes objetivos:

  • Apresentar o framework jQuery Mobile relatando as motivações e o histórico de seu desenvolvimento.
  • Estudar a aplicação de barras de ferramentas e botões nativos do framework.
  • Explicar os fundamentos da navegação AJAX do framework.
  • Demonstrar os mecanismos para formatação de conteúdos a serem apresentados em dispositivos móveis.
  • Detalhar as técnicas de construção de listas ordenadas e não ordenadas, simples e aninhadas para apresentação de conteúdos.
  • Entender a criação de formulários com seus diferentes controles.
  • Aplicar temas e paletas, bem como criar paletas personalizadas com uso da ferramenta ThemeRoller.
  • Estudar as propriedades, os eventos e métodos da API da jQuery Mobile.
31/01/2012

jQueryBrasilCast 004 – Micro.JS

Olá pessoal,

Apesar da demora, finalmente lançamos o nosso 4º podcast.

Desta vez, contamos com a participação especial do Wilker Lúcio (pela segunda vez) e do Davidson Fellipe.

Você pode adicionar o podcast ao seu iTunes clicando aqui.

É isso aí. Comentem bastante! :)

Links

Participantes:

Espero que gostem! :)

Cya! :D

29/09/2011

Lançado o jQuery 1.7 Beta 1

Olá pessoas,

Se você não estava sabendo, a jQuery Conference 2011 irá acontecer em Boston no final desta semana. Assim como marcado antes, foi lançado hoje a versão 1.7 beta 1 do jQuery com alguns novos recursos, além da correção de vários bugs, como mencionaram no post oficial, que chega a mais de 50.

Você pode baixar a versão no CDN do jQuery:
http://code.jquery.com/jquery-1.7b1.js

Mais uma vez o team pede a colaboração para reportar qualquer bug que aconteça, tanto nas novas implementações como o não-funcionamento de algo antigo. Iremos explorar os novos recursos para adquirir mais prática nas novas implementações.

Vamos às mudanças…

Novas APIs de eventos: $.on() e $.off

Ao longo do tempo, o jQuery evoluiu três maneiras para anexar eventos aos elementos do DOM. São eles: bind(), live() e delegate(). Analisando o código das três APIs, consegue-se descobrir coisas engraçadas. Por exemplo, $(document).unbind('click') irá remover todos os eventos de click (live('click'), bind('click'), entre outros), uma vez que esses eventos estão ligados ao documento.

Para resolver algumas destas inconsistências, foi introduzido um novo par de métodos simples que pode fazer o papel de todos os três métodos utilizados anteriormente.

$(elems).on(events, selector, data, fn);
$(elems).off(events, selector, fn);

Se um seletor é fornecido, é um evento de delegate. Caso contrário, ele é diretamente vinculado. Todos os recursos das APIs antigas estão lá, por exemplo, pode ser utilizado vários eventos separados por espaço em uma única string.

Melhorias nos efeitos/animações

Antes da versão 1.7, se você paralisasse uma animação antes de completá-la, era criada uma situação onde o elemento que estava animando não poderia retornar ao tamanho original. As dimensões originais são armazenadas, antes que comece a animação, para que possa ser utilizada posteriormente. Isto elimina alguns problemas que existiam antes com accordion, por exemplo.

Melhor suporte ao HTML5

Se você já faz uso das novas tags HTML, poderá testar a nova versão que está preparada para criar e clonar elementos nestas tags.

And more…

Para a lista completa de novidades, veja o post oficial, alternativamente Anddy Osmani comenta novidades mais avançadas sobre a versão.

16/09/2011

Ajax não obstrutivo com preventDefault

Olá pessoal,

Antes de tudo, peço desculpas pelo tempo em que passei um pouco afastado. Projetos pessoais, trabalho, mudanças, enfim, vamos dar início e perder menos tempo com xurumelas =P

Todos nós já sabemos que 99,9% dos browsers possuem suporte ao bom e velho Javascript. Mas o que custa trabalharmos um pouco melhor e ter um código bem feito e dando suporte a todos? Até porque o mundo mobile cresce cada vez mais e, infelizmente, ainda existem alguns aparelhos que não dão todo o suporte.

Outro motivo que precisamos nos preocupar é que se tiver algum erro de execução no seu Javascript, por um simples erro de sintaxe, o seu código pode não ser todo interpretado e, por exemplo, estourar um JSON sem CSS na tela do usuário não é nada agradável.

E como evitar esse tipo de coisa?

Imagine que você tem um form que vai ser enviado assíncronamente. Como poderíamos fazer da melhor forma?

Existe um método que não é tão conhecido chamado preventDefault(). Ele vai nos ajudar bastante nos nossos exemplos. Ele previne a execução padrão do evento. No caso de um formulário, ele não vai submetê-lo, nem levar o usuário para a action do form. Se fosse um link, ele não levaria o usuário para a página do link, e assim sucessivamente.
Vamos pôr a mão na massa!

<form action="/users/" method="post" id="newUser">
	<input type="text" name="title" />
	<input type="submit" value="Enviar" />
</form>
$('form#newUser').submit(function(event){
	event.preventDefault(); //Este é o cara!
	var actionUrl = $(this).attr('action'),
		params = $(this).serializeArray();
	$.post(
		actionUrl,
		params,
		function(){
			alert('Formulário enviado com sucesso!');
		}
	);
 });
 

Algumas boas práticas podem ser vistas nesse código.

  • A url que é enviada via ajax é igual a do html;
  • Os parâmetros são carregados pelo serialize(), ou seja, se incluir novos parâmetros no form, estes também serão enviados na requisição ajax;
  • Se o JavaScript estiver desabilitado, o envio será feito da mesma forma. O ideal é ter um tratamento no back-end para fazer retornos agradáveis ao usuário.

Para completar, tente desabilitar o javascript do browser e fazer um teste no seu formulário. :)

preventDefault() vs return false

Alguns desenvolvedores preferem utilizar o return false; no corpo do método. Pode ser utilizado também. A diferença é que o return false executa o preventDefault() e o stopPropagation(), não permitindo que nenhum outro manipulador seja notificado do evento.

08/07/2011

Uso dos métodos .parent(), .parents() ou .closest()

Bem pessoal, nunca é demais falar de coisas simples, mas que ajudam muito a manutenção do código desenvolvido. Algumas vezes que acessei o código escrito por terceiros, me deparei com algumas coisas que são bastante utilizadas, porém não é nem de longe a melhor forma de trabalhar. Irei citar alguns exemplos agora:

<ul id="one" class="level-1">
  <li class="item-i">I</li>
  <li id="ii" class="item-ii">II
  <ul class="level-2">
    <li class="item-a">A</li>
    <li class="item-b">B
      <ul class="level-3">
        <li class="item-1">1</li>
        <li class="item-2">2</li>
        <li class="item-3">3</li>
      </ul>
    </li>
    <li class="item-c">C</li>
  </ul>
  </li>
  <li class="item-iii">III</li>
</ul>

Se você estiver com o objeto $('li.item-1') e quiser ir para a primeira ul da árvore, neste caso $('ul#one'), quais as formas que podemos chegar até ela se esse conteúdo não é estático e este id é flexível?

Primeira opção – uso do parent()

Essa é a opção que utiliza o método parent() infinitamente. Por incrível que pareça, é a que eu mais vejo.

var item1 = $('li.item-1'),
    primeira_ul = item1.parent().parent().parent().parent();

O maior problema desta opção, além do código repetido que está meio óbvio, é que se o código html for modificado acrescentando ou removendo algum elemento, este javascript precisará ser alterado também.

Segunda opção – uso do parents()

Essa é a opção que utiliza o método parents(). É uma solução válida, porém o código não fica muito elegante.

var item1 = $('li.item-1'),
    primeira_ul = item1.parents('ul.level-1:eq(0)');

Por que utilizar o eq(0)?

Desta forma ele irá retornar o objeto da primeiro ul pai com a classe .level-1 que ele encontrar.

Terceira – uso do closest()

Essa é a opção que utiliza o método closest(). Na minha opinião é a opção mais elegante.

var item1 = $('li.item-1'),
    primeira_ul = item1.closest('ul.level-1');

Esta forma é idêntica a segunda opção, porém acho que o código fica mais elegante.

E o que isso tem haver com flexibilidade no código?

Imagine que você precisa incluir outros elementos dentro desses nós, como um link ou um span. Da primeira forma você precisará dar manutenção no JS, acrescentando ou retirando a quantidade de métodos parent() que existir. Utilizando o parents() ou o closest(), não precisa se preocupar com isso. Ele se preocupa por você! :)

07/07/2011

jQueryBrasilCast 003 – Ajax, Ajaj, Ajas

Olá pessoal,

Apesar da demora, finalmente lançamos o nosso terceiro podcast. Aconteceram alguns problemas técnicos na gravação, mas o principal aconteceu. Está divulgado! :)

Desta vez, contamos com a participação especial do Wilker:

Você pode adicionar o podcast ao seu iTunes clicando aqui.

É isso aí. Comentem bastante! :)

Links

Participantes:

Espero que gostem! :)

Cya! :D

15/06/2011

Lançado jQuery 1.6.2 RC1

Ontem foi o dia de lançamento do primeiro Release Candidate do jQuery 1.6.2. Pelo que verifiquei rapidamente, não existem grandes mudanças, além da correção de alguns bugs.

Link do CDN jQuery:

Changelog:

Ainda iremos fazer alguns testes, mas de acordo com o post oficial do jQuery, as mudanças foram mais evidentes na correção de bugs, principalmente no IE (blaaah!) como mencionado no post oficial do lançamento do jQuery 1.6.2 RC1.

Cya! :D

Página 1 de 3123