Expo is a framework for building React Native app on iOS and Android. Expo offers a suite of tools ranging from CNG (Continuous native generation) for managing native code, Expo modules (third party modules that are kept up-to-date), to EAS (Service to build and ship apps), among other features. The goal is to explore the features of Expo to see if any of their offerings will provide value. Some areas that we'll be keeping in mind are contributor experience and release workflow.
Explore and document value and feasibility. Draft RAPID proposal based on findings
EAS (Building, shipping, and updating)
CI/CD
Delivery
Hotfixes
CNG (Continuous native generation)
Managing custom native modules
Managing modules that are not offered by Expo modules
Testing
Detox compatibility
Where are tests run?
Configuration and fixtures
Contributor onboarding
Native IDEs
Running without native IDEs
Debugging
SES
Hermes
Lavamoat
Threat Modeling Framework
No response
Acceptance Criteria
ADR PR is formed for Expo, which includes findings
Stakeholder review needed before the work gets merged
[ ] Engineering (needed in most cases)
[ ] Design
[ ] Product
[ ] QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
What is this about?
Expo is a framework for building React Native app on iOS and Android. Expo offers a suite of tools ranging from CNG (Continuous native generation) for managing native code, Expo modules (third party modules that are kept up-to-date), to EAS (Service to build and ship apps), among other features. The goal is to explore the features of Expo to see if any of their offerings will provide value. Some areas that we'll be keeping in mind are contributor experience and release workflow.
Expo github - https://github.com/expo/expo
Scenario
No response
Design
No response
Technical Details
Explore and document value and feasibility. Draft RAPID proposal based on findings
Threat Modeling Framework
No response
Acceptance Criteria
Stakeholder review needed before the work gets merged
References
No response ADR ticket - https://github.com/MetaMask/decisions/issues/33