El Viento y las Olas: La formación de Olas de Framework desde el Epicentro

Rate this content
Bookmark

¿Qué haces cuando eres un framework que ha sobrevivido e innovado en dos Olas de Framework de JavaScript, y ves la nueva ola creciendo en la distancia? Innovas. En esta charla, exploramos el panorama del Framework de JavaScript, y algunas de las principales características competitivas que hemos visto. Exploraremos lo que Angular está introduciendo hoy y hacia dónde nos dirigimos en el futuro.

This talk has been presented at JSNation 2022, check out the latest edition of this JavaScript Conference.

FAQ

La innovación es un proceso colectivo y un sistema de conexiones, no un momento aislado de inspiración individual. Se trata de una red de contribuciones y desarrollos acumulativos de muchas personas y tecnologías a lo largo del tiempo.

No hay un único inventor de la computadora; fue el resultado de una serie de desarrollos por parte de diversas personas y tecnologías. Desde el ENIAC hasta desarrollos fundamentales de Turing y Shannon, pasando por la Máquina Analítica de Babbage y las contribuciones de Ada Lovelace.

Los frameworks de JavaScript han evolucionado a través de 'olas', con cada nueva ola aprendiendo de sus predecesores y ajustando sus enfoques. Angular, React, Vue y otros han tomado inspiración de frameworks y conceptos previos para mejorar la funcionalidad y eficiencia.

Ivy, una actualización significativa para Angular, mejoró la organización del código, la integración con IDEs, y la eficiencia general del framework. También permitió errores de compilación más informativos y mejoras en la velocidad y optimización del paquete.

Angular v14 introdujo validaciones de formularios fuertemente tipadas, estilos Sass en línea, mejoras en la incrustación de recursos y una mayor facilidad para realizar actualizaciones y manejar errores. También se simplificó el enrutador para mejorar la accesibilidad de los títulos de páginas.

Angular ha influenciado múltiples olas de JavaScript, desarrollando características como SPA, TypeScript de primera clase, pruebas integradas y compilación anticipada. También ha liderado en términos de actualizaciones impulsadas por CLI y ha mejorado continuamente la experiencia del desarrollador.

Angular ha tomado inspiración de Svelte en simplicidad de autoría, Vue en SFCs y manejo de estado, y de Solid en reactividad. Estas influencias han ayudado a Angular a seguir evolucionando y adaptándose a las necesidades modernas del desarrollo web.

Sarah Drasner
Sarah Drasner
19 min
20 Jun, 2022

Comments

Sign in or register to post your comment.
Video Summary and Transcription
Nuestra comprensión de la innovación es incorrecta. Las innovaciones no se introducen por un único punto de luz. La historia de quién inventó la computadora no es lineal. Muchos pasos adelante llevaron al desarrollo de la computadora. Angular ha moldeado e influenciado múltiples olas de JavaScript, y Angular v14 simplifica el desarrollo con componentes independientes.

1. La Compleja Historia de la Innovación en Computadoras

Short description:

Nuestra comprensión de la innovación es incorrecta. Las innovaciones no son introducidas por un solo punto de luz. La historia de quién inventó la computadora no es lineal. Muchos pasos adelante llevaron al desarrollo de la computadora. Varias invenciones e individuos contribuyeron a la computadora moderna, incluyendo ENIAC, Colossus, el Mark I de Aiken, el Z3 y Z4, la teoría de Turing, la teoría de la información de Claude Shannon, el Telar de Jacquard, las calculadoras de Babbage, los conceptos de Edda Lovelace, el chip de computadora, el prototipo de la computadora moderna y Ethernet. La innovación es un sistema, interconectado e impulsado por varios espectros de innovación.

Nuestra comprensión colectiva de la innovación es incorrecta. Puede parecer al principio que los problemas se resuelven y las innovaciones se introducen por un solo punto de luz, una persona solitaria teniendo un momento eureka. Sin embargo, podemos ver que para cualquier gran innovación, este simplemente no es el caso.

