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

Đang mở
#6,971 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

Chưa có ai nhận issue này.

Đánh giá

Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức phù hợp với người mới
25/100
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
react-native

Hướng nghiên cứu

Bắt đầu bằng việc kiểm tra các dependency native hiện tại của dự án Rocket.Chat React Native và khả năng tương thích của chúng với Expo Dev Client. Kiểm thử xem dự án có thể chạy với phương pháp prebuild được đề xuất hay không, sau đó lập tài liệu về các module cần hỗ trợ native tùy chỉnh. Được xem là hoàn thành khi có một nghiên cứu khả thi xác định các blocker và, nếu khả thi, một lộ trình migration theo từng giai đoạn.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

🎉 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

Ngôn ngữ chính
TypeScript
Star
2.4k
Fork
1.5k
Merge trung bình
1 ngày 15 giờ
Pull request đã merge (30 ngày)
29

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của RocketChat/Rocket.Chat.ReactNative

Tất cả issue của RocketChat/Rocket.Chat.ReactNative

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.