¿Cómo intenta el equipo de TypeScript evitar efectos negativos en el ecosistema de JS?

Rate this content
Bookmark

TypeScript se está convirtiendo en una de las formas dominantes en las que la gente escribe JavaScript. El objetivo de TypeScript es complementar y no reemplazar a JavaScript, por lo que ¿cómo asegura el equipo que el futuro de JS siempre sea JS?

FAQ

El objetivo principal de TypeScript es trabajar en conjunto con JavaScript, alineándose con las propuestas actuales y futuras de JavaScript, sin agregar sobrecarga en tiempo de ejecución ni cambiar el código JavaScript de entrada.

TypeScript tiene un gran impacto en la industria de JavaScript, ya que su popularidad y su integración con herramientas como Visual Studio y VS Code ayudan a definir cómo se desarrollan y mantienen grandes bases de código, y cómo los desarrolladores interactúan con JavaScript.

Los principios de diseño de TypeScript incluyen no imponer sobrecarga de tiempo de ejecución, alinear con propuestas de JavaScript, preservar el comportamiento de código JavaScript, y utilizar un sistema de tipos estructurales y completamente borrables.

TypeScript utiliza inferencia de tipos y sistemas diseñados para identificar código potencialmente erróneo, proporcionando herramientas para corregirlos antes de que causen problemas en la ejecución.

TypeScript fue creado en parte para resolver problemas de manejo de grandes bases de código en Microsoft y también sirve como una forma de publicidad para Microsoft, incentivando el uso de otros productos como Azure.

TypeScript y TC-39 trabajan de forma colaborativa. TC-39 es un comité que discute el futuro de JavaScript y TypeScript contribuye como un miembro más, ayudando a alinear los objetivos de TypeScript con los de JavaScript.

A diferencia de otros intentos, TypeScript se enfoca exclusivamente en mejorar la gestión de tipos sin modificar la sintaxis base de JavaScript, lo que permite una migración y compatibilidad más fluidas con el ecosistema de JavaScript existente.

TypeScript actúa como un laboratorio de pruebas para nuevas características, donde pueden ser refinadas y probadas en un entorno de desarrollo antes de ser consideradas para inclusión en el estándar JavaScript por TC-39.

Orta Therox
Orta Therox
33 min
18 Jun, 2021

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La influencia de TypeScript en el ecosistema de JavaScript y su alineación con los objetivos y principios de JavaScript. El impacto de TypeScript en la industria y su popularidad entre los programadores de JavaScript. El objetivo de TypeScript de innovar en tipos sin introducir nuevos conceptos en JavaScript. Los desafíos de ejecutar TypeScript en el código de otras personas y convertirlo en un lenguaje nativo del navegador. La compatibilidad de TypeScript con JavaScript y su objetivo de ser una capa delgada sobre JavaScript. Los esfuerzos para mejorar el soporte para JS y la documentación de JS, y los puntos problemáticos de la transición a TypeScript. El trabajo de accesibilidad en TypeScript y la ausencia de competidores reales en el mercado.

1. Introducción a TypeScript y su Influencia

Short description:

En esta parte, discutiremos la influencia de TypeScript en el ecosistema de JavaScript y cómo el equipo de TypeScript tiene como objetivo alinear TypeScript y JavaScript para crear soluciones innovadoras. También exploraremos el intento de reemplazar JavaScript con TypeScript y obtendremos información sobre los objetivos y principios del equipo de TypeScript. ¡Vamos a sumergirnos!

