2012-06-30 13 views
12

Soy nuevo en el desarrollo web y no entiendo completamente el rol que desempeña un framework js en una aplicación. Empecé con jQuery, pero la gente dijo que debería probar prototype.js o node.js para mi proyecto, que es un juego de estrategia multijugador.¿A veces es necesario usar múltiples bibliotecas de JavaScript?

¿Es importante seleccionar un marco desde el principio y asegurarse de que hace todo lo que necesita para no tener que usar múltiples marcos?

+2

Estas son cosas diferentes, puede usar la mayoría de ellas juntas también. Node = javascript del lado del servidor, jQuery = bruja divina en forma de biblioteca JS que hace todo lo que siempre soñaste. –

+1

Prototype.js es una mala idea (IMO) y entraría en conflicto con jQuery. node.js, por otro lado, está en el lado del servidor y no está relacionado y sí, puede usarlo. Probablemente sea adecuado para esta situación, ya que le permite interactuar fácilmente con sockets. – Ryan

+0

@minitech. cuando dices 'prototipo' y' jQuery' ¿te refieres al símbolo '$'? porque eso realmente no es un "conflicto". – gdoron

Respuesta

9

Soy nuevo en el desarrollo web y no entienden plenamente el papel de un marco js juega en una aplicación

Usted es nuevo pero tiene suerte!

Hace algunos años, a los desarrolladores les resultaba realmente difícil trabajar con problemas de navegadores cruzados en términos de CSS (todavía algo así), manejo de eventos, animaciones, manipulación de DOM. Debes escribir el código de differnet para cada navegador con bastante frecuencia.

Las bibliotecas de JavaScript cobraron vida y resolvieron el problema de los desarrolladores, hacen toda la magia detrás de escena y usted escribe el mismo código (casi siempre) para trabajar en cada navegador. En otras palabras, las bibliotecas de JavaScript se encargan de resolver problemas entre navegadores al proporcionarle un conjunto consistente de funciones para usar con cualquier navegador.

En general, las bibliotecas de JavaScript hacerse cargo de estos o proporcionan estas opciones:

  • temas varios navegadores manejo
  • Animación
  • cuadros de diálogo personalizados y widgets
  • capacidad de escribir menos código
  • Motor selector específico
  • Creación/Modificación de DOM
  • manejo de eventos
  • funciones de utilidad
  • AJAX

He empezado con jQuery, pero la gente ha dicho que debería tratar prototype.js o Node.js para mi proyecto, que es una juego de estrategia multijugador .

Básicamente hacen lo mismo (mencionado anteriormente), es decisión suya decidir cuál. Me gusta jQuery personalmente, ya que es fácil comenzar y tiene un mecanismo de selección similar a CSS.

Node.JS es una bestia completamente diferente, a diferencia de jQuery o Prototype que se basa en el JavaScript del lado del cliente, node.js es JavaScript del lado del servidor.

Es importante seleccionar un marco desde el principio, y asegurarse de que no todo lo necesario para que no tiene que utilizar varios marcos?

No es importante a menos que lo necesite, por ejemplo, según sus necesidades.Aunque personalmente le sugiero que aprenda primero el JavaScript JavaScript, de modo que cuando acceda a una biblioteca de JavaScript más tarde, debería ser capaz de aprovechar al máximo.

4

El papel de un marco javascript es muy simple: darle un conjunto de funcionalidades de nivel superior para que pueda construir su aplicación sin tener que volver a codificar cosas que se han hecho antes y proporcionar una estructura para el desarrollo. Podría pensar en jQuery o prototype.js como conjuntos de funciones que otras personas han encontrado que a menudo deben escribirse una y otra vez para que ya lo hayan hecho por usted. Cosas como animar objetos en la pantalla, o fusionar y reorganizar elementos en el DOM son comunes para muchas aplicaciones, por lo que estos marcos y muchos otros intentan simplificar estas tareas comunes. Lo bueno es que han solucionado problemas comunes para usted en la mejor forma posible para cada plataforma, así que no importa qué navegador o teléfono, obtiene una experiencia similar, esto no solía ser el caso.

Node.js es algo diferente. Es un lenguaje del lado del servidor (por supuesto el lenguaje es javascript) pero toma el rol de php o perl o python o ruby ​​(o su idioma del lado del servidor favorito) en que realmente ejecuta código para hablar con bases de datos y buscar páginas en el servidor mientras que los demás ejecutan código en las máquinas de los usuarios normalmente en los navegadores.

