{"id":726,"date":"2012-07-17T15:31:42","date_gmt":"2012-07-17T15:31:42","guid":{"rendered":"http:\/\/www.palentino.es\/blog\/?p=726"},"modified":"2012-07-17T15:41:49","modified_gmt":"2012-07-17T15:41:49","slug":"ventajas-del-uso-de-jquery","status":"publish","type":"post","link":"https:\/\/www.palentino.es\/blog\/ventajas-del-uso-de-jquery\/","title":{"rendered":"Ventajas del uso de JQUERY"},"content":{"rendered":"<p style=\"text-align: justify;\"><strong>jQuery<\/strong>\u00a0es una\u00a0<a title=\"Biblioteca (inform\u00e1tica)\" href=\"http:\/\/es.wikipedia.org\/wiki\/Biblioteca_(inform%C3%A1tica)\">biblioteca<\/a>\u00a0de\u00a0<a title=\"JavaScript\" href=\"http:\/\/es.wikipedia.org\/wiki\/JavaScript\">JavaScript<\/a>, creada inicialmente por\u00a0<a title=\"John Resig\" href=\"http:\/\/es.wikipedia.org\/wiki\/John_Resig\">John Resig<\/a>, que permite simplificar la manera de interactuar con los documentos\u00a0<a title=\"HTML\" href=\"http:\/\/es.wikipedia.org\/wiki\/HTML\">HTML<\/a>, manipular el \u00e1rbol\u00a0<a title=\"Document Object Model\" href=\"http:\/\/es.wikipedia.org\/wiki\/Document_Object_Model\">DOM<\/a>, manejar eventos, desarrollar animaciones y agregar interacci\u00f3n con la t\u00e9cnica\u00a0<a title=\"AJAX\" href=\"http:\/\/es.wikipedia.org\/wiki\/AJAX\">AJAX<\/a>\u00a0a p\u00e1ginas web. Fue presentada el 14 de enero de 2006 en el\u00a0<a title=\"BarCamp\" href=\"http:\/\/es.wikipedia.org\/wiki\/BarCamp\">BarCamp<\/a>\u00a0NYC.<\/p>\n<p style=\"text-align: justify;\"><strong>jQuery<\/strong>\u00a0es\u00a0<a title=\"Software libre y de c\u00f3digo abierto\" href=\"http:\/\/es.wikipedia.org\/wiki\/Software_libre_y_de_c%C3%B3digo_abierto\">software libre y de c\u00f3digo abierto<\/a>, posee un doble licenciamiento bajo la\u00a0<a title=\"MIT License\" href=\"http:\/\/es.wikipedia.org\/wiki\/MIT_License\">Licencia MIT<\/a>\u00a0y la\u00a0<a title=\"GNU General Public License\" href=\"http:\/\/es.wikipedia.org\/wiki\/GNU_General_Public_License\">Licencia P\u00fablica General de GNU<\/a>\u00a0v2, permitiendo su uso en proyectos\u00a0<a title=\"Software libre\" href=\"http:\/\/es.wikipedia.org\/wiki\/Software_libre\">libres<\/a>\u00a0y\u00a0<a title=\"Software propietario\" href=\"http:\/\/es.wikipedia.org\/wiki\/Software_propietario\">privativos<\/a>.\u00a0jQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requerir\u00edan de mucho m\u00e1s c\u00f3digo, es decir, con las funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio.<\/p>\n<p style=\"text-align: justify;\">En este POST vamos a analizar sus ventajas.<\/p>\n<p style=\"text-align: justify;\"><!--more--><\/p>\n<p style=\"text-align: justify;\">La librer\u00eda jQuery proporciona una capa de abstracci\u00f3n de aplicaci\u00f3n general para\u00a0programaci\u00f3n Web, y por lo tanto es de utilidad en casi cualquier situaci\u00f3n de\u00a0programaci\u00f3n. Las caracter\u00edsticas principales,\u00a0sin embargo, abordan las siguientes necesidades:<\/p>\n<p style=\"text-align: justify;\">&#8211; <strong>Acceder a elementos en un documento<\/strong>: Sin una librer\u00eda JavaScript, se tienen que\u00a0escribir muchas l\u00edneas de c\u00f3digo para recorrer el \u00e1rbol DOM (Document Object\u00a0Model), y localizar partes especiales de la estructura de un documento HTML.\u00a0Un mecanismo selector robusto y eficiente se ofrece en jQuery para recuperar la\u00a0parte exacta del documento que se tiene que inspeccionar o manipular.<\/p>\n<p style=\"text-align: justify;\">&#8211; \u00a0<strong>Modificar la apariencia de una p\u00e1gina Web<\/strong>: CSS ofrece un m\u00e9todo potente de\u00a0influir en la forma en que se muestra un documento, pero se queda corto cuando\u00a0los navegadores Web no soportan todos los mismos est\u00e1ndares. Con jQuery, los\u00a0desarrolladores pueden llenar este vac\u00edo, bas\u00e1ndose en el soporte de los mismos\u00a0est\u00e1ndares entre todos los navegadores. Adem\u00e1s, jQuery puede cambiar <strong>las clases\u00a0o propiedades de estilo individual<\/strong> aplicadas a una parte del documento incluso\u00a0<strong>despu\u00e9s de que se haya mostrado la p\u00e1gina<\/strong>.<\/p>\n<p style=\"text-align: justify;\">&#8211; <strong>Alterar el contenido de un documento:<\/strong> No limitado a meros cambios est\u00e9ticos, jQuery puede modificar el contenido de un documento con algunas teclas. El\u00a0texto se puede cambiar, las im\u00e1genes se pueden insertar o cambiar, las listas se\u00a0pueden reordenar, o toda la estructura del HTML se puede volver a escribir y\u00a0ampliar, todo ello con una sola API (Application Programming Interface o Interfaz\u00a0de programaci\u00f3n de aplicaciones) f\u00e1cil de utilizar.<\/p>\n<p style=\"text-align: justify;\"><strong>&#8211; Responder a la los eventos de un usuario<\/strong>: Incluso los comportamientos m\u00e1s\u00a0elaborados y potentes no son de utilidad si no podemos controlar cu\u00e1ndo tienen\u00a0lugar. La librer\u00eda jQuery ofrece una forma elegante de interceptar una amplia\u00a0variedad de eventos, como que el usuario haga clicen un v\u00ednculo, <strong>sin la necesidad\u00a0de saturar el propio c\u00f3digo HTML<\/strong> con manejadores de evento. Al mismo tiempo,\u00a0su API de gesti\u00f3n de eventos <strong>elimina las inconsistencias del navegador<\/strong> que a\u00a0menudo molestan a los desarrolladores Web.<\/p>\n<p style=\"text-align: justify;\">&#8211; <strong>Animar cambios realizados a un documento<\/strong>: Para implementar de forma eficiente\u00a0tales comportamientos interactivos, un dise\u00f1ador debe tambi\u00e9n proporcionar\u00a0<strong>feedback<\/strong> <strong>visual<\/strong> al usuario. La biblioteca jQuery facilita esto al proporcionar una\u00a0<strong>tabla de efectos<\/strong>, como desvanecerse, as\u00ed como un conjunto de herramientas para\u00a0dise\u00f1ar nuevas.<\/p>\n<p style=\"text-align: justify;\">&#8211; <strong>Recuperar informaci\u00f3n de un servidor<\/strong> <strong>sin refrescar una p\u00e1gina<\/strong>: Este patr\u00f3n de\u00a0c\u00f3digo se ha conocido como <strong>AJAX\u00a0<\/strong>(Asynchronous JavaScript And XML o JavaScript\u00a0as\u00edncrono y XML),Y ayuda a los dise\u00f1adores Web a dise\u00f1ar un sitio rico en caracter\u00edsticas.\u00a0La librer\u00eda jQuery elimina la complejidad espec\u00edfica de navegador\u00a0de este proceso, permitiendo a los desarrolladores centrarse en la funcionalidad\u00a0del servidor.<\/p>\n<p style=\"text-align: justify;\">&#8211; <strong>Simplificar tareas JavaScript comunes:<\/strong> Adem\u00e1s de todas las caracter\u00edsticas espec\u00edficas de\u00a0documento de jQuery, la librer\u00eda proporciona mejoras a construcciones\u00a0JavaScript b\u00e1sicas como iteraci\u00f3n y manipulaci\u00f3n de tabla.<\/p>\n<p style=\"text-align: justify;\">Con el reciente resurgimiento de inter\u00e9s en HTML din\u00e1mico viene una proliferaci\u00f3n\u00a0de marcos de trabajo JavaScript. Algunos son especializados, centr\u00e1ndose en una o dos\u00a0de las tareas anteriores. Otros intentan catalogar cualquier comportamiento y animaci\u00f3n\u00a0posible, y las presentan pre-empaquetadas. Para mantener la amplia gama de caracter\u00edsticas\u00a0vistas anteriormente y seguir siendo compacto, jQuery emplea varias estrategias:<\/p>\n<p style=\"text-align: justify;\"><strong>Aprovechar el conocimiento de CSS<\/strong>: Al basar el mecanismo para localizar elementos\u00a0de p\u00e1gina en selectores CSS, jQuery hereda una forma concisa y legible\u00a0de expresar la estructura de un documento. La librer\u00eda jQuery se convierte en un\u00a0punto de entrada para dise\u00f1adores que desean a\u00f1adir comportamientos a sus\u00a0p\u00e1ginas porque un requisito previo para realizar desarrollo Web profesional es\u00a0conocimiento de sintaxis CSS.<\/p>\n<p style=\"text-align: justify;\"><strong>Soportar extensiones<\/strong>: Para evitar el aumento de caracter\u00edsticas, jQuery relega\u00a0usos especiales a plug-ins. El m\u00e9todo para crear nuevos plug-ins es sencillo y\u00a0bien documentado, que ha estimulado el desarrollo de una amplia variedad\u00a0de m\u00f3dulos de utilidad. Incluso la mayor\u00eda de las caracter\u00edsticas en la descarga\u00a0jQuery b\u00e1sica se realizan internamente por medio de la arquitectura plug-in, y\u00a0se pueden eliminar si se desea, resultando en una biblioteca incluso menor.<\/p>\n<p style=\"text-align: justify;\"><strong>Abstraer los fallos de navegador:<\/strong> Una triste realidad del desarrollo Web es\u00a0que cada navegador tiene su propio conjunto de desviaciones de los est\u00e1ndares\u00a0publicados. Una parte significativa de cualquier aplicaci\u00f3n Web se puede relegar\u00a0a gestionar caracter\u00edsticas de forma diferente en cada plataforma. Aunque el escenario\u00a0de los navegadores en continuo cambio hace que un c\u00f3digo base neutro\u00a0para el navegador sea imposible para otras caracter\u00edsticas avanzadas, jQuery\u00a0a\u00f1ade una capa de abstracci\u00f3n que normaliza las tareas comunes, reduciendo el\u00a0tama\u00f1o del c\u00f3digo, y simplific\u00e1ndolo tremendamente.<\/p>\n<p style=\"text-align: justify;\"><strong>Siempre trabajar con conjuntos:<\/strong> Cuando le decimos a jQuery, Encontrar todos los\u00a0elementos con la clase collapsible y ocultarlos, no hay necesidad de pasar en bucle\u00a0por cada elemento devuelto. En su lugar, m\u00e9todos como. hide () se dise\u00f1an para\u00a0trabajar autom\u00e1ticamente sobre conjuntos de objetos en lugar de individuales.\u00a0Esta t\u00e9cnica, denominada iteraci\u00f3n impl\u00edcita, significa que muchas construcciones\u00a0de bucle dejan de ser necesarias, acortando el c\u00f3digo considerablemente.<\/p>\n<p style=\"text-align: justify;\"><strong>Permitir m\u00faltiples acciones en una l\u00ednea:<\/strong> Para evitar uso excesivo de variables\u00a0temporales o repetici\u00f3n malgastada, jQuery emplea un patr\u00f3n de programaci\u00f3n\u00a0denominado encadenamiento para la mayor\u00eda de sus m\u00e9todos. Esto significa que\u00a0el resultado de la mayor\u00eda de operaciones en un objeto es el objeto en s\u00ed mismo,\u00a0listo para la siguiente acci\u00f3n que se le va a aplicar.<\/p>\n<p style=\"text-align: justify;\">Estas estrategias han mantenido el paquete jQuery reducido, por debajo de <strong>20 KB\u00a0comprimido<\/strong>, mientras que al mismo tiempo proporciona t\u00e9cnicas para mantener nuestro\u00a0c\u00f3digo personalizado que utiliza la librer\u00eda compacta, tambi\u00e9n.<\/p>\n<p style=\"text-align: justify;\">La elegancia de la librer\u00eda viene en parte por dise\u00f1o, y en parte debido al proceso\u00a0evolutivo impulsado por la comunidad vibrante que ha surgido alrededor del proyecto.<\/p>\n<p style=\"text-align: justify;\">Enlace de descarga de <a href=\"http:\/\/www.jquery.com\" target=\"_blank\">JQuery<\/a><\/p>\n<p style=\"text-align: justify;\">Libro en castellano <strong>recomendado<\/strong>, Editorial <strong>Anaya<\/strong>:\u00a0<a href=\"http:\/\/www.amazon.es\/jQuery-Anaya-Multimedia-Bear-Bibeault\/dp\/8441529310\">http:\/\/www.amazon.es\/jQuery-Anaya-Multimedia-Bear-Bibeault\/dp\/8441529310<\/a><\/p>\n<p style=\"text-align: justify;\">\n","protected":false},"excerpt":{"rendered":"<p>jQuery\u00a0es una\u00a0biblioteca\u00a0de\u00a0JavaScript, creada inicialmente por\u00a0John Resig, que permite simplificar la manera de interactuar con los documentos\u00a0HTML, manipular el \u00e1rbol\u00a0DOM, manejar eventos, desarrollar animaciones y agregar interacci\u00f3n con la t\u00e9cnica\u00a0AJAX\u00a0a p\u00e1ginas web. Fue presentada el 14 de enero de 2006 en el\u00a0BarCamp\u00a0NYC. jQuery\u00a0es\u00a0software libre y de c\u00f3digo abierto, posee un doble licenciamiento bajo la\u00a0Licencia MIT\u00a0y la\u00a0Licencia P\u00fablica General de GNU\u00a0v2, permitiendo su uso en proyectos\u00a0libres\u00a0y\u00a0privativos.\u00a0jQuery, al igual que otras bibliotecas, ofrece una serie de funcionalidades basadas en JavaScript que de otra manera requerir\u00edan de mucho m\u00e1s c\u00f3digo, es decir, con las funciones propias de esta biblioteca se logran grandes resultados en menos tiempo y espacio. En este POST vamos a analizar sus ventajas.<\/p>\n","protected":false},"author":1,"featured_media":729,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,14],"tags":[94,95,670,44],"class_list":["post-726","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-programacion","category-varios","tag-ajax","tag-javascript","tag-jquery","tag-programacion-2"],"_links":{"self":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/comments?post=726"}],"version-history":[{"count":13,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/726\/revisions"}],"predecessor-version":[{"id":740,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/posts\/726\/revisions\/740"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media\/729"}],"wp:attachment":[{"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/media?parent=726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/categories?post=726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.palentino.es\/blog\/wp-json\/wp\/v2\/tags?post=726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}