2009-11-27 17 views
9

¿Cómo me convertiría en un maestro de JavaScript si siempre utilizara frameworks y no hiciera nada por mi cuenta?¿Usar un marco me impide dominar JavaScript?

Hice una pregunta sobre JavaScript y todos recomiendan que use framework (que no me mostrará el verdadero núcleo de JS!) En lugar de la codificación manual.

  1. ¿Has codificado tus propios frameworks al descubrir JS por ti mismo?
  2. ¿Usó frameworks como jQuery todo el camino?
  3. ¿Ahora podría considerarse un maestro de JS?
+0

Ver también: http://stackoverflow.com/questions/215589/should-i-avoid-using-a-javascript-library-while-learning -how-to-write-ajax-client ... y: http://stackoverflow.com/questions/122902/what-are-some-of-the-pros-and-cons-of-using-jquery – Shog9

+0

Creo que una mejor pregunta sería ... ¿qué marcos son mejores o ningún marco en absoluto? –

+4

Los marcos evitan que se enfrente a una gran frustración al facilitar el manejo de diferentes navegadores. – vsr

Respuesta

0

No, como necesita saber JavaScript para usar un marco y usar JavaScript más y más ayuda a dominarlo. Sin embargo, le impedirán dominar el DOM.

+2

a menos que utilice un marco que realmente lo ayude a explorar el DOM más fácilmente, como Sarissa ;-) – Abel

+1

Sí ... El uso del marco y el conocimiento de DOM son ortogonales, a menos que dependa de un marco que elimine por completo el DOM. – Shog9

1

Sí, solo mira todas las preguntas de jQuery que la gente pregunta que no tienen nada que ver con jQuery.

Hay un montón más, pero son difíciles de buscar.

+0

Eso es confusión de nomenclatura. No veo ninguna razón para creer que, en esos casos, jQuery está impidiendo los procesos de aprendizaje, tanto como el marketing y la percepción común de jQuery. – Breton

+3

** jQuery no es un marco **. Es una biblioteca, una biblioteca bastante popular, y algunas personas * desean * era un marco ... Yo, por mi parte, me alegro de que no lo sea: disfruto de poder agregar y usar jQuery en cualquier proyecto de JS, sin preocuparme por reestructurar todo para adaptarlo al modelo mental de algún diseñador de marcos. – Shog9

+2

De hecho, no es un marco, pero muchas personas lo consideran uno. Tal vez es un marco de recepción? Lo más probable es que el solicitante no tenga conocimiento de la distinción. De cualquier manera, si nos fijamos en las preguntas tontas que hacen los novatos sobre JS * sin * ninguna biblioteca o marco, puede pensar que aprender JS lo hará un programador de JS peor ... – Abel

4

Es una espada de doble filo. Si tiene el lujo de aprender, entonces podría evitar los marcos y hacer todo a mano. Los marcos tienden a hacerlo más productivo ya que se ocupa de todos los detalles de la compatibilidad del navegador, etc. Este es en realidad un argumento que se desarrolla sobre todos los niveles de abstracción.

Sugiero aprender el marco y tomarse el tiempo para aprender los conceptos subyacentes que el marco abstrae.

Joel has a very nice article about this.

+2

+1 ... solo tuve que darle una propina (9,999) (y una buena respuesta) – alex

+1

1UP alex. Vincent, en cuanto al representante, ya estás en el top 400 a partir de hoy. – micahwittman

+0

Gracias Alex y micahwittman. Estaba ansiosamente viendo el 10K cada vez más cerca. –

0

No, los marcos impiden que usted aprenda el DOM, que no es javascript, sino una API independiente del lenguaje diseñada por comité, y diferente en cada navegador de maneras exasperantes. Por lenguaje neutral, quiero decir que está diseñado también para ser utilizado desde Java, VBscript y potencialmente otros idiomas.

Sin embargo, no hay nada sobre frameworks que impida que aprendas JS. De hecho, harán que sea mucho más fácil aprender JS, manteniendo el DOM fuera de tu camino.

14

Sí: marcos tienden a ocultar muchas partes complejas de JavaScript. Pero la pregunta es, ¿te conviertes en un codificador de JavaScript peor cuando sabes cómo usarlo eficientemente con el marco? Por supuesto no. Usar un subconjunto de cualquier lenguaje de programación de manera eficiente es a menudo mejor que usar mal todos los activos de un idioma.

