El asesino secreto de React Native de Snapchat

Durante 8 años, Snapchat construyó en secreto un marco para reemplazar React Native. Ahora que es público, la mayor pregunta es si ya está obsoleto.

Stork.AI
Hero image for: El asesino secreto de React Native de Snapchat
💡

TL;DR / Key Takeaways

Durante 8 años, Snapchat construyó en secreto un marco para reemplazar React Native. Ahora que es público, la mayor pregunta es si ya está obsoleto.

La bomba de ocho años en preparación.

Ocho años después de enviar en silencio código a cientos de millones de usuarios, Valdi finalmente ha salido a la luz. El marco multiplataforma desarrollado internamente por Snapchat, que antes era solo un experimento interno para mantener las Historias fluidas en teléfonos Android antiguos, ahora es un proyecto de código abierto que promete revolucionar la forma en que se construyen las aplicaciones "nativas".

En su esencia, Valdi ofrece una propuesta simple pero agresiva: escribe tu aplicación en TypeScript y publícala como código nativo en iOS, Android y macOS. Sin WebViews, sin motor JavaScript en tiempo de ejecución, sin intercambio de JSON entre hilos. Tu interfaz de usuario con sabor a JSX se compila en vistas nativas de la plataforma, con diseños impulsados por Yoga y píxeles gestionados por Skia.

Las pilas tradicionales multiplataforma, como los primeros React Native, dependían de un puente de JavaScript que pasaba mensajes entre el hilo de JS y la capa nativa, a menudo cientos de veces por cuadro. Cada actualización de propiedad, gesto o cambio de diseño tenía que cruzar esa frontera, introduciendo latencia, desincronización y sobrecarga de memoria. Valdi elude toda esa arquitectura al eliminar el puente en el momento de la construcción.

En lugar de un entorno de ejecución de JS de larga duración, Valdi se apoya en Bazel para orquestar la compilación de TypeScript directamente en módulos nativos. Los diseños utilizan el motor C++ Yoga para un comportamiento de Flexbox consistente, mientras que Skia renderiza gráficos 2D de alto rendimiento en todas las plataformas. El resultado se comporta como una aplicación nativa de primera clase: vistas de UIKit y AppKit en plataformas de Apple, vistas reales de Android en el lado de Google.

La experiencia del desarrollador tiene como objetivo igualar o superar las configuraciones modernas de React Native y Flutter. Valdi soporta la recarga instantánea, lo que permite que los ajustes de la interfaz de usuario aparezcan en milisegundos, e integra con VS Code para una depuración completa, incluyendo puntos de interrupción y análisis de rendimiento. Los propios equipos de Snapchat han utilizado este ciclo durante años para lanzar funciones de cámara, chat y Descubrir sin necesidad de recurrir a Swift o Kotlin para cada cambio.

La aparición de este proyecto de código abierto ha provocado exactamente la reacción que uno esperaría en 2025: emoción matizada por desconfianza. Los primeros adoptantes elogian la sensación de "React, pero realmente nativo" y la promesa de una única base de código en TypeScript que abarque teléfonos y escritorios. Los escépticos señalan los aspectos poco pulidos en el instalador, el control opaco de la hoja de ruta por parte de Snapchat, y una pregunta directa que sobrevuela cada issue en GitHub: ¿por qué apostar por Valdi cuando React Native y Flutter ya dominan?

Un Fantasma en la Máquina: Por Qué Nació Valdi

Ilustración: Un Fantasma en la Máquina: Por Qué Nació Valdi
Ilustración: Un Fantasma en la Máquina: Por Qué Nació Valdi

React Native en 2017 parecía más una promesa experimental que una base para una red social centrada en la cámara con más de 400 millones de usuarios diarios. El marco de Facebook se lanzó sin soporte para escritorio, con herramientas inmaduras y un modelo de ejecución que enviaba cada actualización de la interfaz de usuario a través de un puente de JavaScript que funcionaba en un hilo separado. Para las empresas que apostaban toda su experiencia de usuario en interacciones fluidas a 60 fps, ese puente era un pasivo, no una característica.

