Cash, uma pequena alternativa ao jQuery para navegadores modernos
(github.com/fabiospampinato)Introdução ao CashCash
- CashCash é uma alternativa muito pequena ao jQuery para navegadores modernos (IE11+), oferecendo uma sintaxe no estilo jQuery para manipulação do DOM.
- Ele aproveita recursos de navegadores modernos para manter a base de código mínima e oferece métodos encadeáveis semelhantes ao jQuery em um arquivo muito menor.
- Não tem como objetivo alcançar 100% de compatibilidade funcional com o jQuery, mas cobre a maioria dos casos de uso do dia a dia.
Comparação
-
Comparação de tamanho
- Unminified: Cash 36.5 KB, Zepto 58.7 KB, jQuery Slim 227 KB
- Minified: Cash 16 KB, Zepto 26 KB, jQuery Slim 71 KB
- Minified & Gzipped: Cash 6 KB, Zepto 9.8 KB, jQuery Slim 24.4 KB
- Em comparação com o jQuery Slim, há uma redução de tamanho de 76.6%.
-
Comparação de funcionalidades
- Suporte a navegadores antigos: Cash ❌, Zepto ❌, jQuery Slim ✔
- Suporte a navegadores modernos: Cash ✔, Zepto ✔, jQuery Slim ✔
- Manutenção ativa: Cash ✔, Zepto ❌, jQuery Slim ✔
- Eventos com namespace: Cash ✔, Zepto ❌, jQuery Slim ✔
- Base de código em TypeScript: Cash ✔, Zepto ❌, jQuery Slim ❌
- Tipos TypeScript: Cash ✔, Zepto ⚠️, jQuery Slim ⚠️
- Suporte a builds parciais: Cash ✔, Zepto ⚠️, jQuery Slim ⚠️
Como usar
- Cash está disponível no jsDelivr e pode ser usado da seguinte forma:
<script src="https://cdn.jsdelivr.net/npm/cash-dom/…; <script> $(function () { $('html').addClass('dom-loaded'); $('<footer>Appended with Cash</footer>').appendTo(document.body); }); </script> - Também pode ser usado via npm com o pacote
cash-dom:import $ from "cash-dom"; $(function () { $('html').addClass('dom-loaded'); $('<footer>Appended with Cash</footer>').appendTo(document.body); });
Documentação
- Cash oferece seletores de consulta, métodos de coleção e alguns métodos de biblioteca.
- É possível consultar a API do jQuery, e o Cash implementa a maior parte dos recursos compatíveis com jQuery.
- Cash pode ser expandido com métodos personalizados.
Contribuição
- Se você encontrar um problema ou tiver uma solicitação de recurso, deve abrir uma issue.
- Para enviar um pull request, siga estas etapas:
- Clonar o repositório:
git clone https://github.com/fabiospampinato/cash.git - Ir para o repositório clonado:
cd cash - Instalar as dependências:
npm install - Recompilar automaticamente o Cash ao fazer alterações:
npm run dev - Abrir a suíte de testes:
npm run test - Atualizar o README, se necessário
- Clonar o repositório:
Agradecimentos
- Agradecimentos a todos os contribuidores que ajudaram no desenvolvimento do Cash.
- Agradecimentos a @hisk pelo design do logo.
Licença
- MIT © Fabio Spampinato
1 comentários
Opiniões no Hacker News
Os navegadores simplificam a manipulação do DOM, então dá para fazer o trabalho com apenas duas linhas de código
document.querySelectoredocument.querySelectorAllcom bindingA vantagem do jQuery é o processamento automático de listas e a capacidade de consultar elementos pai
Como sites mainstream usam muito JavaScript, reescrever a biblioteca inteira é ineficiente
Apresentação de uma biblioteca alternativa ao jQuery feita pessoalmente
Passei a conhecer as diferenças entre jQuery e Cash
Já usei Shoestring para reduzir JS
O objetivo é inferir o tipo do elemento usando template strings do TypeScript
$('div#name')é inferido como HTMLDivElementjQuery 4 é a alternativa para navegadores modernos
Usei jQuery em extensões de navegador, mas migrei para uma biblioteca JSX
Gosto de bibliotecas e frameworks pequenos, mas na prática acabo usando bibliotecas grandes