No: Los marcos tienden a ocultar muchas partes complejas de JavaScript. Usando un marco, mirando a través de su código mientras depura, entender el marco te hace un real maestro en JavaScript. Los marcos a menudo muestran métodos que nunca hubieras pensado en ti mismo. Mira el código. A menudo está bien comentado o incluso documentado, y se convierte en un maestro.

Así: uso de JavaScript marcos para hacer más fácil la codificación y aprender en el proceso.

** PD: ** Para responder a su última pregunta. He hecho programación de JavaScript desde su aparición en los primeros días de Netscape. Sí, sin duda creamos nuestros propios marcos y bibliotecas locales. Sarissa es uno de esos "marcos" (o una biblioteca) para JavaScript que activamente ayudé a desarrollar. Pero, ¿normalmente no reunimos las funciones más utilizadas al escribir en cualquier idioma, que eventualmente podría evolucionar a un marco?

actualizaciones: acaba de arreglar algunos errores de escritura terribles, no se moleste un reread ;-)

+0

+1 buena respuesta señor – alex

+0

Kool buena entrada +1 :) –

3

¿Se codifican los propios llamados marcos JS al descubrir por sí mismo?

. Este es un camino difícil pero muy útil para la educación personal.

¿Usó frameworks como jQuery todo el camino?

. Pero cuando realmente es es necesario.

¿Podría ahora considerarse un maestro de JS?

No. Hay tantas cosas que aprender, especialmente en el contexto de la evolución de los estándares web y el navegador.


Las razones para utilizar frameworks de JavaScript están simplificando tareas tales como:

  • de apoyo entre navegadores
  • de trabajo con el documento del navegador de modelo de objetos
  • implementación de interfaces de usuario ricas
  • etc

Por lo tanto, en términos de aprendizaje JavaScript Frameworks son no que le impide ser un JS Gury.

Pero en términos de una mundo real JS se utiliza siempre con cosas como DOM, CSS, etc y sin entender que no se puede ser guru-dev JS mundo real.

Para que pueda aprender JavaScript y utilizar el marco de trabajo, sí, sí, puede. Pero esto estará fuera de contexto y casi inútil.

Como resultado, necesita aprender no solo el JS como un lenguaje, sino también JS para la web.
Y las estructuras evitan que lo haga.

Entonces, para resumir: evitar el uso de marcos de menos que no se puede hacer el trabajo sin que o el esfuerzo de hacer el trabajo sin un marco TOOOO es alta.

En lo que respecta al esfuerzo. Incluye soporte para navegadores cruzados. Así, por ejemplo, si necesito para implementar una página que utilizará AJAX o debería permitir al usuario arrastre & gota elementos de la página, hay hay manera para mí hacerlo manualmente (el esfuerzo es camino a lo alto). Elegiré jQuery o algo más por eso.
Solo elija el derecho también para el trabajo. Ninguna herramienta es también una herramienta.


añadido: La pregunta principal era:

¿Cómo iba a convertirse en un maestro de Javascript si siempre he utilizado los marcos y no hizo nada por mí mismo?

Usted puede tomar el camino difícil - desarrollar su propio marco y mantenerla actualizada. Te enfrentarás a todos los problemas posibles y se aplicará para comprender todas las piezas ocultas. Probablemente no desee volver a implementar jQuery, sino crear un Framework relacionado con busines. Un ejemplo de esto podría ser un "ProductJS": proporcionar arquitectura para que los desarrolladores administren productos en su sitio web, comentarlos, compararlos, etc.

+1

No estoy tan seguro acerca de los consejos en su resumen. – Breton

+1

No lo sé. Tomé una clase de JavaScript en la universidad y estaba cansado de los problemas del navegador a mitad de período. Si alguna vez tengo que hacer algo más difícil que FizzBuzz en JavaScript, usaré un framework. – MiseryIndex

+0

I * estoy * seguro sobre los consejos en el resumen: * no lo sigo. * En general, creo que las personas usan mejor las herramientas disponibles para facilitar su trabajo, en lugar de dificultarlo al evitarlas, al introducir más errores, bloqueando los avances y frustrando todo el proceso al tener que inventar la rueda nuevamente. – Abel

0