Cada gesto, desplazamiento y animación en React Native temprano tenía que serializar propiedades y eventos en cargas útiles similares a JSON, enviarlos a través del puente y luego deserializarlos en el lado nativo. Ese costo de marshalling se traducía en interrupciones, fotogramas perdidos y condiciones de carrera difíciles de depurar. Añadir un entorno de ejecución de JS que consume mucha memoria encima de las vistas nativas resultaba en dos mundos sincronizando el estado constantemente en lugar de una aplicación coherente.

La dirección del producto de Snapchat hizo que esos compromisos fueran inaceptables. La aplicación se basó en video de pantalla completa, navegación por gestos complejos y transiciones de interfaz efímeras que penalizaban cualquier aumento de latencia. Los ingenieros necesitaban tiempos de cuadro predecibles, límites de memoria ajustados en teléfonos Android de gama baja y un código de interfaz que se comportara como Swift o Kotlin nativos, mientras que aún permitía a los equipos de funciones iterar a la velocidad de JavaScript.

React Native en esa época también omitió clases enteras de plataforma que a Snapchat le interesaban. No había una historia creíble para macOS, no hubo compilación a vistas de AppKit y no existía un camino para reutilizar la misma capa de UI en iOS, Android y un cliente de escritorio interno. La concurrencia verdadera seguía siendo teórica; el trabajo en segundo plano aún pasaba a través de un único bucle de eventos de JS ya sobrecargado con lógica de negocio y diseño.

Así que Snap tomó una decisión estratégica: dejar de esperar a que el ecosistema madurara. En lugar de arriesgarse con la hoja de ruta de React Native, la empresa invirtió en Valdi, un marco prioritario en TypeScript que se compilaba directamente a código nativo y se comunicaba con el sistema operativo sin un puente. Bazel orquestaba construcciones multiplataforma, Yoga estandarizaba el diseño, y Skia se encargaba del renderizado, pero las decisiones arquitectónicas surgieron del propio dolor de rendimiento de Snap.

Esa apuesta interna permitió a Snapchat optimizar para su carga de trabajo exacta—cámara rápida, feeds de desplazamiento infinito y animaciones pesadas—años antes de que React Native obtuviera Fabric, arquitecturas sin puente o ambiciones serias en el escritorio.

Bajo el Capó: Deconstruyendo el Motor de Valdi

El nuevo marco de Snapchat oculta un sorprendentemente potente motor. Debajo de la interfaz de usuario en tonos pastel y el icono fantasma se encuentra un conjunto construido alrededor de Bazel, Yoga y Skia, el mismo tipo de maquinaria robusta que impulsa las infraestructuras a gran escala de Google y el conjunto gráfico de Chrome. Valdi transforma ese conjunto en una línea de producción de front-end para iOS, Android y macOS.

Bazel se sitúa en el centro como el orquestador de compilaciones. Procesa TypeScript, paquetes de activos y código nativo, y luego genera binarios específicos de plataforma con compilaciones reproducibles y un almacenamiento en caché agresivo. Esa elección permite que Valdi escale desde un selector de lentes de prototipo hasta una aplicación de varios millones de líneas sin ahogar a los ingenieros en configuraciones frágiles de Xcode o Gradle.

El diseño se basa en Yoga, el motor de Flexbox probado de Facebook. En lugar de reimplementar el diseño tres veces, Valdi alimenta a Yoga con un árbol agnóstico a la plataforma que describe propiedades flexibles, márgenes y alineación. La misma matemática de diseño impulsa UIKit, Android Views y AppKit, lo que mantiene la interfaz de usuario de Snapchat consistente en píxeles en teléfonos, tabletas y computadoras de escritorio.

La representación se basa en Skia, el motor de gráficos 2D detrás de Chrome y Android. Valdi puede mapear componentes de alto nivel a vistas nativas o dibujar directamente en superficies de Skia para controles personalizados, sombreadores y animaciones. Esa estrategia híbrida le permite combinar botones estándar con interfaces de usuario altamente personalizadas de la era de AR sin recurrir a vistas web.

