2009-08-07 26 views
61

Actualmente soy responsable de extender el uso de jQuery a la comunidad de desarrolladores web dentro de nuestra compañía. Parte de esto implica presentar un curso, sin embargo, otra parte implica la comunicación de estándares y mejores prácticas.Estándares jQuery y mejores prácticas

Si busca las "mejores prácticas de jQuery", probablemente encontrará lo siguiente entre los resultados de búsqueda. http://www.smashingmagazine.com/2008/09/16/jquery-examples-and-best-practices/ http://www.artzstudio.com/2009/04/jquery-performance-rules/

Estos han sido de gran ayuda y me han brillado mucha información útil sobre ellos. Sin embargo, lo que realmente me interesaría serían los consejos, trampas, opiniones, etc. sobre las mejores prácticas de los desarrolladores de jQuery experimentados y de aquellos que puedan haberse encontrado en una posición similar a la mía. Cualquier buen enlace también sería apreciado.

EDIT:

añadido un jQuery sección de normas de codificación en mi propia página:

http://www.jameswiseman.com/blog/?p=48

Respuesta

42

Usted puede encontrar este tema de tendencia aquí en StackOverflow.com

jQuery pitfalls to avoid

muy interesantes consejos útiles uno tras otro.

Éstos son algunos más he encontrado en mis marcadores:

+2

Enlaces de interés, gracias. Me doy cuenta de que el tema es bastante similar, sin embargo, sigo interesado en las respuestas desde la perspectiva de quienes están en una posición similar a la mía. Además, el título no se presta a un enlace útil cuando se busca, mientras que con el tiempo puede aparecer (y remitir el otro tema ahora que lo has agregado) –

+1

Por cierto, acabo de encontrar un enlace interesante (un jQuery experiment playground) commadot.com/jquery si vas enlace tras enlace puedes aprender mucho ... – adardesign

+0

Un enlace más http://lab.abhinayrathore.com/jquery-standards/ – FDisk

2

La forma en que jQuery funciona no es la misma forma en que funciona JavaScript, a pesar de que son una y las mismas. jQuery funciona en selectores de CSS, como el nombre (s) de clase y la identificación de los elementos. Para seleccionar un elemento de jQuery, que hace:

$("#yourID") or $(".yourClass") or $("div") or $("#yourID p") etc 

Y obtendrá una colección de todos los elementos de la página que se ajustan a sus criterios. A continuación, puede realizar sus acciones en TODOS esos elementos sin ningún bucle de ningún tipo. Esto es importante recordar:

$(".yourClass").click(function(){ 
    //do stuff 
}); 

afectará a todos los elementos con .yourClass unidos a ellos. Un consejo: si vas a acceder al $(this), debe guardarlo como una variable local:

$(".yourClass").click(function(){ 
    var $this = $(this); 
}); 

ya que acelerará su función.

+17

-1. No me gusta esta afirmación 'La forma en que funciona jQuery NO es la misma que funciona JavaScript'. jQuery es JavaScript. Lo diría como 'Hay una diferencia entre el código JS vano para la manipulación DOM frente al código JQuery JS para la manipulación DOM'. – SolutionYogi

+3

.... excepto que es verdad. Mencioné que son una y la misma cosa, pero jQuery resume una gran cantidad de basura que se requiere que hagas con javascript. entonces, si bien puedes mezclar js en w/jQ, NO funcionan igual, y muchos desarrolladores de JS intentan escribir el código JQ de la misma forma que escriben el código JS. – Jason

+6

Entiendo completamente cómo funcionan jQuery y JavaScript. Tengo objeción con la forma en que se redacta la oración, en mi humilde opinión no se lee bien. – SolutionYogi

27

Algo que he empezado personalmente a hacer es una especie de un Apps Hungarian Notation de jQuery establece, anteponiendo estas variables con un $

var someInt = 1; 
var $someQueryCollection = $('selector'); 

me parece que a medida que aumentan mis fragmentos de jQuery, esto se convierte en un valor incalculable, no sólo en la promoción de almacenar jQuery establece como variables, sino para ayudar a mantener un registro de qué variables en realidad son conjuntos jQuery.

12

JavaScript no obstructivo (separación de marcado y comportamiento)

En los días, era común para poner su controlador de clic dentro del margen de beneficio. Ahora se recomienda que no escriba su código JS dentro de su marcado, sino que lo incluya a través de eventos DOM.

Mejora progresiva

usuario obtiene una mejor experiencia si se utilizan estándares navegador compatible y/o tiene Javascript activado. La aplicación web/web aún es accesible incluso si tienen un navegador más antiguo o si tiene JS deshabilitado.

detección de características y no la detección del navegador

Mantener puntos por encima a un lado, yo realmente centrarse en la transmisión del mensaje (rompiendo la noción preconcebida) que JavaScript es un lenguaje de juguete. He visto demasiados desarrolladores que piensan de esta manera y todo va cuesta abajo desde allí. Debe explicarles cómo JavaScript es un lenguaje muy poderoso y por qué necesitan una biblioteca JS (debido a las inconsistencias del navegador) a pesar de que JS es muy poderoso.

Buena suerte.

+1

Jason, discúlpame, pero podrías señalar ¿Dónde escribí que jQuery funciona de manera diferente a JavaScript? De hecho, ni siquiera mencioné jQuery en mi respuesta. – SolutionYogi

+0

¿De verdad crees que "JavaScript es un lenguaje de juguetes" o es un error tipográfico? –