Por ejemplo, tomemos la historia de quién inventó la computadora. Puede parecer al principio lineal, como si un solo evento y una sola implementación fueran el comienzo. Sin embargo, no fue uno, sino muchos pasos adelante. Quizás bajo ciertas definiciones fue ENIAC, ampliamente considerado como la primera computadora digital electrónica de propósito general. Había otras computadoras que tenían todas estas características, pero ENIAC las tenía todas en un solo paquete. Dicho esto, no era binario. Colossus también fue considerado como la primera computadora digital programable, aunque fue programada por interruptores y enchufes, no por un programa almacenado. Siendo el binario bastante importante, tal vez quieras rastrearlo hasta el Mark I de Aiken, que tenía principios binarios, pero no era electrónico. Cada ubicación de almacenamiento, conjunto de interruptores y registros se asignaron un número de índice único. Estos números se representaban en binario en la cinta de control. Sin embargo, el Z3 y Z4 fueron la primera computadora programable. Atzinosoff y Berry diseñaron la primera computadora electrónica digital, la primera vez que una computadora pudo almacenar información en su memoria principal, pero ninguna de esas hubiera sido posible sin la teoría en evolución de Turing, escribiendo sus números no computables, donde él define lo que ahora conocemos como una máquina de Turing. Pero también Claude Shannon sentó las bases de la teoría de la información. Sus teorías sentaron las bases para todas las redes de comunicación electrónica, pero también EDVAC, Manchester Baby, el Franzi Mark I, e IBM trajeron nuevos desarrollos a considerar, todos los cuales influyeron en piezas importantes de lo que compone una computadora.

Pero nada de esto hubiera sido posible sin el Telar de Jacquard, que era un conjunto de tarjetas para producir un patrón en un tejido en un paño, hace mucho tiempo. O Babbage, quien creó dos calculadoras mecánicas, una era la Máquina Diferencial, y la otra era la Máquina Analítica Inacabada. O Edda Lovelace, quien inventó los conceptos de las computadoras modernas, incluyendo software y subrutinas. Ella pensó en cómo las computadoras podrían manejar cualquier tema, no solo números, y que data podría representarse en forma digital y publicó el primer programa de computadora. Pero entonces esto realmente depende de tu definición de una computadora, si te refieres a la computadora moderna o no, porque ¿qué serían las computadoras sin el chip de computadora? Jack Kilby y Robert Noyce presentaron el circuito integrado conocido como el primer chip de computadora. ¿O qué tal cuando se mostró el prototipo de la computadora moderna en un centro de investigación para el aumento del intelecto humano, incluyendo un ratón y una GUI? Y realmente, ¿qué sería la informática moderna sin el desarrollo de Ethernet, para conectar varias computadoras y otros hardware? Como dice Matt Ridley en Cómo Funciona la Innovación, la innovación de una computadora ya no puede ser localizada en un solo producto más de lo que uno puede localizar el momento en que un niño se convierte en adulto. Incluso para una de estas piezas, podemos ver que están interconectadas y no solo en una línea de tiempo scale, sino también conectadas por qué espectro de innovación impulsó más hacia adelante. Y así, vemos que la innovación es un sistema, una serie de frecuencias interconectadas. La innovación son conexiones. La innovación es una red.

2. La Formación de las Olas de Frameworks

Short description:

La innovación no es un singular momento de eureka. Hoy, vamos a hablar sobre la formación de las olas de frameworks desde el epicentro. Angular ha moldeado e influenciado múltiples olas de JavaScript. Las primeras versiones de Angular se inspiraron en Rails y JQuery, lo que llevó al surgimiento de otros frameworks como Ember, Handlebars, Backbone y Knockout.

Sin embargo, muchos hablan de la innovation como si fuera el encendido de una bombilla, un momento aha que solo golpea a los creadores más brillantes. Pero incluso la bombilla fue inventada simultáneamente por 21 personas diferentes en diferentes partes del mundo. Edison pudo haber conseguido esa última patente, pero la innovation de la bombilla fue lenta, acumulativa e inevitable. La innovation no es un singular momento de eureka.