Desde la perspectiva de un desarrollador, todo comienza como clases de TypeScript con JSX. Escribes algo que se asemeja sospechosamente a un componente de React: métodos como onCreate y onRender que devuelven etiquetas JSX. Luego, Bazel compila TypeScript a una representación intermedia, convierte JSX en un árbol de vistas y conecta ese árbol a jerarquías de vistas nativas de la plataforma.

Valdi genera con anticipación enlaces nativos para cada propiedad, evento y estilo. Eso significa que no hay reflexión dinámica ni transporte de JSON en tiempo de ejecución. La información de tipo fluye de TypeScript a Swift, Kotlin y encabezados de C++, para que el compilador pueda insertar en línea rutas críticas y eliminar código muerto.

C++ se encuentra en el corazón del motor de diseño y comparación. Los caminos críticos—reconciliación de árboles, llamadas de Yoga, despacho de dibujos de Skia—se ejecutan en C++ en el hilo principal con un mínimo de marshaling. En lugar de serializar propiedades a través de un puente, Valdi pasa punteros en crudo y estructuras ajustadas, reduciendo el sobrecosto por cuadro a microsegundos.

Compáralo con los entornos basados en JavaScript como los primeros React Native. Esos stacks enviaban el diseño y la lógica a través de un puente de JS, pagando un costo de serialización cada vez que un botón se movía o una lista se desplazaba. El modelo de Valdi, que se adelanta al tiempo, intercambia la flexibilidad en tiempo de ejecución por un rendimiento determinista y una presión de GC mucho menor.

Esta arquitectura se asemeja más a un motor de juegos que a un contenedor de vista web. La recarga en caliente sigue funcionando: Bazel y el tiempo de ejecución intercambian módulos de TypeScript actualizados en el shell nativo, pero el artefacto final que se envía se ejecuta sin ninguna máquina virtual de JavaScript. Para aquellos que deseen estudiar los entresijos, Valdi - Repositorio Oficial de GitHub expone el gráfico de construcción completo, el núcleo en C++ y las herramientas de TypeScript.

El Doble de React: Un Rostro Familiar

Los desarrolladores de React pueden abrir un archivo Valdi y casi olvidar que cambiaron de framework. Los componentes se asemejan a los antiguos componentes de clase de React, con métodos de estilo ciclo de vida como `onCreate` y `onRender` en lugar de `componentDidMount` y `render`. El estado vive en `this`, los métodos están ligados a la clase y la interfaz de usuario se devuelve desde `onRender` como JSX.

JSX en Valdi no pinta nodos del DOM virtual. Se compila directamente a vistas nativas de iOS, Android y macOS, con Yoga gestionando el diseño. Los desarrolladores escriben propiedades al estilo Flexbox como `flexDirection`, `justifyContent` y `alignItems` que se sienten como CSS, pero el proceso las transforma en instrucciones de diseño de bajo nivel.

Un diseño de Valdi para un elemento de feed podría usar JSX con propiedades como `padding`, `margin` y `borderRadius` en componentes que se mapean a vistas nativas. En el fondo, Yoga calcula posiciones y tamaños de manera idéntica en todas las plataformas, mientras que Skia renderiza gráficos 2D donde se necesita un dibujo personalizado. El resultado se comporta como un árbol de React, pero funciona como un motor de interfaz de usuario en C++.

Snapchat claramente se dirigió a ingenieros web que ya hablan TypeScript y JSX. En lugar de aprender UIKit, Jetpack Compose y AppKit, los desarrolladores continúan escribiendo componentes, props y decoradores. Esa elección de diseño reduce la barrera para que los equipos de JavaScript y front-end envíen funciones nativas sin tener que reescribir su modelo mental.

La experiencia del desarrollador está en el centro de la propuesta de Valdi. La recarga instantánea permite enviar cambios en TypeScript a un simulador o dispositivo en funcionamiento en milisegundos, evitando las recompilaciones nativas completas que pueden tardar de 30 a 90 segundos en Xcode o Android Studio. El estado a menudo sobrevive a las recargas, por lo que ajustar el diseño o el comportamiento se siente más como editar una aplicación web.

