En resumen: no.
Cuando alguien hace una declaración como “Angular.js es lo que habría sido HTML si hubiera sido diseñado para crear aplicaciones web”, a lo que realmente se refieren es al concepto de directivas de Angular (AngularJS). Las directivas son, en el nivel más básico, una versión temprana y no estandarizada de Web Components (WebComponents.org).
El HTML se concibió cuando las páginas web, no las aplicaciones web, eran la carne y la patata de Internet.
- ¿Qué tipo de arquitectura permite que los sitios web de SaaS como Salesforce.com eviten que los complementos subóptimos los eliminen?
- ¿Necesito aprender el desarrollo web front-end antes del back-end?
- ¿Para qué casos de uso es adecuado o no adecuado Redis en una aplicación web de alto tráfico a principios de 2016?
- ¿Qué marco JS recomendaría para crear una aplicación web como YouTube?
- Cómo migrar a AngularJs 1.4
Puede preguntar “¿Cuál es la diferencia entre páginas web y aplicaciones web?” ¡Buena pregunta! Déjame decirte la diferencia.
Las páginas web son estáticas. Contienen contenido (generalmente texto e imágenes) que tuvieron que cambiarse a mano. Puede ver cómo esto es considerablemente diferente de la web de hoy. Imagine que una persona real tiene que actualizar su feed de Twitter. Si no sigue a muchas personas y las personas que sigue no son contribuyentes activos, entonces eso puede no ser tan malo. Pero, ¿y si sigues a Urban Dictionary que tiene más de 4.25 millones de tweets? No sería práctico que una persona actualice su feed cada vez que Urban Dictionary quiera publicar un nuevo tweet, ¿verdad?
Las aplicaciones web son la solución a este problema. Permiten que el contenido se genere dinámicamente. Para continuar con el ejemplo anterior, esto significa que los nuevos tweets se agregan automáticamente a su feed cuando se publican.
Ahora podría decir “Pero teníamos aplicaciones web antes de Angular. ¿Qué da?” También una pregunta fantástica!
La idea de los componentes web (similar a las directivas en Angular) existía antes de Angular, pero Angular es el marco que realmente popularizó el concepto.
Los componentes web le permiten definir etiquetas HTML personalizadas, lo que históricamente no podía hacer.
El beneficio de esto es que puede reutilizar fácilmente el mismo código en varios lugares. A modo de ejemplo, considere un diseño de interfaz de usuario de tarjeta típico (Tarjetas – Componentes – Pautas de diseño de Google). Las tarjetas son una forma bastante popular de mostrar grupos de información relacionados en estos días. Los usamos con frecuencia (¡probablemente más de lo que deberíamos!) Donde trabajo. En particular, los usamos para mostrar información sobre los usuarios.
Sería muy inconveniente si tuviera que copiar y pegar el código de una tarjeta de usuario cada vez que quisiera mostrar información sobre un usuario. Se vuelve aún más una pesadilla cuando comienzas a refactorizar y tienes que recordar cada lugar que copias y pegas. Si ha realizado un desarrollo web significativo, estoy seguro de que ha sentido el dolor de esta situación.
Los componentes web resuelven este problema al brindarle un solo lugar para guardar todos los HTML y JavaScript relacionados (¡incluso puede mantener el CSS relevante en el mismo lugar!). Ahora, cada vez que desee mostrar una tarjeta de usuario, podría ser tan simple como escribir algo como ` `. Esto también hace su vida mucho más fácil cuando desea cambiar el diseño de la tarjeta.
Hay otras formas de hacer esto: las plantillas parciales se usan con frecuencia en el desarrollo web del lado del servidor. Cada forma tiene sus méritos y desventajas, lo cual es una discusión fuera del alcance de esta respuesta, pero debería comenzar a ver por qué los componentes web son un avance tan increíble en el desarrollo web.
Si puedo reformular la cita incluida en esta pregunta, diría que lo siguiente es más correcto: “Los componentes web son HTML para la web dinámica”.
Espero que mi respuesta haya respondido a tu pregunta. ¡No dude en hacer preguntas de seguimiento si no he tenido claro algo!