Uso o JQuery nos últimos 2 anos e tenho sido bem-sucedido ao criar algumas funcionalidades muito legais com ele ... por isso estou muito confortável com ele. Também acredito que o futuro da web continuará no caminho atual do lado do cliente.
Contudo...
O próximo desafio parece vir na forma de várias estruturas de controladores: KnockoutJS , BackboneJS , SproutCore , JavaScriptMVC (a lista continua).
Além disso, existem algumas ótimas ferramentas do AMD Loader para uso como RequireJS ou LabJS etc. No entanto, o jQuery agora possui recursos define
e then
recursos incorporados.
Está ficando cada vez mais difícil acompanhar tudo ...
E agora, minha tarefa parece ser avaliar / decidir sobre uma direção estratégica para o uso de alguma forma de uma estrutura MVC ou MVVM do lado do cliente ... mas eu tenho muitas perguntas.
- Onde o JQuery se encaixa nas várias estruturas de controlador mencionadas acima?
- O JQuery é usado ao lado de cada um ou alguns deles têm sua própria versão ' JQuery- styled version'?
- São ferramentas como RequireJS que ainda é necessário se você implementar uma das várias controlador-estruturas acima mencionadas?
- Os recursos
define
ethen
incorporados ao JQuery agora substituem o AMD Loader mencionado acima? - Qual parece mais modular? (veja as notas abaixo)
OBSERVAÇÕES:
Uma coisa que eu não quero em nenhuma estrutura futura é o requisito de ter que absorver grandes quantidades de funcionalidades que não uso. Ou seja, eu prefiro usar uma estrutura que seja verdadeiramente modular. Por exemplo, para usar a interface do usuário do jQuery, é necessário incluir muitas outras bibliotecas principais que você pode não usar.
Eu estarei experimentando com cada um, mas algum feedback REAL seria ótimo. Eu já vi algumas perguntas 'semelhantes', mas nenhuma realmente respondeu à inclinação acima.
Desde já, obrigado!
fonte
Responderei no JavaScriptMVC como colaborador:
JavaScriptMVC depende do jQuery e o usa extensivamente.
JavaScriptMVC não tem funcionalidade concorrente com jQuery. Isso não é verdade no Backbone que possui seu próprio sistema de eventos. Mas, qualquer coisa que a espinha dorsal ou a coluna adicionar são muito mínimas.
JavaScriptMVC vem com um sistema de gerenciamento de dependências -> roubar. Você pode usar o JavaScriptMVC com o RequireJS, mas o roubo é realmente muito mais poderoso e quase o mesmo tamanho baixado por um usuário.
Isso não é opinativo. JavaScriptMVC é extremamente modular. Você usa apenas o que precisa. Em comparação com o Backbone ou a coluna, você pode usar as peças M, V ou C de forma independente. Quando montado, é apenas 1k maior que o Backbone (ao usar jQuery e Underscore). Você pode ver os vários tamanhos de componentes básicos aqui: https://github.com/jupiterjs/javascriptmvc/issues/26
Mas JavaScriptMVC é muito mais poderoso (em termos de recursos) vs Backbone ou Spine. Por exemplo, seus manipuladores de eventos modelados evitam praticamente todos os vazamentos de memória. Aqui está uma dica de ferramenta que se oculta quando a janela é clicada:
Isso é absolutamente crítico com a abordagem MVC quando seus controles estão ouvindo alterações no modelo, como:
O controlador desvinculará automaticamente todos esses manipuladores de eventos externos.
Alguns outros pontos fortes das partes do MVC:
Agora, o JavaScriptMVC é muito mais do que apenas partes do MVC (que fazem parte do subprojeto jQueryMX). Tem:
Agora, sobre o que usar, depende muito. Depende muito se você estiver criando um "aplicativo" ou uma "página". Um aplicativo que precisa de testes, gerenciamento de dependências, no qual você se preocupa com vazamentos de memória, eu examinaria o JMVC ou o SproutCore.
Se você está colando alguns widgets básicos, eu veria a coluna vertebral ou a espinha dorsal.
fonte