El soporte completo de depuración en VS Code completa el acto del doppelgänger de React. Los ingenieros establecen puntos de interrupción en TypeScript, inspeccionan variables y avanzan paso a paso a través de la lógica del componente Valdi mientras la aplicación compilada se ejecuta en iOS, Android o macOS, difuminando la línea entre las herramientas web y la ejecución nativa.

Velocidad nativa sin el dolor nativo.

Ilustración: Velocidad Nativa Sin Dolor Nativo
Ilustración: Velocidad Nativa Sin Dolor Nativo

Los frameworks nativos se obsesionan con reciclar celdas de vista de tabla y diseños composables; Valdi integra esa mentalidad en cada componente. En lugar de dejar el reutilizo a pantallas individuales, Valdi mantiene una piscina global de vistas nativas de las que cualquier lista, cuadrícula o carrusel puede obtener y devolver. Eso significa menos asignaciones, menos rotación en el asignador y menos presión sobre el recolector de basura en Android.

El reciclaje automático de vistas ocurre a nivel de framework, no como un patrón que recuerdas implementar. Cuando un componente se desplaza fuera de la pantalla, Valdi lo desacopla, restablece sus propiedades y lo devuelve al grupo. Los nuevos elementos sacan de ese grupo, por lo que incluso un feed de 10,000 elementos reutiliza un pequeño conjunto fijo de instancias de vista nativas.

El renderizado consciente del viewport lleva esto aún más lejos. Valdi rastrea qué componentes intersectan el viewport visible y solo monta esos, junto con un pequeño búfer arriba y abajo. Cualquier cosa fuera de esa ventana pausa las actualizaciones e incluso puede deshidratarse a una representación liviana.

Los feeds de desplazamiento infinito se convierten en la norma, no en un proyecto de rendimiento. Un carril de Descubrimiento al estilo de Snapchat o un feed vertical al estilo de Spotlight pueden transmitir contenido ilimitado mientras solo muestra unas pocas docenas de vistas en vivo en cualquier momento. Combinado con la renderización de Skia, el rendimiento de desplazamiento se acerca a 60 fps en hardware Android de gama media sin ajustes personalizados.

Los ciclos de renderizado de componentes independientes le dan a Valdi otra ventaja. Cada componente tiene su propio bucle de renderizado, por lo que actualizar un hijo no desencadena automáticamente un diferencial en el padre, y viceversa. Eso rompe la "cascada de actualizaciones" que afecta a los árboles de React y React Native mal ajustados.

El programador de Valdi puede priorizar actualizaciones impulsadas por la entrada—como un gesto de arrastre o la entrada de texto—sobre las re-renderizaciones en segundo plano de baja prioridad. Una burbuja de mensaje de chat que se anima al entrar no obliga a toda la lista de conversaciones a reconciliarse. El resultado: menos pasadas de diseño, menos llamadas de medición y un presupuesto de fotogramas más predecible.

En contra de una aplicación nativa moderna y optimizada desarrollada en SwiftUI o Jetpack Compose, las ganancias teóricas de Valdi provienen de tres capas a la vez. Combina: - Agrupación global de vistas - Montaje consciente del área visible - Ciclos de renderizado de componentes desacoplados

SwiftUI puede renderizar listas de manera perezosa, y Compose puede reciclar internamente, pero los equipos de aplicaciones aún reimplementan patrones como la reutilización de celdas, ventanas de paginación y actualizaciones restringidas. Valdi centraliza esas decisiones en el marco. En teoría, eso permite que un pequeño equipo lance un feed multiplataforma que se comporta como uno nativo afinado a mano, sin necesidad de escribir un solo reciclador o algoritmo de diferencia personalizado.

El mundo siguió adelante: La venganza de React Native

React Native en 2025 apenas se parece al marco que Snapchat evaluó hace ocho años. Meta eliminó el famoso puente de JavaScript, reemplazándolo con un núcleo unificado en C++ que se comunica directamente con las vistas nativas. La latencia disminuyó, el uso de memoria se estabilizó y el “jank” pasó de ser una suposición por defecto a un error de rendimiento.