Entonces, ¿qué se necesita para hacer algo completamente nuevo y útil a partir de cosas que ya existen? ¿Cómo creamos un cambio sísmico a partir de cosas que ya estaban aquí antes? A menudo hablamos de las olas de los frameworks de JavaScript, ese único momento en el tiempo en el que un framework alcanza una relevancia masiva. Pero no hablamos de lo que compone una ola. Las olas no se crean por sí solas. Son creadas por una fuerza de la naturaleza, el viento. Y así, hoy, mientras hablamos de la innovation en la industria, vamos a hablar sobre el viento y las olas.

Soy Sarah Drasner, y hoy vamos a hablar sobre la formación de las olas de frameworks desde el epicentro. Entonces, ¿quién soy yo para hablar de esto de todos modos? En el pasado, yo era una desarrolladora de React. Di la conferencia principal en el Rally de React en 2016 entre algunas otras conferencias, y luego finalmente encontré a Vue y me enamoré de él, llegando a ser miembro del equipo principal de Vue. En septiembre del año pasado, tomé un trabajo de directora de ingeniería en Google, incluyendo pero no limitado a los lenguajes de JavaScript y TypeScript, pruebas web, incluyendo Karma, y algunos frameworks, uno de los cuales es Angular. Yo personalmente no dirijo el equipo de Angular. Puedes pensar en mí más como la abuela de Angular. Y aunque hoy me voy a centrar mucho en Angular, sé que lo que te estoy contando, sé que puedo contarte la misma historia desde la perspectiva de enfoque de varios frameworks, ya que el punto es que todos aprendemos unos de otros. Sin embargo, lo que creo que es único e intrigante de Angular es lo bien que ha sobrevivido. Ha moldeado e influenciado múltiples olas de JavaScript de formas que creo que pocos se dan cuenta completamente. Y a su vez, aprende y crece y continúa creciendo de los que están a su alrededor. Así que básicamente, cuando veo que otros frameworks prosperan, también me siento muy feliz por ellos.

Lo que me lleva a, ¿cómo llegamos todos aquí? ¿Y cómo jugó Angular un papel? Para ver a dónde va, es útil aprender del pasado y de dónde venimos. Pero te advierto, esta es un área polémica, y las personas pueden no estar siempre de acuerdo en algunos de estos puntos. ¿Recuerdas cómo dije que la innovation era más como una red o un sistema que un único momento aha? ¿Y recuerdas cómo dije que Angular y otros han resistido la prueba del tiempo? Bueno, ninguno de estos frameworks se hizo de la nada. Las primeras versiones de Angular y AngularJS fueron uno de los frameworks de JS más modernos, y se inspiraron en sus predecesores, Rails y JQuery. Ninguno de los cuales realmente categorizaría como un framework de JS moderno, como lo conocemos hoy. A partir de ahí, tenemos Ember, también en esta primera ola, inspirándose también en Rails. Handlebars, en el que Yehuda Katz trabajó anteriormente. Y las capacidades de spa de AngularJS. Luego tenemos Backbone, aprendiendo también de Angular, pero también de los enfoques MVP. Y Knockout, que aprendió de Handlebars y jQuery, introduciendo conceptos importantes, como las propiedades calculadas.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Construyendo Mejores Sitios Web con Remix
React Summit Remote Edition 2021React Summit Remote Edition 2021
33 min
Construyendo Mejores Sitios Web con Remix
Top Content
Remix is a web framework built on React Router that focuses on web fundamentals, accessibility, performance, and flexibility. It delivers real HTML and SEO benefits, and allows for automatic updating of meta tags and styles. It provides features like login functionality, session management, and error handling. Remix is a server-rendered framework that can enhance sites with JavaScript but doesn't require it for basic functionality. It aims to create quality HTML-driven documents and is flexible for use with different web technologies and stacks.
No resuelvas problemas, elimínalos
React Advanced 2021React Advanced 2021
39 min
No resuelvas problemas, elimínalos
Top Content
Kent C. Dodds discusses the concept of problem elimination rather than just problem-solving. He introduces the idea of a problem tree and the importance of avoiding creating solutions prematurely. Kent uses examples like Tesla's electric engine and Remix framework to illustrate the benefits of problem elimination. He emphasizes the value of trade-offs and taking the easier path, as well as the need to constantly re-evaluate and change approaches to eliminate problems.
Compilador React Forget - Entendiendo React Idiomático
React Advanced 2023React Advanced 2023
33 min
Compilador React Forget - Entendiendo React Idiomático
Top Content
Joe Savona
Mofei Zhang
2 authors
The Talk discusses React Forget, a compiler built at Meta that aims to optimize client-side React development. It explores the use of memoization to improve performance and the vision of Forget to automatically determine dependencies at build time. Forget is named with an F-word pun and has the potential to optimize server builds and enable dead code elimination. The team plans to make Forget open-source and is focused on ensuring its quality before release.
Acelerando tu aplicación React con menos JavaScript
React Summit 2023React Summit 2023
32 min
Acelerando tu aplicación React con menos JavaScript
Top Content
Mishko, the creator of Angular and AngularJS, discusses the challenges of website performance and JavaScript hydration. He explains the differences between client-side and server-side rendering and introduces Quik as a solution for efficient component hydration. Mishko demonstrates examples of state management and intercommunication using Quik. He highlights the performance benefits of using Quik with React and emphasizes the importance of reducing JavaScript size for better performance. Finally, he mentions the use of QUIC in both MPA and SPA applications for improved startup performance.
Documentación Full Stack
JSNation 2022JSNation 2022
28 min
Documentación Full Stack
Top Content
The Talk discusses the shift to full-stack frameworks and the challenges of full-stack documentation. It highlights the power of interactive tutorials and the importance of user testing in software development. The Talk also introduces learn.svelte.dev, a platform for learning full-stack tools, and discusses the roadmap for SvelteKit and its documentation.
SolidJS: ¿Por qué tanto Suspense?
JSNation 2023JSNation 2023
28 min
SolidJS: ¿Por qué tanto Suspense?
Top Content
Suspense is a mechanism for orchestrating asynchronous state changes in JavaScript frameworks. It ensures async consistency in UIs and helps avoid trust erosion and inconsistencies. Suspense boundaries are used to hoist data fetching and create consistency zones based on the user interface. They can handle loading states of multiple resources and control state loading in applications. Suspense can be used for transitions, providing a smoother user experience and allowing prioritization of important content.