recomendaría simplemente elegir un solo marco y aprender bien (mi voto personal es jQuery debido a la amplia base de desarrolladores, nice plugins, la buena documentation, y la comprensibilidad de código), pero ya que cada uno de ellos es el javascript, simplemente normal bajo el capó, todo lo que no se puede hacer en uno se puede unir con javascript normal. Prácticamente puede hacer cualquier cosa en cualquiera de ellos, solo algunas tareas serán más simples en un marco que en otro. Al trabajar con varios, aunque no entren en conflicto, será una pesadilla de desarrollo.

Para su aplicación en particular, necesitará un extremo frontal y un backend para que funcione. Si la aplicación que intentas crear es un sitio web, entonces, por supuesto, utiliza uno de estos marcos de JavaScript, pero si estás hablando de una aplicación móvil en Android o iPhone, no es necesario.

+0

+1 Bien dicho. Y para el OP, sí, debe elegir solo un marco JS. Recomiendo jQuery. –

+1

OP No solo debe elegir uno, aunque jQuery puede ofrecer la mayor parte de la funcionalidad que necesitará: puede combinar los marcos según sus necesidades –

+1

Mientras pueda, yo diría que no. Tendrá que recordar no solo cómo usar cada uno, sino que cuando regrese a su código meses después, qué partes están en ese marco y cuáles pueden 'trabajar juntas' fácilmente, ya que están en el mismo marco. Además, si tiene muchos desarrolladores (o incluso solo más de uno), realmente debe apegarse a uno para que puedan trabajar juntos fácilmente. – hackartist

1

Sólo se extiende lo que se ha puesto en los comentarios y aclarar lo que estos 'marcos' son:

Puede utilizar tantos marcos como quiera y que debe (si es que se han escrito así) no entren en conflicto entre sí . Puede haber problemas con algunas bibliotecas, ya que asignan caracteres especiales como $ y como hay una cantidad limitada de caracteres especiales que no se usan en javascript, esto es casi inevitable, pero normalmente los marcos más maduros han identificado esto y han escrito soluciones. jQuery.noConflict que básicamente reasigna lo que estaba usando $ before.

Como para cada marco Hay montones y cada uno tiene su propio nicho particular/API adecuado para una programación en particular que necesite por ejemplo:

Arden (utilizado en jQuery) - sintaxis del selector Excelente para maniuplating DOM

jQuery: excelente arquitectura de complementos, API madura que cumple muchísimos requisitos de programación comunes, excelentes componentes de interfaz de usuario combinados con jQuery UI

Handlebars.js - manipulación dom basada en plantillas + algún otro MVVM agradable (?)

Sproutcore.js, node.js ... etc etc. - lea cada uno y vea a qué se refieren.

Puede combinarlos; puede encontrar conflictos ocasionales que debe informar a los autores, pero no se siente limitado a un marco.

1

Es fácil sentirse desconcertado por la variedad de marcos disponibles. Hoy en día puede parecer que uno nuevo ingresa al zeitgeist cada mes.

La clave está en utilizar las que funcionan para usted y, lo que es más importante, comprender que no todos los marcos y bibliotecas hacen lo mismo.

jQuery, por ejemplo, se centra en la manipulación DOM y AJAX. Sí, tiene más facetas, pero estos son sus puntos de venta. Compare eso con, digamos, Underscore.js, que trata sobre enriquecer la API de nivel de datos para que se asemeje más a algo como, por ejemplo, PHP. Después de todo, JavaScript tiene una API que limita tradicionalmente en comparación con dichos idiomas (aunque cada vez es más rica con las sucesivas versiones de ECMA y las API específicas de los proveedores).

Node.js, como hackartist mencionado en su respuesta, no tiene ninguna relación con ninguno de los anteriores en que es del lado del servidor, no del cliente.

Evitaría, especialmente en las primeras etapas, utilizar varias bibliotecas con un enfoque similar. Te encuentras con proyectos que se cargan en jQuery UI y, por ejemplo, extJS. Sí, esto le da más para jugar, pero dado el solapamiento, el beneficio se ve compensado por el impacto negativo en el peso de la carga de su página. Vaya con el que le gusta el aspecto y, lo que es más importante, con los documentos y la comunidad con los que se sienta cómodo.

Finalmente, tenga en cuenta que las bibliotecas y los marcos no son realmente lo mismo, aunque los términos a menudo se usan de manera algo desaconsejable. Ambos son JS bajo el capó; una biblioteca está orientada a la provisión de funciones y patrones que, al menos en general, significan escribir menos código de lo que lo haría si lo hiciera todo en JavaScript nativo o "vainilla", mientras que un marco se refiere a la estructura general de su código y cómo las diversas partes se relacionan o interoperan.

+0

Muchas gracias por las respuestas Todos. Estas explicaciones son excelentes y muy detalladas. Tengo una buena idea de cómo funciona ahora. – RapsFan1981

Cuestiones relacionadas