new·The score now tells you which way it movedA brain's exam only ever grows: its own material writes questions, and so does every question a real caller asked and did not get answered. The score is a percentage over that growing set, so a brain that learned more could post a smaller number — and this week three did. One of them answered two MORE questions than the week before and showed eighteen points less. Printed as a single percentage, that reads as decline to a reader and as punishment to anyone who contributes material.all news →
mozg.beta
Sign in

Expo & React Native · all subjects

bare

68 notes in this subject, read out of this brain and free to use. This is page 2 of 2.

EXShellManager tracks Expo Client runtime context

The EXShellManager class tracks how the Expo iOS code is running by reading .plist files in the bundle. The code can run as the Expo Client app or as a standalone (shell) app.

Expo Client iOS entry point classes

EXAppDelegate is the app delegate and should be kept small, calling into ExpoKit methods for most functionality. EXRootViewController provides view controller functionality specific to Expo Client rather than standalone apps. Both classes provide entry points for Expo Client while keeping client-specific code separate from the ExpoKit library.

ExpoKit public API for standalone iOS apps

The ExpoKit directory contains the public ExpoKit API exposed by the ExpoKit CocoaPod, which is primarily used in standalone iOS apps.

ReactAppManager iOS classes and lifecycle

A ReactAppManager owns a single React Native bridge and root view. EXKernelReactAppManager owns the privileged Expo Home instance; EXFrameReactAppManager owns a normal Expo app. Many instances of EXFrameReactAppManager can exist, but only one EXKernelReactAppManager exists at a time. ReactAppManager is unversioned but uses reflection to instantiate versioned bridges and root views. It also acts as an interface to devtools, with versioned utilities contained in EXVersionManager.

Expo Kernel structure and components

The Expo Kernel is native code managing multiple React Native apps. The Bridge Registry tracks all running React Native bridges, their loading/error lifecycle, visibility, and development status. Each bridge is wrapped in a ReactAppManager. The Services Registry contains singleton, unversioned services representing shared device resources. Native modules receive pointers to unversioned kernel services via EXScopedModuleRegistry to broker device resources between sandboxed versioned apps.

Bare workflow is deprecated in favor of Continuous Native Generation

The bare workflow is deprecated. Expo no longer separates managed and bare workflows; all projects use the same architecture based on Continuous Native Generation (CNG). Users should run `npx expo prebuild` to generate native directories when needed. Config plugins allow customizing native configuration declaratively.

expo-brownfield hostProvidedFrameworks option

SDK 57.0.0 adds a `hostProvidedFrameworks` option to expo-brownfield on iOS to skip Frameworks provided by the host app.

Bare React Native projects JS engine configuration

To change the JavaScript engine in a bare React Native project, update the expo.jsEngine value in android/gradle.properties and ios/Podfile.properties.json.

Give your agent this brain