Muy bien, comencemos a apostar por TypeScript. Así que voy a intentar hablar un poco sobre la influencia de TypeScript en el ecosistema de JavaScript, ya sabes, cómo el equipo de TypeScript trata de limitarse para asegurarse de que, ya sabes, TypeScript y JavaScript sean aliados en el intento de crear cosas geniales en JavaScript. Y luego, ¿cómo sería si hubiera un intento de usurpar JavaScript a través de TypeScript por parte del equipo de Microsoft? Con suerte, con todo esto, todos saldremos un poco más inteligentes y tendremos ideas diferentes sobre cómo todas las piezas encajan. Bien, entonces empecemos. Mi nombre es Ohto the Rocks. He estado trabajando en proyectos de código abierto a gran escala durante mucho tiempo, comenzando con un administrador de dependencias para iOS. Pasando a esta herramienta cultural en muchos lenguajes de programación diferentes que te permite crear reglas de linter en torno a cómo funciona la etiqueta de solicitud de extracción. Y pasé mucho tiempo, recientemente, trabajando en la era de TypeScript, tratando de descubrir cómo construir herramientas complicadas para ello y cómo todas estas piezas encajan. Eso eventualmente me llevó a trabajar a tiempo completo en TypeScript. Y ahora eso significa que tengo mucha perspicacia que creo que sería súper útil y es algo único. Así que voy a intentar hablar sobre cómo todo eso se une. Los objetivos de esta charla son tratar de hacerla un poco diferente a tu charla promedio sobre TypeScript. La mayoría de las charlas sobre TypeScript intentan hablar sobre qué características son útiles o, ya sabes, cómo proporcionar herramientas útiles para el editor, cosas así. Pero esta charla, en realidad, da un paso atrás y trata de pensar en cómo TypeScript afecta a toda la industria. Y tú sabes, lo que el equipo de TypeScript hace para asegurarse de que eso sea completamente copacético. Así que prepárate y lo pasaremos bien. Para empezar, hablaremos un poco sobre el equipo de TypeScript, si no lo sabes. Somos aproximadamente ocho personas que trabajan en el compilador, y alrededor de 20 personas en total. Eso incluye a los gestores de proyectos. Y hay otro equipo completo cuyo trabajo es manejar la integración con Visual Studio, no Visual Studio Code, lo cual es bastante considerable. Y hacen una gran cantidad de seguimiento de errores y se aseguran de que TypeScript tenga la menor cantidad de errores posible. El equipo en sí tiene algunos objetivos a largo plazo y principios. Los dos documentos principales al respecto, son los principios de funcionamiento. Estos tratan de describir, ya sabes, qué representa el proyecto de TypeScript. Entonces, ¿cuál es el objetivo a largo plazo? ¿Cómo nos percibimos en relación a otros lenguajes de programación en comparación con otros lenguajes de programación similares a JavaScript que se transpilan a JavaScript? Estos simplemente dicen, como, ya sabes, así es como nos definimos. Y luego el otro, y potencialmente el más interesante para esta charla, los objetivos de diseño de TypeScript. Hay mucho aquí. Así que lo dividiremos en dos. Así que hay objetivos de diseño para interactuar con JavaScript, ¿verdad? Imponer ningún overhead en tiempo de ejecución en los programas generados es un lenguaje técnico para decir simplemente que, si pones JavaScript en TypeScript, obtienes

2. Influencia y Popularidad de TypeScript

Short description:

TypeScript se alinea con las propuestas actuales y futuras de JavaScript, preservando el comportamiento en tiempo de ejecución y evitando nueva sintaxis. Se enfoca en la inferencia para encontrar errores y hacer que el código sea más mantenible. La popularidad de TypeScript es evidente en su amplio uso entre los programadores de JavaScript. Resuelve problemas reales en bases de código grandes y sirve como una excelente publicidad para Microsoft. El éxito de TypeScript contribuye al crecimiento del ecosistema de desarrollo de Microsoft.

