Me explico: Me parece que, OFICIALMENTE, Node, Angular, React, Jquery, etc, no pertenecen a Java Script. Digamos que son frameworks o librerias (externos al lenguaje PURO y ESTANDAR) que se basan en EcmaScript pero que no forman parte OFICIAL de su composicion. AJAX seria el unico que podria considerarse parte de Java Script. Por lo tanto, una persona que conoce a nivel avanzado el JS PURO (ajax incluido) podria considerase experto en Java Script, segun considero; no obstante, siento que muchos no lo ven asi. Creo que estan confundiendo las cosas: La gente piensa que Node y Angular/React son Java Script, cuando en realidad me parece que no lo son. Y Corrijanme si me equivoco (puedo estarlo), pero yo me he leido los manuales de Ecma al reves y al derecho y en ninguna parte enseñan esos Frameworks; ni siquiera los mencionan como una extension oficial. En cambio AJAX si. Y bueno una muestra mas de que los programadores de este tiempo piensan que Java Script es sinonimo de NOde, es que por ejemplo ya estan empezando a llamar a JS un lenguaje de programacion con todas sus letras (esos mismos programadores que antes eran detractores de java script). Cosa que antes no pasaba. Pues desde siempre hubo un debate sobre si considerar a JS lenguaje de programacion o no (antes de la popularizacion del Node). Desde que Node.js gusto a los programadores, se empezo a gritar a los 4 vientos que Java Script es un lenguaje de programacion y el futuro. Pero me parece que en realidad seria Node quien deberia llevarse todos esos creditos. AUnque no estoy desmericiendo a Java Script, ya que el mismo NOde esta basado en él, y a mí me encanta JS puro, y solo con Java Script estandar se puede hacer muchisimas cosas increibles. Pero lo que digo es que la gente esta confundiendo a Node como una extension de Java Script, cuando en realidad es algo independiente.
Sí, se puede tener nivel avanzado en Javascript sin saber Angular o React, porque Angular y React son otra cosa; es como pretender que para tener nivel avanzado de Php se deban manejar sí o sí frameworks de Php, ó Wordpress, Drupal, etc. Pienso que tampoco se necesita saber de Node.js para tener nivel avanzado en JS; pedirlo sería ser muy estrictos, me parece. Entiendo que Node es simplemente JS del lado del servidor, es decir, la sintaxis es JS puro, pero con librerías, métodos particulares para crear código del lado del servidor; y por eso sí sería importante conocer Node, puesto que parecido a AJAX, en que este es un método para envío asíncrono, y Node es un método para crear software del lado del servidor. Pienso que al menos conocer un poco de Node es bueno; es como saber mucho de CSS y no saber nada de SASS.
El problema creo que esta en esa definicion que tu acabas de mencionar "Node es JS del lado del server"...quiza la definicion le calce bien; pero la realidad es que oficialmente Node no tiene nada que hacer con el estandar de ECMAScript. Node no es js de ningun lado. No veo a Node en las actualizaciones de las versiones de Ecma, como si vi la introduccion de LET por ejemplo. Creo que la gente al escuchar esta definicion de NOde se confunde, y luego si tu les dices que tienes nivel avanzado en Js dan por hecho que sabes NOde y Angular. Incluso hay tutoriales de pago que dice "Maestro en Java Script, aprende Node y Angular a nivel avanzado!". ... Y Sass es secundario. No pasa nada si no lo aprendes. Es tan chiquito ademas que lo aprendes en un dia. Tampoco es oficial ni muy importante. Es simplemente un intento mas de los programadores modernos de simplificar mas las cosas, ya que segun ellos estamos en tiempos de carreras donde las paginas web se deben hacer lo mas pronto posible y ser lo mas baratas. Es como BOostrap, que lo han convertido en una especie de "tendencia" cuando en realidad es innecesario si es que tienes nivel avanzado en CSS3. Con las media queries puedes trabajar mas a gusto que con Boostrap porque te permite un control total de tus diseños en distintas pantallas, sin mencionar que no "manchas" tu codigo HTML ni debes memorizar una nueva sintaxis.
Como tu los dijiste, son frameworks y librerias creados para evitar reinventar la rueda en funcionalidades cotidianas. Se tiende a confundir javascript con sus frameworks porq guardan toda la relacion del mundo, obviamente se recomienda algun framework para evitar preocuparte de crear polyfills crossbrowsing y todo tipo de incompatibilidades cotidianas que un desarrollador se enfrenta y asi evitar gastar tiempo en problemas comunes que los frameworks lo solucionan, sin un framework es muy probable q tu desarrollo no sea compatible con el resto de navegadores Quien te engaño?? tantos años desarrollando y NUNCA he leido en ningun foro que javascript no sea un lenguaje de programacion, solamente en el pasado en los años q netscape creo javascript se pensaba que no tendria futuro, nada mas, todo programador sabe distinguir y detectar un lenguaje de programacion, si alguien dijo lo contrario dudo q sea programador
Nadie me engaño. SIempre escuche a muchos programadores hablar con desden de java script, cuando alguien se referia a él como lenguaje de programacion. SOlo con la aparicion de Node, repito, es cuando estos programadores se callaron la boca; y ahora hasta aman java script. Fijate las estadisticas de paises gringos: java script hoy es el lenguaje mas usado y considerado con mucho futuro. Pero yo se que ellos no se estan refiriendo al java script PURO sino a las extensiones no oficiales de éste, o sea al Node, React, Angular, Vue, etc. Por eso pienso que hay una confusion. A mi siempre me parecio un lenguaje de programacion , aunque orientado a otras cosas. Porque tiene toda la base de los otros lenguajes + cosas que no tienen éstos, como es el acceso al DOOM y BOOM, los eventos, animaciones, etc. Asi que yo lo consideraba como un lenguaje de programacion que no era del lado del servidor. Porque igual cuando por ejemplo haces animaciones complicadas, todo eso es programacion. Hacer un slider con codigo es programacion. Hacer un banner publicitario con animacion 2d es programacion. Validar datos es programacion. Solo que como no tenia nada que ver con el server algunos lo consideraban menos potente.
Pues que raro, hasta cualquier programador junior sabe diferenciar y reconocer un lenguaje de programacion por q es algo obvio... Tienes q documentarte y asesorarte mucho mas, escribes cosas tan a la ligera demostrando q desconoces del tema, no entiendo tu desprecio hacia los frameworks. Acuerdate de mi: el dia que inicies un proyecto grande y otro desarrollador se integre y vea tu codigo estructurado sin uso de convenciones, nomenclaturas, patrones de diseño, escalabilidad etc, te va tirar barro, dira q tu codigo es basura y se tiene q refactorizar, es lo mas obvio a decir porq desconoces de todo esos temas importantes q los frameworks hacen uso de ello
Lo que pasa es que JS antes de ES6 tenía varias carencias y cosas extrañas, como el hoisting, el carecer de una claúsula/sentencia para crear una clase (por lo cual era obligatorio usar factories, construct o prototype). También el hecho de sólo utilizarse para el frontend de páginas web ocasionaría que se considere un lenguaje 'menor', al sólo tener ese campo de aplicación; ya cuando aparecen las tecnologías para desarrollo del lado del servidor y desarrollo de apps móviles, JS adquiere una mayor utilidad. PD: sería bueno que leas un poco sobre Node, React, Angular, Vue, porque me parece incorrecto llamarlas extensiones de JS.
Solo vine a pegar esto que encontre en wikipedia en el articulo de Java Script: "JavaScript se ha convertido en uno de los lenguajes de programación más populares en internet. Al principio, sin embargo, muchos desarrolladores renegaban del lenguaje porque el público al que va dirigido lo formaban publicadores de artículos y demás aficionados, entre otras razones. La llegada de Ajax devolvió JavaScript a la fama y atrajo la atención de muchos otros programadores. Como resultado de esto hubo una proliferación de un conjunto de frameworks y librerías de ámbito general, mejorando las prácticas de programación con JavaScript, y aumentado el uso de JavaScript fuera de los navegadores web, como se ha visto con la proliferación de entornos JavaScript del lado del servidor." Bueno, Node no es una extension. Y claro que he leido sobre todos esos. Yo no hablo mal de algo que no conozco.
Bueno, si Node, que de todos los mencionados es el más cercano a JS, no lo consideras una extensión, ¿porqué dices que React, Angular, etc son extensión? Esa es la observación que te hago, nada más.
Tal cual wikipedia me da la razon, es lo mismo q dije lineas arriba, al principio cuando netscape lo inicio no tuvo buena aceptacion... Si te das cuenta en ningun momento dicen que javascript NO es un lenguaje de programacion o duden de el, ese era el tema...
pero dicen que al inicio los programadores lo subestimaban ...que lo consideraban algo asi como un lenguaje para aficionados..que es lo que yo dije Bueno a Node lo definen como "un entorno en tiempo de ejecución multiplataforma", mientras que a los otros simplemente como Frameworks. Y al ojo no mas te das cuenta que Node es algo mas. YO estaba hablando de manera vulgar. No repare en las definiciones exactas porque se sobreentiende creo.
Bueno respondiendo a tu pregunta, NO. alguien que tenga nivel de js avanzado y no sepa de node, angular, react, o cualquiera otra libreria framework etc no lo consideraria con un nivel avanzado de js
Pues la mayoría de empresas usan frameworks, no hay razón para inventar la rueda otra vez, es verdad que te ayuda a comprender mejor como funciona un este lenguaje de programación si usas JS puro, pero más rápido se trabaja con frameworks.