Fabric, la moderna arquitectura de renderizado de React Native, realizó la mayor parte de ese trabajo pesado. En lugar de agrupar mensajes a través de un puente, Fabric mantiene un único árbol para React y la parte nativa, permitiendo un renderizado concurrente y una priorización detallada. Las características concurrentes de React 18 ahora fluyen directamente a las interfaces móviles, por lo que las actualizaciones en segundo plano ya no congelan el desplazamiento ni la entrada táctil.

Bajo Fabric, el diseño aún se basa en Yoga, pero con una integración más ajustada. Los cálculos de diseño se ejecutan en C++, son compartibles entre iOS, Android y Windows, y React Native puede precomputar o descartar trabajo cuando los componentes salen del área de visualización. Esa arquitectura aborda directamente la crítica de "sin verdadera concurrencia" que originalmente llevó a Snapchat hacia Valdi.

Microsoft cerró sin hacer ruido una de las mayores brechas de React Native: el soporte nativo para escritorio. React Native macOS y React Native Windows ahora se ofrecen como productos soportados, no como proyectos secundarios. Las aplicaciones complementarias de Office, Teams y Xbox se basan en estas tecnologías, demostrando que React Native puede apuntar al escritorio sin recurrir a Electron o vistas web.

La paridad de funciones entre plataformas ahora parece sorprendentemente completa. Una única base de código puede abarcar iOS, Android, Windows y macOS utilizando componentes compartidos, menús nativos y API de accesibilidad a nivel del sistema. Los equipos de desarrollo que antes mantenían tres o cuatro pilas de interfaz de usuario ahora consolidan rutinariamente a una, más una delgada capa de conexión entre plataformas.

La madurez del ecosistema podría ser la arma más poderosa de React Native contra Valdi. Expo ha evolucionado hacia una plataforma con todo incluido que ofrece: - Actualización Rápida para actualizaciones de código casi instantáneas - Actualizaciones OTA a través de EAS Update - SDKs preconstruidos para cámara, notificaciones y sensores

Alrededor de ese núcleo, un extenso mercado de bibliotecas—React Navigation, Reanimated, React Query, Lottie, y más—cubre la mayoría de las necesidades de las aplicaciones. La documentación ha mejorado, el soporte para TypeScript se ha consolidado, y empresas como Shopify, Coinbase y Walmart ahora lanzan aplicaciones de producción en React Native. Para cualquier persona que esté comparando opciones, la Documentación Oficial de Valdi ahora compite con un gigante en lugar de ser una herramienta experimental.

Un Comienzo Rocoso: La Paradoja de la Experiencia del Desarrollador

Instalar Valdi hoy se siente menos como obtener un SDK pulido y más como unirse a un piloto de herramientas internas. Oficialmente "beta", el marco se envía con bordes ásperos que aparecen tan pronto como ejecutas el primer `valdi init`. En macOS, tienes que manejar Bazel, SDKs de Android, toolchains de Xcode y versiones de Node antes de ver siquiera una pantalla de "Hola, mundo".

Los desarrolladores informan que el instalador de Valdi detecta incorrectamente o instala automáticamente las versiones de dependencia equivocadas. La guía de Better Stack encontró incompatibilidades en las herramientas de construcción de Android y en las configuraciones de TypeScript antes de renderizar una sola vista. Para un framework que promete "velocidad nativa, velocidad web", esta configuración frágil socava la promesa principal.

Los primeros adoptantes también enfrentan trampas extrañamente específicas. Los nombres de proyectos no pueden contener guiones; `my-app` falla silenciosamente mientras que `my_app` funciona bien, una restricción que se siente más como una convención interna que como una decisión de producto pública. Las suposiciones de ruta y los valores predeterminados codificados en duro se filtran desde el monorepo de Snapchat hacia las computadoras portátiles de los demás.

Sobre el papel, Valdi ofrece una experiencia de desarrollador premium: recarga instantánea, depuración completa en VS Code y compilaciones multiplataforma que “simplemente funcionan”. En la práctica, la beta se siente más como si estuvieras configurando tu propia cadena de herramientas alrededor de un motor potente pero caprichoso. Pasas tanto tiempo apaciguando a Bazel y Gradle como escribiendo JSX.

