Y por supuesto, incluye conceptos muy interesantes como componentes DOM. Así que sí. Genial. Bueno, mencionaste RSC y creo que mientras veía tu charla, parecía que como paradigma es relativamente similar a los componentes de servidor, incluso advertir a las personas que solo pasen props serializables a través de la frontera. Y es muy similar a cómo ahora pensamos sobre la frontera del componente en los componentes de servidor de React. Así que dos preguntas sobre eso. Una, ¿hay algún tipo de conexión en términos de la implementación de la API? Y también, ¿podemos de alguna manera intercalar componentes nativos y DOM de la misma manera que podemos hacer con los componentes de servidor donde puedes pasar un componente de servidor como un hijo a un componente cliente, etcétera?
Sí, o sea, el diseño de la API está algo relacionado con RSC, ¿verdad? Donde tenemos una directiva para habilitar una propiedad diferente como un comportamiento diferente del componente en sí. Así que con RSC, tú, bueno, en realidad, estamos haciendo lo mismo, ¿verdad? Donde tenemos un contexto nativo, bueno, en este caso, el servidor. Y lo ejecutamos como conectamos o unimos dos cosas que están completamente separadas. Pero lo hacemos para que todo sea React. Así que puedes simplemente pasar props, puedes pasar algunas otras cosas y funciona en ambas plataformas. Ahora es algo similar. Quiero decir, ambos son una característica avanzada de empaquetado que estamos agregando a Metro. No diría que están usando exactamente el mismo código, pero están relacionados en ese sentido, sí.
Genial, y supongo que tenía curiosidad, como, ¿sería posible en el futuro ir en la otra dirección donde podrías simplemente, ya sabes, tener la mayor parte de tu aplicación siendo renderizada como un componente DOM y luego simplemente intercalar una especie de componente nativo allí? Bueno, quiero decir, hay, con cada enfoque hay compensaciones, ¿verdad? Así que en este caso, la vista web es algo lenta. Como si la usas a pantalla completa, puedes hacer trucos como cargar anticipadamente todas las pestañas en tu aplicación. Así que el tiempo de carga cuando cambias de pantalla es casi nada. Y luego si agregas una buena transición de una a otra pantalla, se desvanece por completo. Así que diría que no es necesariamente, ¿puedes hacerlo? Es como, por supuesto, probablemente puedas, pero es mejor simplemente probarlo e iterar sobre ello para ver qué tan bien puedes lograrlo. Esa es también la razón por la que mostramos la aplicación de componente DOM o DOM comp.
Genial. Eso tiene sentido. La segunda pregunta aquí, la pregunta más valorada, ya sabes, esto va un poco sobre lo que dijiste que, ya sabes, esta característica depende de, ya sabes, una integración avanzada del empaquetador que tienes en Metro. Y, ya sabes, la mayoría de los desarrolladores web hoy en día, ya sabes, aún no están usando el enrutador de Expo, ya sabes, como su solución de enrutamiento. Así que, ya sabes, si alguien tiene una, ya sabes, una aplicación de tamaño medio de Next.js y quiere ir y, ya sabes, portarla a móvil, ¿qué pasos implicaría pasar de Next.js por ejemplo? Así que Next.js no funciona en absoluto en nativo, ¿verdad? Como no solo el marco en sí, sino que el empaquetador es diferente. Así que hay muchas diferencias, como que no es compatible Next.js y Expo, pero los componentes que escribes en Next.js deberían funcionar en un componente DOM de Expo. Así que el único paso que tienes que hacer primero es pasar de una aplicación de enrutador de Next o como enrutador de aplicación de Next a una estructura de enrutador de Expo. Una vez que tengas eso, puedes llenar los espacios en blanco, como hice en mi ejemplo, donde comencé con solo tres páginas separadas y luego agregué los diseños para unirlas bien en nativo.
Comments