Javascript, navegadores y API como DOM tienen algunas cualidades malas y tediosas. Las bibliotecas han estado convergiendo en API mucho mejores y, a menudo, lo liberan de la necesidad de hacer cosas como el rastreo de exploradores y demás.

Seguirás usando Javascript.

También puede ser importante entender qué está pasando debajo y por qué ciertos aspectos de las bibliotecas te están ayudando tanto. Nunca se sabe cuándo no tendrá la oportunidad de usar una biblioteca, por lo que es importante comprender cómo hacer cosas como interactuar con el DOM y realizar solicitudes AJAX compatibles con varios navegadores sin una biblioteca.

0

Personalmente, creo que algo como jQuery puede mejorar tu juego como programador de JavaScript si lo ves como una oportunidad para estudiar cómo John Resig pensó en el diseño y la implementación.

Su estilo discreto de JavaScript vale la pena emularlo.

Por supuesto, use jQuery. Pero también léelo, estudíelo, emúlalo.

1

Creo que hay una confusión entre el lenguaje Javascript, que es simplemente increíble y vale la pena aprender para cada programador, y los "modelos de objetos" y CSS del navegador, que son desordenados, problemáticos y feos. Una buena biblioteca en el estilo funcional (adivinen a qué me refiero) lo alienta a usar Javascript puro en toda su delicadeza y lo protege de todas esas cosas sucias y aburridas del navegador.

3

Estoy desgarrado, comencé a codificar javascript en los días de Netscape Navigator 4 e Internet Explorer 5, en la era oscura del cumplimiento de los estándares del navegador y mucho antes de que siquiera se concibieran jQuery o MooTools. Era una práctica común tener que envolver casi todas las líneas de código en (document.all) ? /* ie code */ : /* nn code */; o mantener scripts separados para cada navegador. Aunque es extremadamente frustrante, definitivamente creo que me hizo un mejor programador.

Pero los nuevos programadores tienen herramientas mucho mejores disponibles, y deberían usarlas. Aún necesitará aprender javascript, jQuery no escribe código para usted, pero le permitirá escribir código en lugar de dedicar horas a desarrollar soluciones alternativas para el navegador.

Más conocimiento nunca duele, si tiene tiempo para aprender sobre los métodos y experimentos javascript dom. No es tan doloroso como solía ser, la mayoría de los guiones, incluso los más grandes y complejos, funcionarán en todos los navegadores modernos con solo algunos trucos menores. También creo que es importante entender qué es exactamente lo que jQuery está agregando, para que te des cuenta de que este es un método jQuery y no parte de javascript. Confiar exclusivamente en una biblioteca para estar siempre allí no es algo bueno, porque algún día te encontrarás en una situación en la que no puedes usarlo y no querrás mirar fijamente a tu jefe como un ciervo. faros que dicen "¿qué quieres decir con que no puedo usar jquery?".

0

¿Cómo iba a convertirse en un maestro de Javascript si siempre he utilizado los marcos y no hizo nada por mí mismo?

Bueno, tal vez podría ser un maestro de la estructura que está obligado a aprender algo sobre javascript en el proceso.

1

¿Cómo me convertiría en un maestro de JavaScript si siempre utilizara frameworks y no hiciera nada por mi cuenta?

Si usted no hizo nada, pero el uso un marco, entonces no creo que podría convertirse en un "maestro" codificador de JavaScript. Si, por otro lado, observa cómo el marco implementa ciertas funcionalidades y pregunta por qué y cómo se implementó, entonces puede comenzar a retirar la cebolla que es JavaScript.

Hice una pregunta sobre JavaScript y todos recomiendan que use framework (que no me mostrará el verdadero núcleo de JS!) En lugar de la codificación manual.

Teniendo en cuenta los problemas de compatibilidad del navegador, en general, probablemente sea más prudente utilizar un marco/biblioteca para piezas complicadas. ¿Por qué volver a crear la rueda? Sin embargo, si su intención es realmente aprender cómo hacer algo sin el marco, que lo mejor es decir que en sus futuras preguntas.

  1. ¿Se codifican los propios llamados marcos JS al descubrir por sí mismo?

