Supported scope
What Expo Desktop does and doesn't support
Expo Desktop aims to implement as much of the Expo experience as possible. However, as that scope is very large, the fundamentals have had to be prioritised first.
What it does support
- Creating apps (the
create-appcommand). Full feature parity, including templates. - Building and running apps (the
run macosandrun windowscommands). - Prebuilding apps (the
prebuildcommand).- Supports templates.
- Lots of config plugins to manipulate the macOS and Windows project files.
- Continuous Native Generation.
- All of Expo Modules Core for macOS (Expo gives us that for free), and some of it for Windows (WIP - basically a stub for now).
What it does not support
- The latest version of React Native. This is because we have to use the lowest common denominator of React Native macOS and React Native Windows, which are several minor versions behind.
- The latest Expo SDK. While it is technically possible to use Expo SDK 58 with React Native 0.83, the main appeal of using the latest Expo SDK is to get the latest React Native, so I've not spent much time pursuing it.
- Expo UI (for macOS, that will come with Expo SDK 58; for Windows, we may recommend a community implementation).
- All Expo SDK modules. While one third of iOS modules already build for macOS (Expo gives us that for free), on the Windows side, for now we only provide a provisional (untested) implementation of
expo-asset. - All Expo CLI commands. There are
- Repack for Windows. This seemed like quite a deep rabbit hole.
- EAS. There are some hard blockers, like EAS simply not offering Windows runners, so I am not too motivated to invest time in it.
- This means things like EAS Build, EAS Submit, Expo Update, etc.
- Linux. For one thing, there is no actively maintained React Native Linux to build upon. For another thing, I've got enough work on my hands dealing with macOS and Windows.
- Hundreds of third-party libraries. This project makes it easier to start bolstering the ecosystem. But it doesn't fill in the ecosystem itself.