Soy nuevo en el desarrollo web y me gustaría aprender tanto front-end como back-end. ¿Cuál es la mejor pila para aprender? ¿Cómo se comparan Node.js y Express.js con Java? ¿Puede Node.js hacer todo lo que un back-end de Java puede hacer en términos de escala, confiabilidad, seguridad, etc.?

Aprenda Javascript primero y estará listo para implementar sus propios proyectos lo antes posible. Para empezar, Javascript es más fácil y se puede usar tanto para el front-end como para el back-end. Aprenda lo suficiente para crear algunos proyectos paralelos con Javascript. Aprenda codificando algún producto real [podría ser tan simple como una lista de tareas pendientes, Blog, Calculadora].

Java es un lenguaje extenso y necesitará más tiempo para dominarlo lo suficiente como para comenzar a construir cosas reales. Incluso si aprende JAVA, necesitará Javascript para crear la parte frontal.

Entonces, comience aprendiendo Javascript , proceda a React / Vue / Angular, Node, Express, Mongo una vez que esté familiarizado con Javascript. Cree una base sólida en JS primero para que no dependa demasiado de los marcos de terceros [React / Angular / Vue].

Después puedes aprender Python / Java si quieres hacer backends más potentes. Será una experiencia de aprendizaje mucho más fácil e intuitiva para usted después de que haya aprendido JS y creado algunos proyectos.

El aprendizaje de JavaScript le permite crear trabajo tanto en el front-end como en el back-end en el mismo idioma, por lo que si está buscando desarrollo web solo use Javascript y aprenda el marco de su elección, si está buscando ser un ingeniero de software enfocado en el back-end, vaya para Java

La mejor pila sería Mongo Express Angular / React Node

Espero que eso ayude.

Lidero el equipo web en una startup y escucho muchas veces esta pregunta.

Lo primero es lo primero, no necesita aprender ninguna pila, solo aprende las tecnologías web y elige un marco que haga que estas tecnologías sean más fáciles de implementar. Recuerde, el marco seguirá cambiando así que conviértase en un aprendiz rápido y sea flexible.

Javascript He visto a personas que aprenden Nodo y Angular sin tener idea del concepto central de javascript. Necesita conocer las partes buenas (su herencia prototípica, cierres y también algunas partes no tan buenas) escritas dinámicamente y cómo los errores de tiempo de ejecución pueden hacer que su vida sea un infierno.

*** Lea este libro electrónico y haga todos los ejercicios usted mismo: JavaScript elocuente

Tecnologías HTML, CSS La siguiente fase del desarrollo web es crear algunos de sus propios sitios web. Puede ser su sitio web de cartera o un blog de algún tipo. Aprende HTML, interacción Dom con jquery, CSS (diseño de diseño + transiciones), Ajax, REST, autenticación y autorización, cookies web y almacenamiento local. Aprenda cómo abrir la consola del desarrollador e inspeccionar otros sitios web. Sorpréndase con sitios web como Anton e Irene, Melding Art With Technology

*** Haga algunos sitios web propios para esto. Además, recomiendo CodeSchool por lo básico, ya que realmente te harán codificar y aprender.

Base de datos Aprenda los conceptos básicos detrás de las bases de datos SQL y noSQL. Aprenda a escribir consultas (escriba muchas consultas). Realice algunos proyectos en php + SQL como backend y algunos en Node + mongoDB.

*** La misma recomendación que la anterior

Marco Ahora no se apegue demasiado a ningún marco. No diga cosas como si elijo Reaccionar o Nodo porque realmente me gusta codificarlo (escucho esto en muchas entrevistas). Obtenga una descripción general de todos los marcos y únase a una empresa que sepa por qué está usando el marco que está usando. Me uní a una empresa que trabajaba en MEAN stack. Ok, y no dejes de practicar lo básico cuando trabajes en un marco.

*** Únete a una empresa y aprende. Los marcos son mejores para aprender cuándo estaría trabajando en un proyecto grande. El autoaprendizaje es difícil aquí.

Esté actualizado Tenga cuidado, las tecnologías web pueden cambiar muy rápidamente. Estaba a punto de convertirme en un experto Angular solo para descubrir que React y Angular2 habían comenzado a dominar el juego. Así que solo sigue a algunos expertos en esta industria en Twitter y sigue tomando buenos cursos.