La documentación expone el mismo paradoja. Las guías oficiales cubren el camino fácil: configuración básica, vistas simples, algunos ganchos del ciclo de vida—pero se desvían rápidamente una vez que te adentras en módulos nativos personalizados, el uso avanzado de Skia o la integración de CI. Muchos casos extremos solo existen en la tradición interna de Snapchat o en fragmentos dispersos de la comunidad.

Valdi claramente necesita más "pruebas de combate" fuera de las paredes de Snap. La década de problemas en GitHub, respuestas en Stack Overflow y recetas de Expo de React Native aún no existe aquí, y sientes esa ausencia cada vez que un error oscuro de Bazel bloquea tu construcción.

Un Gigante Sin Ejército

Ilustración: Un Gigante Sin Ejército
Ilustración: Un Gigante Sin Ejército

Un solo marco, por más pulido que sea, no puede competir con una ventaja de un millón de desarrolladores. Valdi viene con internals impresionantes, pero casi no cuenta con un ecosistema. Sin la mente colectiva de Reddit, sin plantillas probadas en combate, sin una década de extraños casos que ya han sido resueltos por alguien en Bangalore a las 3 a.m.

El mayor arma de React Native ahora no es Fabric, Yoga o Expo; es la gravedad. Una enorme comunidad global produce interminables tutoriales en YouTube, cursos en Udemy y publicaciones en Medium, además de miles de paquetes de código abierto. El respaldo corporativo de Meta, Microsoft, Shopify y otros amplifica ese impulso con hojas de ruta a largo plazo y equipos pagados que arreglan errores que la mayoría de las personas nunca verá.

Busca “notificaciones push de React Native” y te inundas de opciones. Busca “notificaciones push de Valdi” hoy y en su mayoría obtienes la documentación propia de Snapchat y algunos repositorios experimentales. Para los equipos del mundo real, esa diferencia determina si un sprint se entrega a tiempo o se retrasa mientras alguien realiza ingeniería inversa de un puente nativo.

Los desarrolladores se apoyan en Stack Overflow tanto como en la documentación oficial. Con Valdi, casi no hay respuestas aceptadas, ni fragmentos canónicos, ni hilos de hace cinco años que expliquen por qué un diseño explota en una skin de OEM específica de Android. Cada problema corre el riesgo de convertirse en un proyecto de investigación de cero a uno en lugar de un rápido copiar y pegar de una marca verde.

Las bibliotecas de terceros forman el andamiaje del desarrollo moderno de aplicaciones. Los desarrolladores de React Native esperan: - Pilas de navegación con deep-linking integrado - Envoltorios de SDK de analíticas para Amplitude, Segment, Mixpanel - Componentes de pagos, autenticación y mapas de Stripe, Auth0, Google y más

Valdi hoy en día ofrece casi nada de eso, obligando a los equipos a volver a integraciones nativas personalizadas y enlaces de TypeScript para cada servicio que manejan.

Los marcos de una sola empresa siempre conllevan un riesgo existencial. Si las prioridades de Snapchat cambian—otro rediseño, otra apuesta por una plataforma—Valdi podría estancarse silenciosamente mientras sus problemas en GitHub se acumulan. Para una startup que elige un stack en 2025, apostar por un marco que efectivamente tiene un único usuario principal en producción se siente menos como adoptar una herramienta y más como atar tu hoja de ruta a la estrategia de producto de otra persona.

¿Por qué ahora? Analizando la apuesta de Snapchat.

Ocho años de uso interno le otorgan a Snapchat un lujo poco común: una infraestructura probada antes de la vigilancia pública. Valdi ha impulsado de manera discreta las experiencias centrales de Snapchat en iOS, Android y macOS, lo que sugiere que una de las motivaciones es simple: el marco finalmente ha cruzado un umbral de madurez donde la apertura de su código conlleva más ventajas que riesgos.

Lanzarse ahora también se alinea con un cambio más amplio en la industria hacia herramientas priorizando TypeScript. Valdi se apoya firmemente en TypeScript, JSX, decoradores, Bazel, Yoga y Skia, una pila que ahora se ve como algo convencional en lugar de experimental, lo que facilita a los desarrolladores externos entender y ampliar sin necesidad de una guía de Snapchat.

