Saltar al contenido principal

React Native Mensual #2

· 9 min de lectura
Tomislav Tenodi
Gerente de Producto en Shoutem
Traducción Beta No Oficial

Esta página fue traducida por PageTurner AI (beta). No está respaldada oficialmente por el proyecto. ¿Encontraste un error? Reportar problema →

¡Continúa nuestra reunión mensual de React Native! En esta sesión nos acompañó Infinite Red, los creadores de Chain React, la Conferencia de React Native. Como la mayoría de los asistentes estaban presentando charlas en Chain React, pospusimos la reunión una semana. Las charlas de la conferencia ya están disponibles online y les recomiendo verlas. Veamos qué están haciendo nuestros equipos.

Equipos

En esta segunda reunión, nos acompañaron 9 equipos:

Notas

Estas son las notas de cada equipo:

Airbnb

Callstack

  • Mike Grabowski sigue gestionando las versiones mensuales de React Native como siempre, incluyendo algunas betas publicadas. En particular, está trabajando en publicar la versión v0.43.5 en npm ¡ya que desbloquea a los usuarios de Windows!

  • El trabajo en Haul avanza lento pero constante. Hay un pull request que añade HMR y ya se han implementado otras mejoras. Recientemente varios líderes de la industria lo han adoptado. Posiblemente comenzaremos trabajo remunerado a tiempo completo en esta área.

  • Michał Pierzchała del equipo de Jest se ha unido a Callstack este mes. Ayudará a mantener Haul y posiblemente trabajará en Metro Bundler y Jest.

  • Satyajit Sahoo ya está con nosotros, ¡yay!

  • Tenemos varias novedades interesantes de nuestro departamento de OSS. En particular, estamos trabajando en integrar Material Palette API en React Native. Planeamos finalmente lanzar nuestro kit nativo para iOS que busca ofrecer un look & feel idéntico a los componentes nativos.

Expo

  • Recientemente lanzamos Native Directory para mejorar el descubrimiento y evaluación de bibliotecas en el ecosistema React Native. El problema: existen muchas bibliotecas, son difíciles de probar, requieren aplicar heurísticas manualmente y no es evidente cuáles son las mejores que deberías usar. También es difícil determinar si algo es compatible con CRNA/Expo. Native Directory busca resolver estos problemas. ¡Visítalo y añade tu biblioteca! La lista de bibliotecas está aquí. Esta es solo nuestra primera versión, y queremos que sea propiedad y gestión de la comunidad, no solo del equipo de Expo. ¡Contribuye si crees que es valioso y quieres mejorarlo!

  • Añadimos soporte inicial para instalar paquetes npm en Snack con Expo SDK 19. Avísanos si encuentras problemas, aún estamos resolviendo algunos errores. Junto con Native Directory, esto debería facilitar probar bibliotecas con dependencias solo JavaScript o incluidas en el Expo SDK. Pruébalo:

  • Lanzamos Expo SDK19 con múltiples mejoras generales, y ahora usamos Android JSC actualizado.

  • Trabajando en una guía documental con Alexander Kotliarskyi con consejos para mejorar la experiencia de usuario en apps. ¡Únete para ampliar la lista o colaborar en la redacción!

  • Continuamos trabajando en: audio/video, cámara, gestos (con Software Mansion, react-native-gesture-handler), integración de cámara GL. Esperamos lanzar algunas novedades en SDK20 (agosto) con mejoras significativas. Estamos iniciando la infraestructura en el cliente Expo para trabajos en segundo plano (geolocalización, audio, manejo de notificaciones, etc.).

  • Adam Miskiewicz avanzó en imitar transiciones de UINavigationController para react-navigation. Mira una versión preliminar en su tweet - lanzamiento próximo. También revisa MaskedViewIOS que integró. ¡Sería genial si implementas MaskedView para Android!

