¿Necesito saber mucho sobre JavaScript y jQuery para aprender programación de back-end?

Sí. Y sé que voy a contradecir a los demás aquí con esta respuesta, pero déjame explicarte …

En el desarrollo de software, tratamos con múltiples capas para cada proyecto, aunque las capas tienden a fusionarse con proyectos más pequeños. En general, tendría una capa de datos, una capa empresarial y una capa de presentación.

La capa de presentación para el desarrollo web (y algunos otros tipos de aplicaciones) se divide en dos extremos, básicamente el front-end y el back-end. Pero ambos tratan de presentar datos al usuario y recibir comentarios del usuario. Esto significa que ambos extremos están fuertemente conectados entre sí.

Cuando trabajas en el back-end de un proyecto, básicamente trabajas en enviar marcas, estilos y scripts al cliente. (HTML, CSS y JavaScript). En general, estos serían generados por los desarrolladores front-end, pero el back-end todavía se ocupa de estos. Por ejemplo, varios controles HTML pueden desencadenar eventos que se resuelven en el back-end y JavaScript./JQuery puede hacer solicitudes al back-end para obtener datos adicionales. Esto significa que el back-end debe saber cómo responder a estos eventos y solicitudes.

No tiene que ser un experto de front-end, pero sí necesita saber qué eventos se pueden activar y qué tipo de datos recibirá. También necesitará saber qué tipo de datos se necesitan como respuesta. Esto significa que necesita saber un poco sobre el formato de datos JSON y además debe estar familiarizado con los diversos eventos HTML.

En general, esto es solo conocimiento básico, pero todavía es mucho conocimiento básico, por lo que vale la pena saberlo. No necesita saber mucho sobre estilos, aunque los estilos también podrían generar desencadenantes adicionales para el código de fondo. Pero cosas como pasar el cursor sobre un control HTML o hacer clic en ellas pueden provocar una llamada al back-end con datos adicionales, y debe saber qué tipo de datos son.

Y si bien no necesita ser un especialista en JavaScript / JQuery, está del lado que recibe una llamada con estas técnicas, por lo que debe saber qué esperar de una llamada de JQuery y qué responder. Para obtener más información sobre cómo crear respuestas adecuadas a las solicitudes de JQuery, es útil si puede escribir su propio código de JQuery con fines de prueba. Y una vez que el front-end y el back-end se encuentran y usted tiene que resolver los errores, debe poder comprender qué está haciendo el código de front-end que causa problemas en su back-end.

Entonces sí, necesita saber acerca de JavaScript y JQuery. Al menos lo suficiente como para escribir tus propias pruebas.

Probablemente quisiste decir JavaScript interpretado por el navegador, no backend como Node.js. Aunque el frontend y el backend deben estar completamente separados, sigue siendo una buena idea tener conocimiento de ambos, incluso si se desarrolló solo en el otro.

Si insiste en concentrarse solo en el back-end, debe comenzar con el diseño de REST API, por ejemplo, creando una definición Swagger que le permita generar código API para numerosos marcos y lenguajes de back-end (prefiero Node.js y Hapi).

En el pasado, era común en el desarrollo web mezclar frontend y backend usando plantillas del lado del servidor (desafortunadamente todavía bastante común en muchos frameworks que dicen ser modernos) y lenguajes que lo hacen particularmente fácil, como PHP. Sin embargo, este tipo de práctica conduce a un código abarrotado y estrechamente acoplado y debe evitarse. En cambio, en el back-end, debería preocuparse principalmente de proporcionar puntos finales API REST que respondan con JSON a los cuatro verbos HTTP principales (GET, POST, PUT, DELETE) llamados en las rutas que corresponden a los recursos de datos con los que trata su aplicación. En caso de que necesite manejar datos en tiempo real, también debe estudiar WebSockets y Socket.io (contiene versiones de cliente y servidor, ambas escritas en JavaScript).

Para responder simplemente a su pregunta: sí, debe aprender JavaScript porque una de las mejores tecnologías de desarrollo de API REST, es decir, Node.js, requiere conocimiento de JavaScript; no, no necesita saber nada sobre jQuery, y en realidad le recomiendo que lo evite porque lo llevará fácilmente a usar antipatrones.

Si está interesado en tecnologías frontend como jQuery, debería revisar React.

TL; DR: No, pero deberías de todos modos.

Como siempre, depende de la plataforma para la que se esté desarrollando. Ciertamente, no duele, ya que le haría comprender mejor a qué se enfrentan los desarrolladores front-end y por qué esperan que ciertas cosas en el backend se comporten de cierta manera. Pero:

Dejando a un lado Node.JS (que supongo que todavía no es tan común en entornos de producción), es probable que no esté haciendo javascript y / o jquery en absoluto. Probablemente estará trabajando en un lenguaje adecuado para backend (aún, NodeJS aparte) como C #, Java, C ++ o similar.

Sin embargo; El programador de back-end es solo un rol y, en mi opinión, no debe considerarse una categoría de desarrollador por sí solo. Recomiendo a todos los desarrolladores que acaban de comenzar que aprendan tanto como puedan y apunten a una base de conocimiento completa que incluya el conocimiento práctico de todas las áreas comunes que no deben considerarse especializaciones (que excluye cosas como ETL, programación incrustada, 3D Gráficos, etc., etc.

Es posible que desee trabajar como ingeniero de back-end hoy, pero tal vez mañana quiera hacer algo completamente diferente. Por lo tanto, es mejor que te prepares para eso, ya que la mayoría de los empleadores no te pagarán por “convertirte”, sino que se conformarán con contratar a otra persona que ya tenga este conocimiento.

¡La mejor de las suertes!

A riesgo de sonar repetitivo, NO. Agregaré que jQuery es inútil en el backend de todos modos, ya que es una biblioteca del lado del cliente para la manipulación DOM multiplataforma. La belleza del servidor es que, a diferencia del navegador, no da un dm sobre el idioma que usa, se preocupa por la E / S y la estructura de datos, no por la presentación. Su trabajo es servir y calcular datos

Tu podrías también. Los marcos de JavaScript modernos son muy potentes últimamente, especialmente Angular.

No existe tal cosa como “programación de back-end”. Puede enfocarse en él, pero en realidad tiene que saber qué está sucediendo por adelantado. Las bibliotecas modernas proporcionan una solución que podría proporcionar una buena sinergia según el idioma de back-end que elija.