Quiero construir una aplicación web. ¿Es mejor aprender primero sobre las tecnologías de back-end o front-end?

Si es totalmente nuevo, comience primero con un marco de trabajo completo, como Meteor.

La razón principal por la que recomiendo comenzar con una pila completa obstinada es para que pueda obtener un sabor de ambos.

Hay miles y una formas de construir una aplicación web, puede ser abrumadora, especialmente si no está familiarizado tanto en el frente como en el backend.

Un marco de trabajo testarudo recomienda / aplica un cierto enfoque, da una dirección, útil si está comenzando.

Un marco de trabajo completo le permite construir algo funcional: la mayoría de las personas aprenden mejor si pueden ver un sistema que funcione.

Pero por supuesto, debes darte cuenta de que esta es solo una de las muchas formas de crear una aplicación web. Debe mantener una mente abierta y comenzar a explorar diferentes marcos y enfoques para tener una mejor comprensión tanto del back-end como del front-end.

El principal problema al comenzar con un marco obstinado es que te inclinas hacia este enfoque. También tiene menos comprensión sobre el backend / front end genérico per se ya que se realiza una gran cantidad de trabajo pesado por usted. Pero como introducción a la aplicación web, creo que es bastante bueno para algunos nuevos tener un sentido básico de lo que se requiere en una aplicación web.

Meteor [1] es un buen lugar para comenzar.

Pero como he dicho, no dependas demasiado de ningún marco en particular a medida que van y vienen. Úselo como una plataforma para comprender la estructura de una aplicación web antes de explorar otras formas de crear una aplicación web.

Una manera ingeniosa es un front-end web impulsado por AWS lambda cognito / o firebase y funciones lambda.

Notas al pie

[1] Crear aplicaciones con JavaScript | Meteorito

Aprendería primero las tecnologías básicas de front end para comprender en qué consiste un sitio web y cómo funciona un navegador. Aprenda los conceptos básicos de html, css y algunos javascript / jquery, luego tome un libro sobre ruby ​​on rails y debería estar listo (suponiendo que conoce la programación básica).

Creo que primero debe aprender el desarrollo de back-end (del lado del servidor), para que pueda comprender sus limitaciones; qué es fácil y qué es difícil. Además, las interfaces del lado del cliente son necesariamente secundarias al código de fondo; no puedes tener lo primero sin lo segundo.

Esto no quiere decir que es una buena idea desarrollar el código de fondo y luego el código del lado del cliente. Todas las buenas interfaces provienen de diseñadores que trabajan muy de cerca con los ingenieros, al mismo tiempo, desde el comienzo del proyecto.

Pero su pregunta es sobre qué aprender primero, suponiendo que no pueda aprender ambos a la vez (lo que probablemente sí podría), por lo que mi respuesta es el código de fondo. Quédese con Python y aprenda Python de la manera difícil y luego escriba una o dos aplicaciones en Django.