*** Sea activo en Twitter y obtenga membresía trimestral de sitios como FrontendMasters, Egghead.io

Avanzado Ahora se encuentra en una etapa en la que sabe que aprender cualquier marco es la parte más fácil y sonríe en el momento en que tenía demasiado miedo. Esta es la etapa donde miento. Hay tantas cosas que aprender ahora y menos tiempo. React Native, animación SVG, análisis y visualización de datos, aprendizaje automático, Big Data es lo que me espera. Sé que ahora es el momento de cambiarme a una empresa que realmente innova. Espero verte pronto en esta etapa.

Y eso es. ¡Todo lo mejor! 🙂

Algunos otros recursos que realmente me gustaron:

CSS – Libro de Secretos CSS de Lea Verou (avanzado)

Angular – Vídeos de youtube gratis por John Lindquist

NoSQL – NoSQL destilado por Martin Fowler (avanzado)

Mi consejo es aprender la pila MEAN. Este es el por qué:

Aprender la pila MEAN es la ruta más rápida para convertirse en un desarrollador de pila completa. Como ya va a estudiar Javascript para su desarrollo front-end, creo que es una bendición saber que también puede escribir código de fondo en el mismo idioma. También puede obtener empleo de forma rápida y sencilla.

Al examinar si el Nodo JS es una buena opción para el backend, creo que el Nodo JS es muy confiable. Ha sido adoptado por Paypal, New York Times, LinkedIn, Square, DuckDuckGo, Netflix, Medium, Uber y miles de otras compañías. Hay muchas razones por las que debería usar Node.js para construir sus aplicaciones web.

  1. Node.js es impresionante para aplicaciones en tiempo real debido a su implementación de sondeo largo. Es una opción perfecta para crear una aplicación en la que le gustaría mantener una conexión persistente desde el servidor al navegador.
  2. Se ha convertido en el entorno estándar de facto en el que se ejecutan herramientas relacionadas con Javascript y otras herramientas relacionadas con la web, incluidos los corredores de tareas, minificadores, embellecedores, linters, preprocesadores, paquetes y procesadores analíticos.
  3. Es bastante rápido, ya que utiliza el motor V8 de Google. Su velocidad de carrera es bastante impresionante.
  4. Tienes mucho apoyo de la comunidad. Node.js tiene un grupo cada vez mayor de paquetes gratuitos a los que puede acceder a través de npm . El ecosistema de paquetes de Node.js, npm , es el ecosistema de bibliotecas de código abierto más grande del mundo.
  5. Puede tener la conveniencia y también la ventaja de ahorrar tiempo al escribir código del lado del cliente y del servidor en Javascript.

Hay más que puedo decir, pero me detendré aquí por ahora.

Comencemos por sacar algo del camino: no hay una mejor combinación : ya sea para usar o aprender o lo que sea, siempre hay demasiadas variables en juego para decir que algo es el “mejor” de manera subjetiva.

Tienes amigos desarrolladores en compañías de renombre que se sienten cómodas con Java + Spring. ¿Puedes aprovecharlos? Si es así, poder hacerle preguntas a alguien cuando se encuentre con un bloqueo mental es una ventaja de aprendizaje fenomenal. Si estuvieran dispuestos a tomarse un tiempo para enseñarle personalmente conceptos útiles que han encontrado durante su tiempo como programadores, podría terminar aprendiendo conceptos clave que de otro modo tendría que buscar. Esto es extremadamente útil.

Por otro lado, desea aprender tanto en el front-end como en el back-end. El front-end requerirá que aprenda JavaScript, mientras que el back-end es independiente del lenguaje. Entonces, ¿por qué no quedarse con JavaScript en la pila y usar Node.js en el back-end? La comunidad Node.js es extremadamente activa (aunque posiblemente sea una falla) y hay muchos recursos en línea y es común que muchas reuniones y demás existan sin conexión.