Probablemente sea lo primero que hice. JavaScript, cuando lo descubrí por primera vez, era mucho más diferente de lo que estaba acostumbrado, quería crear un marco que hiciera que el código se pareciera más a Java/C#. Sin embargo, en el proceso de hacer eso, me di cuenta de que estaba siendo bastante tonto, y descubrí que prefería la forma en que JavaScript manejaba muchas cosas.Eso no significa que no haya creado mi propio conjunto de herramientas de funciones comúnmente utilizadas.

  1. ¿Usó frameworks como jQuery todo el camino?

No al principio, pero los he usado desde entonces. Cuando tiene tal o cual momento para finalizar un proyecto y la fecha límite está bajando, es mucho más fácil/más inteligente usar una biblioteca/marco. He tenido algunos problemas con ellos antes, y si no hubiera sabido cómo y por qué funcionaba JavaScript, es posible que nunca hubiera podido resolver dichos problemas.

  1. ¿Ahora podría considerarse un maestro de JS?

Del idioma, sí. Del lenguaje dentro de un navegador, no necesariamente.

0

Esto es simplemente mi opinión, ¡pero yo sugeriría usar ambas! He aquí una guía y por qué:


Para proyectos personales (por ejemplo, trabajo en clase, retoques, o algo que añadir a su cartera JS), programa de en JavaScript puro.

Los grandes desarrolladores (opinión) aprenden haciendo, y no solo en el trabajo. Mejoran sus habilidades específicas del idioma al continuar programando mientras están fuera del trabajo o de la clase. Este es el mejor momento para probar cosas en JavaScript puro o "vainilla". Puedes romper cosas y está bien. Su código puede no ser 100% multi-navegador, pero al menos su ingeniero de plomo no se martillazos en que parchear el código para IE8 y mayores :)


Por el código de producción en su trabajo, sin embargo, si todavía eres un incipiente ingeniero de JavaScript, entonces te recomiendo usar jQuery.

¿Por qué? Ok, entonces retrocedamos rápido. jQuery puede no ser la mejor herramienta para cada caso de uso de la aplicación. Su base de usuarios puede ser principalmente en dispositivos móviles o en áreas del mundo con velocidades de conexión más lentas, por lo que tal vez un marco de aplicaciones de una sola página sea una mejor opción. Realmente depende. Pero lo más probable es que si eres nuevo en JavaScript, probablemente aún no estés codificando con un framework de aplicaciones JS.

Por lo tanto, recomiendo usar jQuery porque tiene una larga historia con JavaScript para la web, es ampliamente utilizado en varios navegadores, usa una selección muy simple que reutiliza el conocimiento del selector de CSS, y lo usará una y otra vez en tu carrera. El más grande es el soporte de navegador cruzado. La programación es simple y los niños pueden recogerla. Sin embargo, desarrollar un producto de JavaScript que se interprete en varias implementaciones de JavaScript diferentes (los navegadores) y en diferentes tipos de pantalla es un desafío: aparecerán errores. Aprovechar jQuery evitará que su jefe le envíe muchas correcciones de errores. Aquí hay una gran lectura sobre este tema: Things You Should Never Do, Part I by Joel Spolsky


Las respuestas a sus preguntas:

¿Se codifican los propios llamados marcos JS al descubrir por sí mismo?

No ...? Tal vez...?! No recuerdo honestamente. Haga muchos de sus propios proyectos y es posible que tampoco necesite recordarlos.

¿Usó frameworks como jQuery todo el camino?

Todo el camino? No. ¿Gran parte del camino? Vergonzosamente, sí, pero aún estás desarrollando habilidades mientras los usas.

¿Ahora podría considerarse un maestro de JS?

Incluso con 3 años de desarrollo de JS, sigo diciendo que no. Siempre. Mantener. ¡Aprendizaje! Con el uso de JavaScript hoy en la web móvil, servidores, bases de datos e incluso para el desarrollo de aplicaciones móviles nativas (ver React Native), cada vez hay más que aprender. El JS de 2009 cuando se formuló esta pregunta es muy diferente de la JS de 2015 (mecanografía esto), y continúa evolucionando. Pero si sigues retocando, serás grandioso algún día.


Así que en resumen: hacer las dos cosas! Lo que es más importante, dedique su programación de tiempo libre con JavaScript puro hasta que sea un jedi de JavaScript. Buena suerte.

Otro divertido (ny) lee: The Cool Front-End Developer by Matt Zabriskie y The boring front-end developer by Adam Silver

Cuestiones relacionadas