Teoría uno: Snapchat esperó hasta que Valdi se viera como un producto terminado, no como un proyecto de investigación. Ocho años de optimizaciones—agrupación global de vistas, reciclaje automático de vistas, recarga en caliente medida en milisegundos—permitieron a la compañía presentar a Valdi como una alternativa creíble en un mundo donde el Sitio Oficial de React Native ya publicita Fabric, renderizado concurrente y diseños respaldados por Yoga.

Teoría dos: Snapchat quiere ayuda gratuita para construir un ecosistema de componentes moderno. En este momento, Valdi se lanza con un conjunto relativamente limitado de primitivas de interfaz de usuario listas para producción en comparación con el océano de paquetes comunitarios de React Native, SDKs de Expo y kits de diseño de empresas como Microsoft y Shopify.

El crowdsourcing de esa brecha tiene sentido estratégico. Al abrir el código, Snapchat puede incentivar a agencias, startups y equipos internos de otras empresas a contribuir con todo, desde controles de formulario básicos hasta complejos widgets de accesibilidad, todo mientras Snapchat sigue dirigiendo el motor de ejecución y el motor de diseño central.

Las bibliotecas de componentes también envejecen rápidamente. Nuevas versiones de sistemas operativos, tendencias de diseño y normas de accesibilidad exigen actualizaciones constantes en tres plataformas. Delegar esa carga a los contribuyentes de código abierto permite a Snapchat centrarse en el rendimiento y la integración de la plataforma en lugar de rehacer sin cesar botones y carruseles.

Teoría tres: esto es una jugada de reclutamiento disfrazada de altruismo. Las aplicaciones de consumo de alto crecimiento luchan por ingenieros móviles senior, y un marco técnico brillante y ambicioso que compila TypeScript directamente a vistas nativas envía una señal clara sobre la cultura de ingeniería de Snapchat.

Publicar los internos de Valdi—pipelines de Bazel, uso de Yoga, rutas de renderizado de Skia—funciona como una pieza de portafolio en vivo. Los ingenieros que se preocupan por el renderizado de bajo nivel, la concurrencia y las cadenas de herramientas ahora tienen una razón para leer el código de Snapchat, informar problemas y, eventualmente, responder al correo de un reclutador.

El Veredicto: ¿Es Valdi Tu Próximo Framework?

La velocidad pura sigue estando del lado de Valdi. Compilar TypeScript directamente a vistas nativas, omitiendo por completo los puentes de JavaScript, ofrece feeds y carruseles de historias al nivel de Snapchat que se mantienen fluidos incluso bajo cargas de desplazamiento brutales, facilitado por el reciclaje automático de vistas y un grupo global de vistas. El renderizador Fabric de React Native y los TurboModules han cerrado gran parte de esa brecha, pero aún dirigen más lógica a través de un tiempo de ejecución gestionado y una extensa capa de abstracción.

React Native cuenta con un ecosistema que Valdi simplemente no tiene. Expo, React Navigation, React Query, Reanimated y miles de paquetes cubren todo, desde autenticación hasta edición de video, respaldados por millones de desarrolladores y aplicaciones de producción en Meta, Microsoft, Shopify y Coinbase. Valdi viene con un conjunto de componentes reducido, documentación escasa y un instalador en beta que puede mal detectar dependencias o fallar con algo tan trivial como un guion en el nombre de un proyecto.

Los equipos que deberían considerar seriamente a Valdi se encuentran en el extremo del rendimiento y el control. Si estás desarrollando una aplicación social con mucho contenido, un cliente de trading de alta frecuencia o un editor denso en gráficos donde cada cuadro perdido duele, el renderizado respaldado por Skia y los diseños nativos de Valdi pueden justificar el esfuerzo. También necesitas un personal que ya hable Bazel, conozca las internals de iOS/Android/macOS y que pueda permitirse parchar una cadena de herramientas joven en lugar de presentar un problema en GitHub y esperar.

