2010-12-17 15 views
12

Tengo un poco de experiencia con JavaScript, pero principalmente con algunas cosas pequeñas, nunca hice algo realmente grande en Javascript anteriormente.consejos para trabajar en un gran proyecto de javascript

En este momento, sin embargo, estoy haciendo un proyecto bastante grande relacionado con Javascript, un frontend jquery que se comunica con el servidor del backend enviando/recibiendo JSON a través de Ajax.

Me pregunto si podría proporcionar alguna información útil sobre cómo tratar con grandes proyectos de javascript. ¿Existen herramientas/bibliotecas/buenas prácticas útiles?

Gracias de antemano.

+0

Asegúrate de minimizar y descomprimir tu javascript para el cliente. – Asaph

+0

@grigory no hay necesidad de ninguna herramienta, escriba algunas funciones auxiliares genéricas y funciones comunes para el código repetido – kobe

+1

y tiene Stackoverflow con usted – kobe

Respuesta

2

Grigory,

Incluso me pasó de un back-end a la interfaz de usuario hace unos meses solamente seguir este enfoque

  1. leer todos los conceptos de jQuery ya sea de Google oa través de algún libro oa través de jQuery documentación.
  2. seguir algunos de los jQuery mejores prácticas http://psdcollector.blogspot.com/2010/03/77-best-jquery-tips-i-have-ever-read.html
  3. funciones Utitlity de escritura para todo el código se repite como GetCookie, subsstrings, etc, etc
  4. deja de recibir su código revisado por persona con experiencia que puede guiarlo
  5. post para stackoverflow si quedarse atascado en cualquier lugar.
  6. ya que es un gran proyecto dividir en archivos mutiple y utilizar la convención de nombres adecuada.

favor, hágamelo saber si necesita cualquier otra cosa

+0

+1, use Convenciones de nomenclatura, espacios de nombres, objetos! No se deje tentar por el javascript de la vieja escuela o su tutorial: la web está llena de recursos desactualizados en JS. – Konerak

+0

¡Gracias! Lo hará :-) –

+0

@grigory, háganos saber cuándo necesite ayuda, también estoy trabajando en el gran proyecto jquery json – kobe

2

jQuery and YUI 3: A Tale of Two JavaScript Libraries es una buena comparación de ellos en el contexto de una aplicación compleja, y también da consejos útiles para los programadores de jQuery.

+0

¿Por qué fue esto? votado abajo? Me pareció extremadamente relevante. Incluso si el póster no va a alejarse de jQuery, debería saber a qué se enfrenta. – mwilcox

+0

Si desea rechazar las respuestas a una pregunta tan amplia, al menos agregue por qué la respuesta es incorrecta/peligrosa, incluso si no es * la * respuesta correcta. – Konerak

4

Es posible que desee comprobar hacia fuera Backbone.js

estructura suministros Backbone a aplicaciones JavaScript-pesados ​​por proporcionar modelos con valor-clave eventos vinculantes y personalizados, colecciones con una API rica enumerable funciones, vistas con manejo de eventos declarativo , y lo conecta todo a su aplicación existente sobre una interfaz RESTful JSON .

1

El mejor consejo es mantener su código segmentado en diferentes archivos como "clases". Personalmente odio trabajar en un archivo de más de unos cientos de líneas.

Luego de montar y minify su código con una de las herramientas en la web, como Shrinksafe o Google Closure Compiler

Tenga en cuenta que Dojo, YUI y Ext están diseñados para manejar grandes aplicaciones Ajax. Lucharás un poco con jQuery. Pero supongo que esta aplicación no es todo que grande y usted debe estar bien.

0

¿Ha considera chequear MooTools?

MooTools es un compacto y modular, Object-Oriented JavaScript framework diseñado para el intermedio a avanzado desarrollador de JavaScript. Le permite escribir códigos potentes, flexibles y entre navegadores con su API elegante, bien documentada y coherente.

5

Mi consejo sería grande modularizar

En JavaScript, es muy fácil para las variables de darle una paliza otras variables. Para evitar esto, la modularización es imprescindible. Hay varias formas de aprovechar las reglas de alcance de JavaScripts para minimizar la posibilidad de conflictos variables.

var myProject = {}; 

myProject.form = function(p_name, p_method, p_action) 
{ 
    var name = p_name, 
     method = p_method, 
     action = p_action; 
    var addInput = function(p_input) 
    { 
     // etc... 
    } 

    return { 
     addInput: addInput, 
     name: name 
    }; 
} 

myProject.input = function(p_name, p_type, p_value) 
{ 
    var name, method, value; 
    var setValue = function(p_value) 
    { 
     value = p_value; 
     return true; 
    } 

    return { 
     setValue: setValue, 
     name: name 
    }; 
} 

// etc... 

Si usted tiene cuidado sobre el uso de var, y un seguimiento de su ámbito de función, entonces usted tiene sólo una variable global - myProject.

Para obtener un objeto de formulario nuevo, simplemente haga lo siguiente: var myForm = myProject.form('form1', 'post', 'post.php').

Cuestiones relacionadas