JavaScript de nuevo y no cambiamos las cosas. Y luego el siguiente es alinear con las propuestas actuales y futuras de JavaScript. Así que no crees tu propio lenguaje que se sienta como JavaScript pero haga algo diferente. Y mantente actualizado con los cambios de JavaScript. Hablaremos un poco más sobre eso más adelante. Preservar el comportamiento en tiempo de ejecución de todo el código de JavaScript. También se refiere a la misma idea de JavaScript de entrada y salida. Evitar agregar sintaxis a nivel de expresión, profundizaremos más en esto más adelante. Y utilizar un sistema de tipos estructurales consistentes y completamente borrables. También algo de lo que hablaremos más adelante. Y luego, por otro lado, tienes a JavaScript y luego tienes los tipos. Que son los tipos de TypeScript. Y, ya sabes, TypeScript tiene una forma única de abordar los sistemas de tipos porque no puede crear nueva sintaxis de manera realista, dentro de ciertas limitaciones para ayudar a hacer los patrones de diseño existentes. Así que TypeScript trata de hacer todo lo posible a través de la inferencia. Y su objetivo es encontrar específicamente código que probablemente sea erróneo y proporcionar sistemas para trabajar en ello, en lugar de crear nuevas ideas y nuevos paradigmas en los que las personas puedan escribir código. La idea es, en cambio, hacer que sea más fácil encontrar código incorrecto en lugar de empujar a las personas en una dirección particular.

Además de eso, ya sabes, puedo hablar sobre cómo TypeScript influye en la industria, pero tienes que entender lo grande que es TypeScript para tener una idea de esto. Entonces, ¿qué hace que TypeScript sea grande? Creo que una encuesta reciente que es bastante útil es Stackoverflow. Stackoverflow es un sitio web donde puedes hacer preguntas. Pero una de las cosas interesantes aquí es que no es un ecosistema de desarrolladores específico de JavaScript. Es un sitio que todos los desarrolladores utilizan en casi todos los lenguajes de programación. Entonces, cuando ves los resultados de este tipo de encuestas, sabes que no están directamente orientados a un tipo específico de desarrollador. A la izquierda, puedes ver que TypeScript es el segundo lenguaje más querido en el mundo. Y a la derecha, puedes ver que, básicamente, uno de cada tres programadores de JavaScript también está utilizando TypeScript. Eso es mucho. Hay un montón de programadores de JavaScript, así que debe haber un tercio de un montón de programadores de TypeScript. Y, ya sabes, es posible que te preguntes, bueno, es popular, a la gente le gusta. También hay, como, una pregunta que siempre me hago, que es, ¿cómo se financia TypeScript? ¿Y por qué se creó? Bueno, en parte, porque resuelve problemas reales en la construcción de bases de código grandes en Microsoft y la otra parte es una increíble publicidad para Microsoft. Como, ya sabes, las personas se introducen en los entornos de desarrollo de Microsoft fuera de Windows ahora a través de VS Code y TypeScript, y luego continúan desde allí y piensan, huh, si VS Code funciona bien y TypeScript funciona bien, entonces, tal vez Azure también funcione bien. Oh, el perro ha bajado. Entonces, ya sabes, si quieres más TypeScript

QnA

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

