Expo SDK Update 48 - Elevating the Best to Even Better.
Tags: expo, reactnative, javascript, mobile
Published: 2023-02-27 04:45:46

In today's announcement from Expo, they released the latest release of their software development kit, `SDK 48`. This blog will delve into the various changes and improvements that accompany this update.

## Key Features:

**1. Hermes is now the default JavaScript engine :**
     Until `SDK 47`, `JavaScriptCore (JSC)` was the default JavaScript engine, but from `SDK 48` `Hermes` will replace it. This will have a great impact on Performance, Binary Size and Memory Consumption, we will look into this later in this post.

The key difference between `Hermes` and other JavaScript engines is its ability to compile JavaScript source code to bytecode ahead of time. 

Let's take a look at the improvements that comes with `Hermes`

**- Benchmarking:**

When it comes to a app developer, the 3 most important metrics are `TTL`, `binary size` and `memory consumption`. Addition of Hermes as the default JavaScript engine has a great effect on these three metrics:

- TTL Or Time to interactive, is the duration of time from the app launched to user being to interact with it.

- The binary size is measured as APK size on android and IPA size on iOS.

- Memory Consumption is collected by running the app for couple of minutes.

Using Hermes as the default JavaScript engine, on **Android**,


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xi7vmua6f7w18ypu2gem.png)

Source: [Hermes as the Default](https://reactnative.dev/blog/2022/07/08/hermes-as-the-default)

On **IOS**,


![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/d06imckyv6ip4izaocqx.png)

Source: [Hermes as the Default](https://reactnative.dev/blog/2022/07/08/hermes-as-the-default)

**2. SDK 48 includes React Native 0.71.3 and React 18.2.0:**
React Native's layout engine now supports `FlexBox` properties `gap`, `rowGap` and `columnGap`.

**3. Android `compileSdkVersion` and `targetSdkVersion` will be set to API level 33.**

**4. Support for **right-to-left** languages in Expo Go.**

**5. `expo-random` has been merged with `expo-crypto` and now the functions like, `getRandomValues`, `randomUUID` and digest functions are supported by `expo-crypto`.**


In conclusion, the Expo team has yet again delivered a significant update to their platform with the release of SDK 48.This update is a substantial step forward in the evolution of the platform. With its new features, developers can create better and more feature-rich apps which can provide better user experience. 

**Reference : [Blog Post for SDK 48](https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/) , [Hermes Post](https://reactnative.dev/blog/2022/07/08/hermes-as-the-default)**

Also, if you enjoyed this content and would like to stay updated on future posts, feel free to connect with me on [LinkedIn](https://www.linkedin.com/in/aditya-mathur-52322b16a/) or [X](https://twitter.com/adii_mathur) or check out my [Github ](https://github.com/adii9)profile. I'll be sharing more tips and tricks on Django and other technologies, so don't miss out!

If you find my content valuable and would like to support me, you can also [buy me a coffee](https://www.buymeacoffee.com/aditya360l). Your support helps me continue creating helpful and insightful content. Thank you!