Workshops on related topic

React, TypeScript y TDD
React Advanced 2021React Advanced 2021
174 min
React, TypeScript y TDD
Top Content
Featured WorkshopFree
Paul Everitt
Paul Everitt
ReactJS es extremadamente popular y, por lo tanto, ampliamente soportado. TypeScript está ganando popularidad y, por lo tanto, cada vez más soportado.

¿Los dos juntos? No tanto. Dado que ambos cambian rápidamente, es difícil encontrar materiales de aprendizaje precisos.

¿React+TypeScript, con los IDEs de JetBrains? Esa combinación de tres partes es el tema de esta serie. Mostraremos un poco sobre mucho. Es decir, los pasos clave para ser productivo, en el IDE, para proyectos de React utilizando TypeScript. En el camino, mostraremos el desarrollo guiado por pruebas y enfatizaremos consejos y trucos en el IDE.
Masterclass Web3 - Construyendo Tu Primer Dapp
React Advanced 2021React Advanced 2021
145 min
Masterclass Web3 - Construyendo Tu Primer Dapp
Top Content
Featured WorkshopFree
Nader Dabit
Nader Dabit
En esta masterclass, aprenderás cómo construir tu primer dapp de pila completa en la blockchain de Ethereum, leyendo y escribiendo datos en la red, y conectando una aplicación de front end al contrato que has desplegado. Al final de la masterclass, entenderás cómo configurar un entorno de desarrollo de pila completa, ejecutar un nodo local e interactuar con cualquier contrato inteligente usando React, HardHat y Ethers.js.
Construir con SvelteKit y GraphQL
GraphQL Galaxy 2021GraphQL Galaxy 2021
140 min
Construir con SvelteKit y GraphQL
Top Content
Featured WorkshopFree
Scott Spence
Scott Spence
¿Alguna vez has pensado en construir algo que no requiera mucho código de plantilla con un tamaño de paquete pequeño? En esta masterclass, Scott Spence irá desde el hola mundo hasta cubrir el enrutamiento y el uso de endpoints en SvelteKit. Configurarás una API de GraphQL en el backend y luego usarás consultas de GraphQL con SvelteKit para mostrar los datos de la API de GraphQL. Construirás un proyecto rápido y seguro que utiliza las características de SvelteKit, y luego lo desplegarás como un sitio completamente estático. Este curso es para los curiosos de Svelte que no han tenido una experiencia extensa con SvelteKit y quieren una comprensión más profunda de cómo usarlo en aplicaciones prácticas.

