Considerando
- fundo de negócios
- suporte da comunidade
- extensões disponíveis
- conjunto padrão de recursos
- simplicidade de uso
- e confiabilidade
por que você prefere um sobre o outro?
Considerando
por que você prefere um sobre o outro?
Respostas:
Vou tentar adicionar meu pedaço de informação.
Pelo que entendi, o Google Closure não é apenas outra biblioteca JS, mas também um conjunto de ferramentas que permitirá otimizar seu código JS. Trabalhar com o jQuery fornece boas ferramentas e uma biblioteca leve, mas não reduz o seu próprio código. O compilador Closure irá. O inspetor de fechamento também pode ser útil, pois, às vezes, o código minificado tem um comportamento diferente do original e é um problema para depuração. Ele se integra ao Firebug e aos testes de unidade de suporte, que são os melhores amigos dos desenvolvedores atualmente.
Eu acho que, como qualquer nova biblioteca VS uma bem estabelecida, ela não terá a disponibilidade de toneladas de extensões e tutoriais que o jQuery possui. No entanto, ser promovido pelo Google deve garantir que o suporte e a confiabilidade sejam bons. A documentação e o tutorial atuais também parecem muito bons.
Os recursos do Closure parecem decentes, e sua arquitetura modular também é promissora. Eu acho que o Google o usa internamente há muito tempo, o que significa que você pode esperar que todos os recursos básicos (e mais) sejam implementados, e provavelmente de uma maneira muito otimizada e escalável. Eles estão tentando apresentá-lo como o STL do JavaScript e, portanto, deveriam tê-lo aperfeiçoado.
Depois de analisar os recursos mais de perto, parece que esse pode ser um passo adiante no desenvolvimento de aplicativos da Web em comparação com as bibliotecas existentes como jQuery. Ele acha que beneficia desenvolvimentos internos no Google, mas coisas como detectar o estado online (consulte goog.events.OnlineHandler ), fácil integração de solicitações AJAX e ações de JS no histórico do navegador (consulte goog.History ) ou legiões de ótimos widgets eles fornecem (consulte o pacote goog.ui ) pode ajudar a todos nós a criar webapps ainda mais incríveis;)!
Ele vem com recursos de modelos que se integram ao Java (quem disse que o GWT ?), Portanto, isso também pode ser outra vantagem do Closure.
Finalmente, parece bem simples de usar. A sintaxe pode ser um pouco mais detalhada do que a curta função $ jQuery, mas com IDEs e preenchimento automático, não é um problema real. Além disso, eu diria que podemos esperar uma boa integração em IDEs como o Eclipse, vindos do Google.
EDIT: conforme solicitado, deixe-me dizer algumas palavras sobre a referência GWT. O Google Web Toolkit é uma biblioteca Java que permite criar interfaces da Web ativadas para AJAX e que gera (e otimiza) o código JavaScript necessário. Como o Google Closure permite criar modelos que podem ser usados no lado do cliente e no servidor (usando JavaScript e Java), meu palpite é que em breve será possível usá-los em conjunto (se já não for o caso).
No meu breve olhar para a API, considero as diferenças entre jQuery e Closure impressionantes.
O jQuery é basicamente apenas uma maneira simplificada de realizar muitas operações freqüentes de maneira entre navegadores.
Closure é uma estrutura muito nova, na medida em que fornece uma maneira entre navegadores de usar o <canvas>
tag, por exemplo, e eles adicionaram novos eventos.
Portanto, isso é um acréscimo ao que normalmente fazemos com javascript, eles estão realizando muitas operações que as pessoas desejam fazer e colocando-as na API.
Por exemplo, eles têm um evento para saber se o estado online mudou. Então você pode dizer se o sistema está online.
Eles têm funções javascript que usam ferramentas como o Google Gears, o que continua com o fato de terem estendido o que pode ser feito com Javascript.
Levarei alguns dias para digerir todas as alterações, mas posso ver que isso pode ter um grande impacto em aplicativos da Web que podem ser desenvolvidos.
A maior vantagem da biblioteca de fechamento é que ela foi projetada para o Closure Compiler. Isso abre completamente novas possibilidades para o desenvolvimento de JavaScript ...
O compilador possui vários recursos interessantes:
Para obter detalhes, consulte: http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
Editar : dê uma olhada neste vídeo do youtube pois ele pode responder melhor a algumas perguntas sobre o Google Closure.
Provavelmente, as melhores fontes de informações sobre o fechamento do Google são o grupo de discussão do projeto , wiki, páginas de documentos, demos e um livro ainda inacabado de Michael Bolin, que agora está disponível no site de livros de safari.
uma coisa que posso dizer imediatamente - há uma curva de aprendizado mais acentuada para closure
vs, jQuery
mas pode valer a pena devido à vastidão da biblioteca, organização clara e o benefício de usá-la juntamente com o compilador e a ferramenta de modelagem.
closure
A biblioteca nesse sentido é mais do dojo
que jQuery
, e alguns conceitos foram emprestados dojo
, de acordo com Michael Bolin.
o compilador de fechamento do google usa JSDoc
sistema de documentação que simultaneamente (se criado pelo programador corretamente) fornece documentação e permite detectar muitos erros no momento da compilação.
enquanto os nomes das funções são mais detalhados que jQuery
os do, o compilador reduz o código (usando várias táticas de otimização) e a verificação de tipo economiza um tempo considerável na depuração do código; portanto, o tempo para digitar os nomes mais longos provavelmente não é um problema. Ao mesmo tempo, nomes mais longos acrescentam legibilidade.
A biblioteca suporta navegadores em execução no modo peculiar, para que os scripts possam ser incorporados por outros sites usando o html "peculiar"
A biblioteca funciona com (mas não depende) de um sistema de templates javascript chamado soy
que simplifica o preenchimento de documentos com conteúdo.
como o jQuery
google, closure
permite percorrer a estrutura dom com as consultas baseadas em strings usando um componente dedicado da biblioteca.
closure
A biblioteca se baseia em espaços de nome delimitados por pontos, mais como Java
um recurso organizacional muito forte.
o uso desses espaços para nome terá uma sobrecarga no código não compilado, mas no código compilado essas coisas serão substituídas por nomes curtos de variáveis.
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
Você pode me vincular a alguma documentação relacionada a ela?
goog.dom.DomHelper
, mas eu pessoalmente não vejo uma função de consulta equivalente ao jQuery. @ Evgeny: Você pode nos dar mais detalhes?
Acabei de publicar um artigo bastante exaustivo sobre o Google Closure que responde a essa pergunta no insideRIA .
... Fechamento rulez! ^ _ ^
Talvez eu não esteja recebendo o jQuery, mas ainda não vi uma coleção real de widgets da interface do usuário (existem plugins, sim, mas você nunca sabe o quão bem eles são testados e, geralmente, não há um vencedor claro e / ou o plugin não possui) documentação).
O fechamento possui, entre outras coisas, uma coleção de widgets (consulte a guia demos), incluindo, digamos, botões sem imagem usados no gmail.
De maneira mais geral, ele possui mais funcionalidades implementadas como parte do lançamento. Pode não ser uma grande coisa, mas fico irritado com o mar de plugins jQuery quando procuro algo tão simples quanto um módulo de histórico do ajax ou o preenchimento automático.
No geral, é uma enorme biblioteca + conjunto de ferramentas e eu vou me familiarizar com ela apenas para saber o que está disponível.
Aprecio a maioria das contribuições do Google para a comunidade de código aberto e tenho certeza de que tem algumas coisas legais, mas no geral acho o Closure volumoso, desgastado e deselegante. Se você deve transformar tudo em Java, suponho que seja absolutamente espasmódico.
Editar:
Justo. Eu realmente não comparei. O fechamento é como um armazém gigante com todas as ferramentas possíveis que você poderia querer localizar ... em algum lugar. Como o .NET ou uma enorme biblioteca Java. Depois de encontrar o que precisa, você pode encontrar itens altamente específicos que realizam trabalhos altamente específicos. E, em seguida, para a produção, você pode remover todo o lixo.
JQuery, por outro lado, é mais uma chave de fenda sônica facilmente modificada.
A Biblioteca do Google Closure permite compilar e otimizar seu JavaScript. Não é uma biblioteca como o jQuery. O jQuery é algo que fornece funções que permitem que você escreva seu próprio javascript mais rapidamente.
O Google Closure ajudaria você a minimizar seu próprio código javascript para permitir uma entrega mais rápida pela Internet.
Para encurtar a história, o Google Closure é uma ferramenta, enquanto o jQuery é uma biblioteca semelhante ao Prototype.