Thursday, January 4, 2024
-
4
min
What’s New in Expo SDK 50: New Features and Updates
Expo SDK 50 is coming soon, and we are thrilled to share some of the amazing new features that will make your app development easier and more fun. In this blog post, Morrow's senior React Native Developer, Costas, gives you a brief overview of the features that we are most excited about, such as native fonts, expo-router, updates, improvements, and more.
To find out all the details and how to use them, check out the official documentation.
Let’s dive in!
Read: "What's new in Expo SDK 51".
Partner with Morrow to transform your Expo app into a high-performing, secure, and user-friendly solution. Fill out our Expo audit form and take the first step towards app excellence.
SQLite
expo-sqlite/next is a complete rewrite of the SQLite library, bringing it towards the mature equivalents for web and node and better support patterns like “local-first architecture”.
Changes include:
- Sync and async methods
- Prepared statements
- Update callbacks
- Blob data type
- Support for query builders
- And many more.
Find out more here.
Expo Router v3 / (Release candidate)
The expo-router gets a major upgrade with exciting new features.
API Routes: You can now build your API endpoints (GET, POST, PUT, etc.) using the same codebase and router as your client-side app.
Router.navigate: You can now use the router.navigate API for better navigation. Router.push is now only used for pushing to the stack.
Bundle Splitting: On the web when using async import.
Typed Routes: Improved typing by automatically generating TypeScript types for a project.
Testing Library: New improved testing utilities that emulate navigation structures.
Custom app directory: The app directory can now be a custom folder.
URL API support: Built-in support for standard URL API leads to bundle size reduction, especially on the web.
Not-found routes: A +not-found.js route now matches anything unmatched in a directory.
External Links: You can now link to external URLs like mailto: and sms:
And many many, more features. Find them all here.
EAS Update Rollback
Instructing your production apps to roll back to their embedded update the next time they check for updates is now possible.
Find more details here.
EAS Rollouts
You can now gradually roll out updates to a percentage of your users to minimise the risk of introducing bugs or other issues to production.
Read details here.
Expo Updates Hooks API
A new useUpdates() hook that makes it easier to manage and interact with the updates API from within your app.
Find more details here.
Read: "An Updated Developer's Guide to Taming Expo’s Environmental Variables (in Expo SDK v49)".
Expo Font on native bundle
Fonts can now be bundled on the native level, and you don’t have to load them in an async way.
More details here.
Expo Fingerprint
“How do I know if an app JavaScript bundle is compatible with a particular build of my app?”. The answer is the new @expo/fingerprint utility:
- Read me
Expo Camera Next
The new expo-camera/next offers updated camera capabilities with the native platform's best practices.
Expo Secure Store
Expo-secure-store now supports sync versions of getItem and setItem and more behaviour unification in iOS and Android.
Expo Dev Tools Plugin API
An API that allows adventurous developers to build their browser-based plugins to debug and interact with their library/app.
Path Aliases
Now you only have to define aliases in tsconfig.json file to be able to map import path aliases.
For example:
“@/": ["src/"]
Allows to import like:
import Button from '@/components/Button'
These are only a few of the exciting new features and updates that are coming in Expo SDK v50. Visit Expo's website to find out more.
Happy coding!
Need help with an urgent Expo issue? Want experts on your side to drive forward your project? Need a second opinion on something? We’re here to help. Book a call to discuss your project here.