Facebook

  • Facebook explora internamente integrar componentes nativos de ComponentKit y Litho dentro de React Native.

  • ¡Las contribuciones a React Native son muy bienvenidas! Si te preguntas cómo puedes contribuir, la guía "Cómo contribuir" describe nuestro proceso de desarrollo y detalla los pasos para enviar tu primer pull request. Hay otras formas de contribuir que no requieren escribir código, como clasificar incidencias o actualizar la documentación.

    • Al momento de escribir, React Native tiene 635 incidencias abiertas y 249 pull requests abiertos. Esto resulta abrumador para nuestros mantenedores, y cuando los problemas se solucionan internamente, es difícil actualizar las tareas correspondientes.
    • No estamos seguros del mejor enfoque para manejar esto manteniendo satisfecha a la comunidad. ¡Algunas opciones (no todas!) incluyen cerrar incidencias obsoletas, otorgar permisos a más personas para gestionar incidencias y cerrar automáticamente aquellas que no sigan la plantilla. Creamos la guía "Qué esperar de los mantenedores" para establecer expectativas y evitar sorpresas. Si tienes ideas para mejorar esta experiencia tanto para mantenedores como para quienes reportan incidencias o envían pull requests (asegurando que se sientan escuchados y valorados), ¡háznoslo saber!

GeekyAnts

  • Presentamos nuestra herramienta de diseño que funciona con archivos de React Native en Chain React. Muchos asistentes se inscribieron en la lista de espera.

  • También estamos explorando otras soluciones multiplataforma como Google Flutter (próximamente una comparativa detallada), Kotlin Native y Apache Weex para entender diferencias arquitectónicas y aprender cómo mejorar el rendimiento general de React Native.

  • Migramos a react-navigation en la mayoría de nuestras apps, mejorando significativamente el rendimiento.

  • Además, anunciamos NativeBase Market: un marketplace para componentes y aplicaciones de React Native (creado por y para desarrolladores).

Infinite Red

Microsoft

  • CodePush se integró en Mobile Center. Los usuarios actuales no verán cambios en su flujo de trabajo.

    • Algunos reportaron problemas con apps duplicadas (por tener apps existentes en Mobile Center). Estamos resolviendo estos casos; si tienes apps duplicadas, avísanos para fusionarlas.
  • Mobile Center ahora soporta Notificaciones Push para CodePush. Mostramos cómo combinar Notificaciones y CodePush para pruebas A/B en apps, algo único en la arquitectura de React Native.

  • VS Code tiene un problema conocido en la depuración con React Native; la próxima versión de la extensión (en pocos días) lo solucionará.

  • Dado que múltiples equipos en Microsoft trabajan con React Native, mejoraremos la representación de todos los grupos en próximas reuniones.

Shoutem

  • Finalizamos las mejoras para simplificar el desarrollo con React Native en Shoutem. Ahora puedes usar todos los comandos estándar de react-native al desarrollar apps en Shoutem.

  • Dedicamos mucho esfuerzo para determinar el mejor enfoque para el análisis de rendimiento en React Native. Gran parte de la documentación está desactualizada, así que haremos nuestro mejor esfuerzo para crear un pull request en la documentación oficial o al menos publicar nuestras conclusiones en una entrada de blog.

  • Estamos migrando nuestra solución de navegación a react-navigation, por lo que pronto podríamos tener comentarios al respecto.

  • Lanzamos un nuevo componente HTML en nuestro kit que transforma HTML crudo en un árbol de componentes de React Native.

Wix

  • Comenzamos a trabajar en un pull request para Metro Bundler con capacidades de react-native-repackager. Actualizamos react-native-repackager para soportar RN 44 (que usamos en producción). Lo estamos utilizando para nuestra infraestructura de simulación en detox.

  • Durante las últimas tres semanas hemos cubierto la aplicación de Wix con pruebas detox. Ha sido una experiencia increíble para aprender cómo reducir el control de calidad manual en una aplicación de esta escala (más de 40 ingenieros). Como resultado, resolvimos varios problemas con detox y acabamos de publicar una nueva versión. Me complace informar que estamos cumpliendo con la "política de cero imprevisibilidad" y las pruebas hasta ahora pasan consistentemente.

  • Detox para Android avanza muy bien. Estamos recibiendo ayuda significativa de la comunidad. Esperamos tener una versión inicial en aproximadamente dos semanas.

  • DetoxInstruments, nuestra herramienta de pruebas de rendimiento, está creciendo más de lo que planeamos originalmente. Ahora planeamos convertirla en una herramienta independiente que no estará tan acoplada a detox. Permitirá investigar el rendimiento de aplicaciones iOS en general. También se integrará con detox para ejecutar pruebas automatizadas sobre métricas de rendimiento.

Próxima sesión

La próxima sesión está programada para el 16 de agosto de 2017. Como esta fue solo nuestra segunda reunión, nos gustaría saber cómo estas notas benefician a la comunidad de React Native. No dudes en contactarme en Twitter si tienes sugerencias sobre cómo mejorar el resultado de estas reuniones.