En la medida en que intente compararlos, es importante tener en cuenta que Node.js es un tiempo de ejecución de JavaScript y que la interpretación de JavaScript no se puede comparar con la ejecución compilada de bytecode de Java en términos de rendimiento sin procesar. Sin embargo, Node.js es un contenedor sobre enlaces binarios C nativos que compiten fácilmente con Java en términos de rendimiento. Si bien las partes “JavaScript” de su código pueden ejecutarse más lentamente en Node.js, el sistema de archivos y las operaciones de red que están aprovechando C no se inmutaran.

¿Mi sugerencia? Solo elige uno . No permita que la parálisis del análisis le impida simplemente comenzar a trabajar. Una vez que ha aprendido un idioma, se vuelve más fácil aprender el siguiente, por lo tanto, si de alguna manera tomó una decisión “incorrecta”, sería más fácil corregirlo que no aprender para empezar.

Aprenda la pila MEAN y luego aumente su conocimiento con SQL. Úselo hasta que sepa lo suficiente como para tener razones prácticas y reales para rechazarlo. Es posible que eso nunca suceda dependiendo de los desafíos que intente abordar.

Si encuentra que esa pila es deficiente y es legítima y no solo ignorancia, pereza o moda; entonces estarás en un lugar donde los lenguajes como Java, C #, Swift y Kotlin te emocionarán.

Los buenos lenguajes OOP tienden a resolver problemas que la mayoría de los desarrolladores no saben que tienen (hasta que es demasiado tarde). Le corresponde obtener RÁPIDO en JavaScript antes de ramificarse. Te meterá en problemas en algún momento. Y habituará uno o dos malos hábitos, pero podrá ser empleado y estará en camino a una situación en la que podrá monetizar los idiomas más poderosos que aprenderá más adelante.

En términos prácticos, el código se parece mucho más a cualquier otro idioma extranjero de lo que la mayoría de la gente está dispuesta a admitir. No tiene que ser perfecto antes de comenzar a hacer las cosas. Y hacer las cosas te perfecciona.

LAMP es muy popular y no es probable que desaparezca pronto. Esto comprende Linux, Apache, MySQL y PHP. También querrá familiarizarse con un sólido marco MVC como Laravel, que tiene una comunidad tremenda en este momento y es probable que esté presente por un tiempo.

Complementaría este conjunto de habilidades de lenguaje de servidor con una capacitación javascript bastante extensa, ya que cada vez más marcos de interfaz lo utilizan de una forma u otra. Incluso algunos lenguajes de servidor como Node lo usan.

Si desea pensar más adelante, más allá de LAMP, todavía no hay una sola pila, por lo que es posible que desee especializarse. Hay muchas plataformas de desarrollo, pero son diversas. Esto incluye Ruby on Rails, Python, Go y NodeJS (que está ganando fuerza rápidamente y es particularmente accesible ya que es básicamente JavaScript del lado del servidor).

Si tiene diseños específicos para escribir aplicaciones web para una plataforma en particular, vea qué idiomas admite. Los servicios web de Amazon y la plataforma en la nube de Google admiten idiomas específicos de forma nativa, y aprender algo que funcione en sus plataformas de implementación previstas siempre es una buena idea.

Asegúrese de incluir también un enfoque significativo en “vistas” o marcos de interfaz del lado del cliente. Si bien un poco de HTML y CSS solía ser suficiente durante mucho tiempo, los marcos receptivos son estándar ahora, por lo que querrá acostumbrarse a algo como Bootstrap. También querrá que sus páginas puedan hablar con los datos del servidor.

Los marcos de Javascript como Angular, React y Vue.JS parecen estar de moda, aunque hay mucho movimiento en este espacio, por lo que es difícil saber cuándo se estabilizará (mi dinero está en Vue.JS). jQuery también es un conjunto de herramientas robusto para javascript, y vale la pena saberlo, pero aunque es extremadamente popular, puede estar llegando al final de su reinado, así que no tire todos sus huevos en la canasta de jQuery.

La ruta fácil es usar Firebase para manejar su backend. Nunca tendrá que mantener o administrar servidores ni preocuparse por el escalado. Con Cloud Functions para Firebase ahora disponible, puede escribir su código de back-end en node.js que responde a eventos en su proyecto de Firebase.