Escalando con Remix y Micro Frontends
Remix Conf Europe 2022Remix Conf Europe 2022
23 min
Escalando con Remix y Micro Frontends
Top Content
¿Tienes un producto grande construido por muchos equipos? ¿Estás luchando para lanzar a menudo? ¿Se convirtió tu frontend en un monolito inmantenible masivo? Si, como yo, has respondido sí a cualquiera de esas preguntas, ¡esta charla es para ti! Te mostraré exactamente cómo puedes construir una arquitectura de micro frontend con Remix para resolver esos desafíos.
Componentes de Full Stack
Remix Conf Europe 2022Remix Conf Europe 2022
37 min
Componentes de Full Stack
Top Content
Remix es un marco de trabajo web que te ofrece el modelo mental simple de una aplicación de múltiples páginas (MPA) pero el poder y las capacidades de una aplicación de una sola página (SPA). Uno de los grandes desafíos de las SPA es la gestión de la red que resulta en una gran cantidad de indirecciones y código defectuoso. Esto es especialmente notable en el estado de la aplicación que Remix elimina por completo, pero también es un problema en los componentes individuales que se comunican con un punto final de backend de un solo propósito (como una búsqueda de combobox, por ejemplo).
En esta charla, Kent demostrará cómo Remix te permite construir componentes de interfaz de usuario complejos que están conectados a un backend de la manera más simple y poderosa que hayas visto. Dejándote tiempo para relajarte con tu familia o lo que sea que hagas para divertirte.
TypeScript y React: Secretos de un matrimonio feliz
React Advanced Conference 2022React Advanced Conference 2022
21 min
TypeScript y React: Secretos de un matrimonio feliz
Top Content
TypeScript y React son inseparables. ¿Cuál es el secreto de su exitosa unión? Bastante código extrañamente extraño. Aprende por qué useRef siempre se siente extraño, cómo manejar los genéricos en los hooks personalizados y cómo los tipos de unión pueden transformar tus componentes.
Haciendo JavaScript en WebAssembly Rápido
JSNation Live 2021JSNation Live 2021
29 min
Haciendo JavaScript en WebAssembly Rápido
Top Content
JavaScript en el navegador se ejecuta muchas veces más rápido de lo que lo hacía hace dos décadas. Y eso sucedió porque los proveedores de navegadores pasaron ese tiempo trabajando en intensivas optimizaciones de rendimiento en sus motores JavaScript.Debido a este trabajo de optimización, JavaScript ahora se está ejecutando en muchos lugares además del navegador. Pero todavía hay algunos entornos donde los motores JS no pueden aplicar esas optimizaciones de la manera correcta para hacer las cosas rápidas.Estamos trabajando para resolver esto, comenzando una nueva ola de trabajo de optimización de JavaScript. Estamos mejorando el rendimiento de JavaScript para entornos completamente diferentes, donde se aplican reglas diferentes. Y esto es posible gracias a WebAssembly. En esta charla, explicaré cómo funciona todo esto y qué vendrá a continuación.
Depuración de JS
React Summit 2023React Summit 2023
24 min
Depuración de JS
Top Content
Como desarrolladores, pasamos gran parte de nuestro tiempo depurando aplicaciones, a menudo código que ni siquiera escribimos. Lamentablemente, a pocos desarrolladores se les ha enseñado cómo abordar la depuración, es algo que la mayoría de nosotros aprendemos a través de la experiencia dolorosa. La buena noticia es que _puedes_ aprender a depurar de manera efectiva, y hay varias técnicas y herramientas clave que puedes usar para depurar aplicaciones de JS y React.
Los tipos más útiles de React
React Day Berlin 2023React Day Berlin 2023
21 min
Los tipos más útiles de React
Top Content
No pensamos en React como si tuviera sus propios tipos. Pero los tipos de React son una parte fundamental del marco de trabajo - supervisados por el equipo de React, y coordinados con las principales lanzamientos de React.En esta charla de codificación en vivo, veremos todos los tipos que te has estado perdiendo. ¿Cómo obtienes el tipo de props de un componente? ¿Cómo sabes qué ref toma un componente? ¿Deberías usar React.FC? ¿Y qué pasa con JSX.Element?Te irás con un montón de ideas emocionantes para llevar a tus aplicaciones de React, y esperamos que con una nueva apreciación por las maravillas de React y TypeScript trabajando juntos.

Workshops on related topic

