feature request: Proposal: Evaluate migration from React Native CLI to Expo for improved DX and maintainability
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
- Lĩnh vực
- developer-experience, mobile-dev
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 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
- Audit current native dependencies and Expo compatibility
- Test running the project using Expo Dev Client
- Document modules requiring custom native support
- 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
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- 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.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của RocketChat/Rocket.Chat.ReactNative
-
[IMPROVEMENT] Remove redundant `await` on synchronous `userPreferences.getBool` in `getUsersPresence`Có thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởtype: feature
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 92/100
RocketChat/Rocket.Chat.ReactNative#7737 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
UIKit modal: a viewSubmit response with no `type` field fails to close the modal on mobile (regression from #7057)Có thể đã có người làm @erikurt9 đã nhận 106 ngày trước. Đang mởtype: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
RocketChat/Rocket.Chat.ReactNative#7503 · 3 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
type: bug
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 86/100
RocketChat/Rocket.Chat.ReactNative#7437 · 1 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
✅ tests 👷 ci type: feature
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
RocketChat/Rocket.Chat.ReactNative#7247 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug: goRoom navigates to broken RoomView after failed DM creation from searchCó thể đã có người làm @deepak0x đã nhận 216 ngày trước. Đang mởtype: bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
RocketChat/Rocket.Chat.ReactNative#7098 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của RocketChat/Rocket.Chat.ReactNative
Issue tương tự
-
Bug: Broken RTL / BiDi text rendering when mixing Persian (Farsi) with English or numbersCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mởbug
Độ khó 2/5 Nửa ngày Mức phù hợp với người mới 68/100
amosblomqvist/learnharness#758 ·
Maintainer thường phản hồi trong vòng 2 ngày
-
Change WorkspacesĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
bitfocus/companion-module-renewedvision-propresenter-api#134 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
rcpch/digital-growth-charts-react-component-library#304 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
dsh-market/dsh-market#1210 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
trustjonathan/STUDY-HUB#13 ·