feature request: Proposal: Evaluate migration from React Native CLI to Expo for improved DX and maintainability

Abierto
#6,971 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Necesita aclaración
Estado de actividad
Estancado
Stack tecnológico
react-native

Línea de trabajo

Comienza auditando las dependencias nativas actuales del proyecto Rocket.Chat React Native y comprobando su compatibilidad con Expo Dev Client. Prueba si el proyecto puede ejecutarse con el enfoque de prebuild propuesto y, a continuación, documenta los módulos que necesitan compatibilidad nativa personalizada. Se considera terminado cuando haya un estudio de viabilidad que identifique los bloqueadores y, si es viable, una hoja de ruta de migración por fases.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

🎉 feature
Feature Description

Proposal: Evaluate migration from React Native CLI to Expo

Problem

The current Rocket.Chat React Native app is built using the React Native CLI and relies heavily on manual native configuration. This leads to:

  • Complex setup for new contributors
  • Dependency conflicts (Node/React version alignment)
  • Longer onboarding time
  • Increased maintenance overhead for native modules
  • Difficult environment reproducibility

During local setup, contributors often face issues related to:

  • Peer dependency mismatches
  • Native build configuration
  • Version compatibility
Proposed Direction

Explore the feasibility of gradually adopting Expo (prebuild/dev-client approach) to improve:

  • Developer experience
  • Faster onboarding for contributors
  • Easier dependency management
  • Reduced native configuration complexity
  • Improved testing and iteration speed

This does NOT necessarily mean a full immediate migration, but rather:

  • Evaluating compatibility with existing native modules
  • Identifying blockers
  • Creating a migration roadmap if feasible
Possible Approach
  1. Audit current native dependencies and Expo compatibility
  2. Test running the project using Expo Dev Client
  3. Document modules requiring custom native support
  4. Propose a phased migration strategy (if viable)
Motivation and Use Case
Expected Benefits
  • Faster setup for contributors
  • Reduced environment-related issues
  • Improved long-term maintainability
  • Easier experimentation and feature development
Implementation Ideas
Willing to Contribute

I would like to take ownership of:

  • Initial feasibility study
  • Dependency compatibility analysis
  • Proof-of-concept setup
  • Documentation for migration path

Would love feedback from maintainers on whether this direction aligns with project goals.

Is this feature available in the API or web version?

Available in API

Rocket.Chat Server Version

No response

Rocket.Chat App Version

No response

Device Name

No response

OS Version

No response

Additional Context

No response

Lenguaje dominante
TypeScript
Estrellas
2.4k
Forks
1.5k
Merge medio
1 d 15 h
PR fusionados (30 d)
29

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de RocketChat/Rocket.Chat.ReactNative

Todos los issues de RocketChat/Rocket.Chat.ReactNative

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.