Su mejor opción será aprender Node.js en el backend y Angular o React en el final de la fuente.

Por qué ?

Porque todos están escritos en javascript . Esto lo ayudará a usar su conocimiento de JavaScript tanto en el front-end como en el back-end. Además, javascript es muy flexible y lo utilizan millones de desarrolladores de todo el mundo para encontrar la solución a cada problema en el que se encuentre.

Respondiendo a su segunda pregunta, ¿Node.js puede hacer todo lo que Java puede hacer? Por supuesto, puede hacer cualquier cosa y todo lo que puede hacer en Java.

La mejor de las suertes.

Comencé a aprender desarrollo web hace unos 6 meses, y he estado aprendiendo Node.js y Express. En mi opinión, es una gran pila de aprendizaje, porque te obliga a aprender en un nivel más bajo que Python con Django y Ruby on Rails. ¡Esto es genial, porque entiendes los fundamentos del desarrollo web de back-end!

Otro punto a considerar es que Node.js es básicamente JavaScript, que es un lenguaje de programación muy sencillo. Si eres nuevo en programación, probablemente te resulte más fácil de aprender que Java.

Nunca he usado Java y Spring, ¡pero estoy realmente satisfecho con Node y Express! ¡Creo que deberías comenzar por ellos!

Solo por la estabilidad (y el hecho de que es ubicuo en la web), iría con la pila LAMPP / MAMPP / WAMPP. Usar js en el back-end es nuevo, hay muchas tecnologías que aún no han sido probadas. (La seguridad depende del desarrollador, no de la pila o del lenguaje. El hecho de que PHP le permita escribir sitios inseguros no significa que tenga que escribir sitios inseguros si lo usa. El escalado y la confiabilidad han sido probados en AMPP sitios por algunas décadas.)

Sugiero un marco front-end como Angular: Angular Docs (aquí usa TypeScript y lo compila en JavaScript eficiente)

Combinado con un back-end API C # / SQL.

Eso es lo que he usado para mi sitio badgag.com: Todos – 1 – Badgag

Personalmente, no me gusta Java y no creo que Node.js sea una buena idea para un back-end. En mi mundo, ¿lo tienes al revés, Java para front-end y JavaScript como back-end? El 99% de las veces, es al revés.

More Interesting

Aprendí HTML, CSS y JavaScript. ¿Cómo puedo ganar dinero en casa usando estas habilidades?

Sé React y React-Redux junto con AJAX y Jquery. He realizado múltiples proyectos pero no puedo atraer a ningún reclutador. ¿Qué pasos tomo?

Golang: ¿Cómo convertir una matriz JSON en estructuras y usar JSON Marshal para obtener los datos?

Aprendí HTML, CSS, JavaScript y jQuery, y diseño receptivo. ¿Estoy listo para solicitar empleo?

Aprendí jQuery antes de JS, y ahora soy súper dependiente. ¿Cómo me vuelvo menos dependiente de jQuery y más de JS?

Soy un desarrollador web de 26 años que vive en Bangalore. Quiero emigrar de la India. ¿Cuáles son las mejores opciones y cómo puedo planificarlas?

He estado creando sitios web con PHP usando editores de texto. ¿Cómo empiezo a usar Laravel Framework? No tengo ningún conocimiento sobre su uso.

Quiero construir una red social como proyecto personal. Soy bueno programando. ¿Dónde empiezo?

Tengo conocimiento de HTML CSS y arranque básico debido a un problema financiero. Quiero hacer mi trabajo. ¿Debería hacer un trabajo o esperar para aprender JavaScript primero?

¿Dónde construyo un sitio web?

¿Cómo se construye una API?

¿Cuáles son las principales tendencias en desarrollo web?

Necesito agregar la función de notificación en mi sitio web como la de Facebook usando PHP y MySQL. ¿Cómo debo comenzar?

Marketing web: compré un nombre de dominio de GoDaddy y actualmente estoy creando un sitio web. ¿Puedo ganar a través de este sitio web? ¿Quién me pagará exactamente y de qué manera?

Si uso WordPress y lo agrego a mi sitio web, ¿Google lo indexará y le dará "crédito" a mi sitio por palabras clave y contenido nuevo?