La mayoría de los otros equipos deberían quedarse con React Native. Las startups, desarrolladores independientes y equipos de producto que compiten por un MVP se preocupan más por lanzar características que por reducir 5-10 ms en el diseño. Las herramientas de Expo de React Native, Fast Refresh, plantillas de CI maduras y bibliotecas probadas en combate reducen el riesgo y la fricción en la contratación de una manera que ningún framework de la era 1.0 puede igualar.

Valdi aterriza en 2025 como un fascinante artefacto de una era diferente de angustia multiplataforma. Su misión original—una interfaz de usuario sin puentes, de alto rendimiento y priorizando TypeScript para iOS, Android y macOS—ya no es única cuando React Native, Flutter e incluso SwiftUI junto con Kotlin Multiplatform abarcan el mismo espacio. Técnicamente, Valdi demuestra que un pequeño y enfocado equipo puede superar a la situación actual; estratégicamente, podría convertirse en un arma de nicho para empresas cuyos presupuestos de rendimiento son tan agresivos como los de Snapchat.

Preguntas Frecuentes

¿Cuál es el marco Valdi de Snapchat?

Valdi es un marco de interfaz de usuario multiplataforma desarrollado por Snapchat que compila TypeScript y JSX directamente a código nativo para iOS, Android y macOS, eliminando la necesidad de un puente de JavaScript.

¿Por qué Snapchat creó Valdi en lugar de usar React Native?

Snapchat creó Valdi hace 8 años porque React Native en ese momento tenía problemas de rendimiento debido a su puente de JavaScript, carecía de verdadera concurrencia y no contaba con soporte nativo para escritorio.

¿Cuál es la principal ventaja técnica de Valdi?

La principal ventaja de Valdi es su rendimiento. Compila directamente a código nativo y utiliza técnicas avanzadas como el reciclaje automático de vistas y el renderizado consciente del área de visualización, lo que puede dar lugar a aplicaciones más rápidas y eficientes.

¿Cuáles son los mayores riesgos de usar Valdi para un nuevo proyecto?

Los principales riesgos son la falta de una gran comunidad, la documentación inmadura y la incertidumbre sobre el soporte a largo plazo de Snapchat. En contraste, React Native es un ecosistema maduro con un amplio respaldo comunitario.

Frequently Asked Questions

El Veredicto: ¿Es Valdi Tu Próximo Framework?
La velocidad pura sigue estando del lado de Valdi. Compilar TypeScript directamente a vistas nativas, omitiendo por completo los puentes de JavaScript, ofrece feeds y carruseles de historias al nivel de Snapchat que se mantienen fluidos incluso bajo cargas de desplazamiento brutales, facilitado por el reciclaje automático de vistas y un grupo global de vistas. El renderizador Fabric de React Native y los TurboModules han cerrado gran parte de esa brecha, pero aún dirigen más lógica a través de un tiempo de ejecución gestionado y una extensa capa de abstracción.
¿Cuál es el marco Valdi de Snapchat?
Valdi es un marco de interfaz de usuario multiplataforma desarrollado por Snapchat que compila TypeScript y JSX directamente a código nativo para iOS, Android y macOS, eliminando la necesidad de un puente de JavaScript.
¿Por qué Snapchat creó Valdi en lugar de usar React Native?
Snapchat creó Valdi hace 8 años porque React Native en ese momento tenía problemas de rendimiento debido a su puente de JavaScript, carecía de verdadera concurrencia y no contaba con soporte nativo para escritorio.
¿Cuál es la principal ventaja técnica de Valdi?
La principal ventaja de Valdi es su rendimiento. Compila directamente a código nativo y utiliza técnicas avanzadas como el reciclaje automático de vistas y el renderizado consciente del área de visualización, lo que puede dar lugar a aplicaciones más rápidas y eficientes.
¿Cuáles son los mayores riesgos de usar Valdi para un nuevo proyecto?
Los principales riesgos son la falta de una gran comunidad, la documentación inmadura y la incertidumbre sobre el soporte a largo plazo de Snapchat. En contraste, React Native es un ecosistema maduro con un amplio respaldo comunitario.
🚀Discover More

Stay Ahead of the AI Curve

Discover the best AI tools, agents, and MCP servers curated by Stork.AI. Find the right solutions to supercharge your workflow.

Back to all posts