Tabla de contenidos:
- Inicio e introducción a Svelte
- Inicializar el proyecto frontend
- Recorrido por el proyecto esqueleto de SvelteKit
- Configurar el proyecto backend
- Consultar datos con GraphQL
- Recuperación de datos en el frontend con GraphQL
- Estilización
- Directivas de Svelte
- Enrutamiento en SvelteKit
- Endpoints en SvelteKit
- Despliegue en Netlify
- Navegación
- Mutaciones en GraphCMS
- Envío de mutaciones GraphQL a través de SvelteKit
- Preguntas y respuestas
Fundamentos de Remix
React Summit 2022React Summit 2022
136 min
Fundamentos de Remix
Top Content
Featured WorkshopFree
Kent C. Dodds
Kent C. Dodds
Construir aplicaciones web modernas está lleno de complejidad. Y eso solo si te molestas en lidiar con los problemas
¿Cansado de conectar onSubmit a las API del backend y asegurarte de que tu caché del lado del cliente se mantenga actualizada? ¿No sería genial poder utilizar la naturaleza global de CSS en tu beneficio, en lugar de buscar herramientas o convenciones para evitarla o trabajar alrededor de ella? ¿Y qué te parecería tener diseños anidados con una gestión de datos inteligente y optimizada para el rendimiento que simplemente funciona™?
Remix resuelve algunos de estos problemas y elimina completamente el resto. Ni siquiera tienes que pensar en la gestión de la caché del servidor o en los conflictos del espacio de nombres global de CSS. No es que Remix tenga APIs para evitar estos problemas, simplemente no existen cuando estás usando Remix. Ah, y no necesitas ese enorme y complejo cliente graphql cuando estás usando Remix. Ellos te tienen cubierto. ¿Listo para construir aplicaciones más rápidas de manera más rápida?
Al final de esta masterclass, sabrás cómo:- Crear Rutas de Remix- Estilizar aplicaciones de Remix- Cargar datos en los cargadores de Remix- Mutar datos con formularios y acciones
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Vue.js London Live 2021Vue.js London Live 2021
169 min
Vue3: Desarrollo Moderno de Aplicaciones Frontend
Top Content
Featured WorkshopFree
Mikhail Kuznetsov
Mikhail Kuznetsov
Vue3 fue lanzado a mediados de 2020. Además de muchas mejoras y optimizaciones, la principal característica que trae Vue3 es la API de Composición, una nueva forma de escribir y reutilizar código reactivo. Aprendamos más sobre cómo usar la API de Composición de manera eficiente.

Además de las características principales de Vue3, explicaremos ejemplos de cómo usar bibliotecas populares con Vue3.

Tabla de contenidos:
- Introducción a Vue3
- API de Composición
- Bibliotecas principales
- Ecosistema Vue3

Requisitos previos:
IDE de elección (Inellij o VSC) instalado
Nodejs + NPM
Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
JSNation 2023JSNation 2023
174 min
Desarrollando Blogs Dinámicos con SvelteKit & Storyblok: Una Masterclass Práctica
Top Content
Featured WorkshopFree
Alba Silvente Fuentes
Roberto Butti
2 authors
Esta masterclass de SvelteKit explora la integración de servicios de terceros, como Storyblok, en un proyecto SvelteKit. Los participantes aprenderán cómo crear un proyecto SvelteKit, aprovechar los componentes de Svelte y conectarse a APIs externas. La masterclass cubre conceptos importantes incluyendo SSR, CSR, generación de sitios estáticos y despliegue de la aplicación usando adaptadores. Al final de la masterclass, los asistentes tendrán una sólida comprensión de la construcción de aplicaciones SvelteKit con integraciones de API y estarán preparados para el despliegue.