React, TypeScript y TDD
React Advanced Conference 2021React Advanced Conference 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.
Mejores Prácticas y Consejos Avanzados de TypeScript para Desarrolladores de React
React Advanced Conference 2022React Advanced Conference 2022
148 min
Mejores Prácticas y Consejos Avanzados de TypeScript para Desarrolladores de React
Top Content
Featured Workshop
Maurice de Beijer
Maurice de Beijer
¿Eres un desarrollador de React tratando de obtener los máximos beneficios de TypeScript? Entonces esta es la masterclass para ti.En esta masterclass interactiva, comenzaremos desde lo básico y examinaremos los pros y contras de las diferentes formas en que puedes declarar componentes de React usando TypeScript. Después de eso, pasaremos a conceptos más avanzados donde iremos más allá de la configuración estricta de TypeScript. Aprenderás cuándo usar tipos como any, unknown y never. Exploraremos el uso de predicados de tipo, guardias y comprobación exhaustiva. Aprenderás sobre los tipos mapeados incorporados, así como cómo crear tus propias utilidades de mapa de tipo nuevo. Y comenzaremos a programar en el sistema de tipos de TypeScript usando tipos condicionales e inferencia de tipos.
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
React Day Berlin 2022React Day Berlin 2022
86 min
Uso de CodeMirror para construir un editor de JavaScript con Linting y AutoCompletado
Top Content
WorkshopFree
Hussien Khayoon
Kahvi Patel
2 authors
Usar una biblioteca puede parecer fácil a primera vista, pero ¿cómo eliges la biblioteca correcta? ¿Cómo actualizas una existente? ¿Y cómo te abres camino a través de la documentación para encontrar lo que quieres?
En esta masterclass, discutiremos todos estos puntos finos mientras pasamos por un ejemplo general de construcción de un editor de código usando CodeMirror en React. Todo mientras compartimos algunas de las sutilezas que nuestro equipo aprendió sobre el uso de esta biblioteca y algunos problemas que encontramos.
Consejos y Trucos Profundos de TypeScript
Node Congress 2024Node Congress 2024
83 min
Consejos y Trucos Profundos de TypeScript
Top Content
Workshop
Josh Goldberg
Josh Goldberg
TypeScript tiene un sistema de tipos poderoso con todo tipo de características sofisticadas para representar estados de JavaScript salvajes y extravagantes. Pero la sintaxis para hacerlo no siempre es sencilla, y los mensajes de error no siempre son precisos al decirte qué está mal. Vamos a profundizar en cómo funcionan muchas de las características más poderosas de TypeScript, qué tipos de problemas del mundo real resuelven, y cómo dominar el sistema de tipos para que puedas escribir código TypeScript verdaderamente excelente.
Pruebas de Aplicaciones Web utilizando Cypress
TestJS Summit - January, 2021TestJS Summit - January, 2021
173 min
Pruebas de Aplicaciones Web utilizando Cypress
WorkshopFree
Gleb Bahmutov
Gleb Bahmutov
Este masterclass te enseñará los conceptos básicos de cómo escribir pruebas de extremo a extremo utilizando Cypress Test Runner.
Cubriremos la escritura de pruebas, abarcando todas las características de la aplicación, estructurando las pruebas, interceptando solicitudes de red y configurando los datos del backend.
Cualquier persona que conozca el lenguaje de programación JavaScript y tenga NPM instalado podrá seguir el masterclass.
Construye un potente DataGrid en pocas horas con Ag Grid
React Summit US 2023React Summit US 2023
96 min
Construye un potente DataGrid en pocas horas con Ag Grid
WorkshopFree
Mike Ryan
Mike Ryan
¿Tu aplicación React necesita mostrar eficientemente muchos (y muchos) datos en una cuadrícula? ¿Tus usuarios quieren poder buscar, ordenar, filtrar y editar datos? AG Grid es la mejor cuadrícula de JavaScript en el mundo y está llena de características, es altamente eficiente y extensible. En esta masterclass, aprenderás cómo empezar con AG Grid, cómo podemos habilitar la ordenación y el filtrado de datos en la cuadrícula, la representación de celdas y más. Saldrás de esta masterclass gratuita de 3 horas equipado con el conocimiento para implementar AG Grid en tu aplicación React.
Todos sabemos que crear nuestra propia solución de cuadrícula no es fácil, y seamos honestos, no es algo en lo que deberíamos estar trabajando. Estamos enfocados en construir un producto e impulsar la innovación. En esta masterclass, verás lo fácil que es empezar con AG Grid.
Prerrequisitos: React y JavaScript básicos
Nivel de la masterclass: Principiante