Saltar al contenido

Hoja de ruta de código abierto · React Native

Este año, el equipo de React Native se ha centrado en una re-arquitectura a gran escala de React Native. Como mencionó Sophie en su publicación State of React Native, hemos esbozado un plan para apoyar mejor a la próspera población de usuarios y colaboradores de React Native fuera de Facebook. Ahora es el momento de compartir más detalles sobre en qué hemos estado trabajando. Antes de hacerlo, me gustaría exponer nuestra visión a largo plazo para React Native en código abierto.

Nuestra visión para React Native es …

Hemos identificado las siguientes áreas de enfoque para ayudarnos a lograr esta visión.

✂️ Lean Core

Nuestro objetivo es reducir el área de superficie de React Native mediante la eliminación de componentes no centrales y no utilizados. Transferiremos componentes no esenciales a la comunidad para permitir que se mueva más rápido. La superficie reducida facilitará la gestión de las contribuciones a React Native.

es un ejemplo de un componente que trasladamos a la comunidad. Estamos trabajando en un flujo de trabajo que permitirá a los equipos internos continuar usando estos componentes después de que los eliminemos del repositorio. Hemos identificado docenas de componentes más de los que le daremos propiedad a la comunidad.

🎁 Componentes internos de abastecimiento abierto y 🛠 Herramientas actualizadas

La experiencia de desarrollo de React Native para equipos de productos en Facebook puede ser bastante diferente a la del código abierto. Las herramientas que pueden ser populares en la comunidad de código abierto no se utilizan en Facebook. Puede haber una herramienta interna que logre el mismo propósito. En algunos casos, los equipos de Facebook se han acostumbrado a herramientas que no existen fuera de Facebook. Estas disparidades pueden plantear desafíos cuando abrimos nuestro próximo trabajo de arquitectura.

Trabajaremos para lanzar algunas de estas herramientas internas. También mejoraremos el soporte para herramientas populares entre la comunidad de código abierto. Aquí hay una lista no exhaustiva de proyectos que abordaremos:

✅ Infraestructura de prueba

Cuando los ingenieros de Facebook publican código, se considera seguro aterrizar si pasa todas las pruebas. Estas pruebas identifican si un cambio podría romper una de nuestras propias superficies React Native. Sin embargo, existen diferencias en la forma en que Facebook usa React Native. Esto nos ha permitido romper sin saberlo React Native en código abierto.

Reforzaremos nuestras pruebas internas para asegurarnos de que se ejecuten en un entorno lo más cercano posible al código abierto. Esto ayudará a evitar que el código que rompe estas pruebas se convierta en código abierto. También trabajaremos en la infraestructura para permitir una mejor prueba del repositorio principal en GitHub, lo que permitirá que las solicitudes de extracción futuras incluyan pruebas fácilmente.

Combinado con el área de superficie reducida, esto permitirá a los colaboradores fusionar las solicitudes de extracción más rápido y con confianza.

📜 API pública

Facebook consumirá React Native a través de la API pública, de la misma manera que lo hace el código abierto, para reducir los cambios no intencionales. Hemos comenzado a convertir los sitios de llamadas internas para solucionar este problema. Nuestro objetivo es converger en una API pública y estable, lo que lleva a la adopción de versiones semánticas en la versión 1.0.

📣 Comunicación

React Native es uno de los principales proyectos de código abierto en GitHub por número de contribuyentes. Eso nos hace muy felices y nos gustaría que siguiera funcionando. Continuaremos trabajando en iniciativas que conduzcan a colaboradores involucrados, como una mayor transparencia y un debate abierto. La documentación es una de las primeras cosas que encontrará alguien nuevo en React Native, pero no ha sido una prioridad. Nos gustaría arreglar eso, comenzando por traer de vuelta los documentos de referencia de API generados automáticamente, creando contenido adicional enfocado en crear experiencias de usuario de calidad y mejorando nuestras notas de la versión.

Estamos planeando aterrizar estos proyectos durante el próximo año más o menos. Algunos de estos esfuerzos ya están en curso, como JSI, que ya ha aterrizado en código abierto. Otros tardarán un poco más en completarse, como reducir el área de superficie. Haremos todo lo posible para mantener a la comunidad actualizada con nuestro progreso. Únase a nosotros en el repositorio de Discusiones y Propuestas, una iniciativa de la comunidad React Native que ha llevado a la creación de varias de las iniciativas discutidas en esta hoja de ruta.

Este contenido se publicó originalmente aquí.