¿Qué marco JS recomendaría para crear una aplicación web como YouTube?

YouTube se basa, en parte, en el marco de Google Polymer. La verdadera magia en YouTube es la ingeniería detrás del reproductor de video y el servicio de publicidad, ninguna de las cuales son aplicaciones front-end.

En lugar de comenzar una guerra de marcos (que estas preguntas siempre hacen), sugiero pensar en su proyecto y evaluar lo que cada marco está haciendo por usted. Recuerde, los marcos son implementaciones de opinión de una tecnología subyacente.

Hay dos tendencias principales en este momento: DOM virtual vs incremental.

El DOM (Modelo de Objeto de Documento) es el aspecto más intensivo en recursos de una aplicación web. El objetivo principal es cambiar la menor cantidad posible de partes del DOM para lograr su objetivo.

El concepto DOM virtual esencialmente refleja su estructura DOM en la memoria (RAM). Cualquier modificación realizada se aplica a esta estructura en la memoria. El hecho de que esté en la memoria no es lo que lo hace más rápido; el patrón diferente es Básicamente, el DOM virtual crea dos estructuras, la original y la nueva. Luego compara los dos, encuentra las diferencias y aplica los cambios al DOM “real”.

El DOM incremental es realmente solo un enfoque que los desarrolladores usan para hacer solo cambios en el DOM por su cuenta. Lo bueno de esto es mantener menos estructura en la memoria, pero requiere pensar un poco más sobre la arquitectura de su aplicación.

Hay otro enfoque para manejar los desafíos del DOM: los componentes web. Los componentes web están en camino con el W3C para convertirse en un estándar. Los componentes web son un estándar de 4 partes, pero la mayoría de las personas relacionan los componentes web con “elementos HTML personalizados”. Básicamente, haces tus propias etiquetas HTML nativas. Esto brinda a los desarrolladores un control más preciso sobre el DOM. Si desea una revisión más profunda de esto, hice una charla al respecto para nuestro grupo de reunión en enero en

Si solo está haciendo un proyecto de pasatiempo y está buscando una forma rápida de insertar videos, mire algo como VideoJS, PopcornJS, etc. Su mayor desafío será la transmisión de videos, que ha sido un punto de discusión en el mundo web para Un largo tiempo. La conclusión es que el video HTML5 es más fácil de usar, pero más difícil de proteger. Flash es más fácil de proteger, pero cada vez más difícil de usar. Sin embargo, ese es un tema completamente diferente.

Espero que ayude. Buena suerte.

Sugeriría reaccionar. Es más liviano que angular, y su arquitectura basada en componentes parece ideal para este tipo de sitio. Pero no puedo entrar en demasiados detalles sin saber qué es exactamente lo que quieres construir y por qué. ¿Es un proyecto favorito, estás aprendiendo JS ahora o es algo para el trabajo o la escuela?

Al final, debe construir con lo que quiere construir, pero dependiendo de cuáles sean sus respuestas a lo anterior, podría sugerir algo diferente o duplicar mi afirmación de que React es la mejor opción.