Aug
23
En este artículo comentaré la filosofía y las características principales de jQuery. No entraré a hacer una comparativa entre las distintas librerías del tipo: jQuery vs prototype vs YUI etc, etc, etc. Sólo indicar que aunque muchas tengan el pomposo nombre de framework, yo no se lo voy a atribuir. Para mi un framework es un concepto más amplio que involucra desde el desarrollo del software en si pasando por la gestión del versionado de su código, los procesos asociados a su desarrollo (gestión de incidencias, subidas a producción) y llegando hasta el control de calidad (test unitarios y funcionales), incluyendo las herramientas utilizadas para llevar a cabo todo esto, editores de código, gestores de workflow, etc. Un framework debería tener, incluir o al menos tener en mente todas o varias de estas características.
Bueno volviendo a jQuery empezaré comenzando por una pequeña característica que permite emplear esta librería con cualquier otra. O sea que si tienes dudas entre jQuery y YUI, por ejmplo, ten en cuenta que puedes emplear las dos pues jQuery ya ha pensado en esto. Lo explico: jQuery emplea su propio namespace para evitar colisionar con otras librerías, el nombre de este namespace es obviamente jQuery (incluso los plugins basados en jQuery emplean casi todos este namespace). Sin embargo, hay un pequeño asunto a solucionar y es que jQuery emplea como alias el identificado $. Por ejemplo:
jQuery("div").hide(); //Oculta todos los div del documento
es igual a:
$("div").hide();
Y como muchos sabréis hay otras librerías javascript que también lo emplean. Para solucionarlo basta con llamar a la siguiente función:
jQuery.noConflict();
Teniendo en cuenta que esta llamada ha de hacerse después de cargar las dos librerías que colisionan:
<html>
<head>
<script type="text/javascript" src="prototype.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script>
jQuery.noConflict();
// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});
// Use Prototype with $(...), etc.
$('someid').hide();
</script>
</head>
<body></body>
</html>



