When Expo was first created, React Native had yet to be publicly released. This means there were no third-party packages. To make the developer experience of React Native reasonable, we created several libraries to achieve common functionalities. Many of these libraries have since been forked and modified to meet various needs. We welcome users to mix and match whichever custom native code they need to make their app great.
The Expo SDK is well tested, written in TypeScript, documented, and built for Android, iOS, and the web. Every module in the Expo SDK works together to ensure versioning always matches. This creates a nice upgrading experience.
The Expo SDK is also written with the Expo native API
to make contributing, maintaining, and understanding easier.