Cash, una alternativa pequeña a jQuery para navegadores modernos
(github.com/fabiospampinato)Introducción a CashCash
- CashCash es una alternativa muy pequeña a jQuery para navegadores modernos (IE11+), y ofrece una sintaxis estilo jQuery para manipular el DOM.
- Aprovecha las funciones de los navegadores modernos para mantener una base de código mínima, y ofrece métodos encadenables similares a jQuery con un tamaño de archivo mucho menor.
- No busca una coincidencia funcional del 100% con jQuery, pero cubre la mayoría de los casos de uso cotidianos.
Comparación
-
Comparación de tamaño
- Sin minificar: Cash 36.5 KB, Zepto 58.7 KB, jQuery Slim 227 KB
- Minificado: Cash 16 KB, Zepto 26 KB, jQuery Slim 71 KB
- Minificado y con Gzip: Cash 6 KB, Zepto 9.8 KB, jQuery Slim 24.4 KB
- Tiene una reducción de tamaño del 76.6% frente a jQuery Slim.
-
Comparación de funciones
- Soporte para navegadores antiguos: Cash ❌, Zepto ❌, jQuery Slim ✔
- Soporte para navegadores modernos: Cash ✔, Zepto ✔, jQuery Slim ✔
- Mantenimiento activo: Cash ✔, Zepto ❌, jQuery Slim ✔
- Eventos con namespace: Cash ✔, Zepto ❌, jQuery Slim ✔
- Base de código en TypeScript: Cash ✔, Zepto ❌, jQuery Slim ❌
- Tipos de TypeScript: Cash ✔, Zepto ⚠️, jQuery Slim ⚠️
- Soporte para builds parciales: Cash ✔, Zepto ⚠️, jQuery Slim ⚠️
Uso
- Cash está disponible en jsDelivr y puede usarse de la siguiente manera:
<script src="https://cdn.jsdelivr.net/npm/cash-dom/…; <script> $(function () { $('html').addClass('dom-loaded'); $('<footer>Appended with Cash</footer>').appendTo(document.body); }); </script> - También puede usarse a través de npm con el paquete
cash-dom:import $ from "cash-dom"; $(function () { $('html').addClass('dom-loaded'); $('<footer>Appended with Cash</footer>').appendTo(document.body); });
Documentación
- Cash ofrece selectores de consulta, métodos de colección y algunos métodos de librería.
- Se puede consultar la API de jQuery, y Cash implementa la mayoría de las funciones compatibles con jQuery.
- Cash puede ampliarse con métodos personalizados.
Contribuir
- Si encuentras un problema o tienes una solicitud de función, debes abrir un issue.
- Para enviar un pull request, sigue estos pasos:
- Clona el repositorio:
git clone https://github.com/fabiospampinato/cash.git - Ve al repositorio clonado:
cd cash - Instala las dependencias:
npm install - Recompila Cash automáticamente al hacer cambios:
npm run dev - Abre la suite de pruebas:
npm run test - Actualiza el README si hace falta
- Clona el repositorio:
Agradecimientos
- Gracias a todas las personas que contribuyeron al desarrollo de Cash.
- Gracias a @hisk por encargarse del diseño del logo.
Licencia
- MIT © Fabio Spampinato
1 comentarios
Opiniones de Hacker News
El navegador simplifica la manipulación del DOM, así que el trabajo se puede hacer con solo dos líneas de código
document.querySelectorydocument.querySelectorAllenlazadosLa ventaja de jQuery es el manejo automático de listas y la capacidad de consultar al elemento padre
Como los sitios web convencionales usan mucho JavaScript, reescribir toda la librería es ineficiente
Presentación de una librería alternativa a jQuery hecha personalmente
Se enteró de las diferencias entre jQuery y Cash
Experiencia usando Shoestring para reducir JS
Objetivo de inferir el tipo de los elementos usando cadenas de plantilla de TypeScript
$('div#name')se infiere como HTMLDivElementjQuery 4 es una alternativa para navegadores modernos
Se usó jQuery en extensiones de navegador, pero luego se cambió a una librería JSX
Gustan las librerías y frameworks pequeños, pero en la práctica se termina usando librerías grandes