An over-the-air update does not need to ship the whole bundle. Bundle diffing in OTA Updates sends the device a patch: only the bytes that changed. A typical 3 MB update drops to about 0.75 MB. Users on slow connections get the fix on first open, and your bandwidth bill follows the download size down. One flag in your app config, SDK 55 or later: "𝚞𝚙𝚍𝚊𝚝𝚎𝚜": { "𝚎𝚗𝚊𝚋𝚕𝚎𝙱𝚜𝚍𝚒𝚏𝚏𝙿𝚊𝚝𝚌𝚑𝚂𝚞𝚙𝚙𝚘𝚛𝚝": 𝚝𝚛𝚞𝚎 } Quin Jung and Alan Hughes wrote up this piece about how the diffing works: https://lnkd.in/g2bvcgUb
Expo
Software Development
Palo Alto, California 38,262 followers
Everything you need to build apps.
About us
Expo is a full-stack React Native framework with powerful cloud services to help you move faster at every stage of the app lifecycle.
- Website
-
https://expo.dev
External link for Expo
- Industry
- Software Development
- Company size
- 11-50 employees
- Headquarters
- Palo Alto, California
- Type
- Privately Held
- Founded
- 2013
- Specialties
- Mobile Software, React Native, Web development, cross platform development, universal app development, and React development
Employees at Expo
Locations
-
Primary
Get directions
Palo Alto, California 94301, US
-
Get directions
PO Box 205
Burlingame, California 94011, US
Updates
-
The quickest way to make an API agent-friendly is to stop inventing one. Expo Modules 1.0 asked you to learn a small grammar before you could expose a single function to JavaScript. 𝚍𝚎𝚏𝚒𝚗𝚒𝚝𝚒𝚘𝚗(), 𝙽𝚊𝚖𝚎(), 𝙵𝚞𝚗𝚌𝚝𝚒𝚘𝚗, 𝙰𝚜𝚢𝚗𝚌𝙵𝚞𝚗𝚌𝚝𝚒𝚘𝚗, every closure argument spelled out by hand. Developers learned it fine. Models never really did, because a DSL that lives in one ecosystem leaves behind very few examples to train on. In practice that meant pasting the API into the context window before an agent could touch your module. Modules 2.0 removes the grammar. Mark the class @𝙴𝚡𝚙𝚘𝙼𝚘𝚍𝚞𝚕𝚎, mark the methods JavaScript should see with @𝙹𝚂, and the macro reads names, argument types, and sync or async straight off the Swift declarations. ◆ The API a model needs to know is Swift itself, and there is a decade of it in every model ◆ A payload type that cannot cross into JavaScript fails at build time, with a compiler error an agent can read and act on ◆ Nothing is duplicated between the definition and the implementation, so nothing drifts out of sync ◆ Migration has a skill, and it leaves anything it cannot convert in the 1.0 definition with a note in its report: 𝚗𝚙𝚡 𝚜𝚔𝚒𝚕𝚕𝚜@𝚕𝚊𝚝𝚎𝚜𝚝 𝚞𝚜𝚎 𝚎𝚡𝚙𝚘/𝚜𝚔𝚒𝚕𝚕𝚜@𝚎𝚡𝚙𝚘-𝚖𝚒𝚐𝚛𝚊𝚝𝚎-𝚖𝚘𝚍𝚞𝚕𝚎 --𝚊𝚐𝚎𝚗𝚝 𝚌𝚕𝚊𝚞𝚍𝚎-𝚌𝚘𝚍𝚎 Speed came along for the ride. Because @𝙹𝚂 captures the types at build time, the per-call conversion work that 1.0 repeated on every call is gone, and sync calls run 2.5 to 5.6x faster than 1.0 on the same SDK. On iOS you can try this today in SDK 57. It is undocumented for now, so treat it as experimental. Android is in progress, and docs plus the official beta arrive in SDK 58. Tomasz Sapeta wrote up the whole design, with benchmarks: https://lnkd.in/esrbYU9D
-
Most mobile CI runs a full iOS build for a change that only touched JavaScript. Before: A developer fixes a typo in a React component and pushes. The pipeline compiles the entire native app again, because it has no way to know the native layer did not change. Ten to fifteen minutes later, a build appears that is byte-for-byte identical on the native side. After: Expo's CICD Workflows service computes a fingerprint of the native code and compares it to the last build. Same fingerprint, and it repacks the previous binary with the new JavaScript in about two minutes. Different fingerprint, and it runs the full build, because that is the one time it is needed. The config for an iOS build is six lines of YAML on M4 Pro machines, with signing credentials kept in Expo instead of your CI secrets. One team (a huge company we can't name) that switched cut its CI time in half. At twenty builds a day, that is three to four hours of build time back, daily! Jon Samp compared EAS Workflows with Bitrise, Codemagic, GitHub Actions, and CircleCI on build hardware, code signing, artifact storage, config size, and cost: https://lnkd.in/eEpRFHvG
-
Coding agents did not remove the bottleneck in mobile dev. They moved it to code review. We keep hearing the same story: The agent opens more pull requests in a day than the team can review. Each one says the change works. Somebody has to look, and looking means pulling the branch, building it, and tapping through the app on a local simulator. That is where the afternoon goes. An agent that cannot run the app is guessing. On Expo, the agent builds the change, runs it on a cloud device, and attaches the evidence to the pull request. ◆ A recording of the session, tap by tap ◆ Screenshots at each step, plus the logs ◆ A session link the reviewer opens in a browser tab, no Mac required The reviewer watches the fix land instead of rebuilding it. Expo Simulators is in preview, and we recommend getting on the waitlist. That group will be the first to get access: https://lnkd.in/e_FB4iSy
-
Mobile engineers in New York: Expo, Infinite Red, Inc., and Chime are hosting a meetup on September 24. The topic is how mobile teams are putting coding agents to work on real apps, with demos from all three teams and a roundtable to argue about what is working and what is not. ◆ Doors at 5:30 PM ET at the Chime office in Manhattan ◆ Demos from Expo, Infinite Red, and Chime at 6:00 ◆ Roundtable Q&A at 7:00, wrap by 8:00 ◆ Food and drinks covered Registration is approval based, so request a spot. Bring the person on your team who reviews the agent's pull requests - this night is for them. Request a spot: https://luma.com/fegsycpl
-
An agentic workflow is a clear autonomous path with good tools connected at each step. Start with a signal (a review, a report, an Observe insight). Let an agent reproduce it on a real build. Land a tested change. Get it to users through your normal release path, including OTA when the fix is JS. The upside for a team is time and focus. People spend energy on what the product should feel like. Agents help with reproduce, patch, and verify. Expo gives you pieces you can assemble into that loop: workflows, cloud simulators, Observe, and Update. If you want a place to start, pick one recurring pain (crash triage, TestFlight notes, a flaky screen) and automate that path first. Small loop, real win, then expand. https://lnkd.in/e_FB4iSy
-
🤔 How much engineering time did your last mobile release take? Include the time around the release, too: - Maintaining build machines and dependencies. - Fixing signing or credential problems. - Investigating failed builds and rerunning jobs. - Coordinating testing and store submission. Those hours are part of the cost of maintaining your mobile infrastructure. They’re useful to measure before deciding which parts your team should keep owning. Our CICD Workflows service lets you coordinate builds, tests, and store submissions in a configurable workflow. Start with one recurring job. Run it against a real project, inspect the results, and compare it with the process your team maintains today. https://lnkd.in/e723NAKe
-
Give your coding agent access to the build that failed. Copying an error into a chat window is a start. Giving the agent access to your project’s build information lets it investigate with more context. That’s a useful place to try Expo MCP. Connect it to your coding tool, then say something like: “Look at my latest failed iOS build. Explain what failed, show me the relevant evidence, and suggest what I should check first.” Expo MCP can help agents inspect EAS builds and workflows. You get a concrete task to evaluate: did it find the relevant failure, and does its explanation match the evidence? We like this as a first MCP experiment because you already have something to work from. A real project, with a real problem you need to resolve. If you’ve been meaning to connect Expo MCP, your next failed build is a good reason: https://lnkd.in/eaVrMsRi
-
300 builds a month. Native releases about once a week. JS fixes the same day over the air! This team is going crazy fast. SWSH ships one codebase to iOS, an App Clip, Android, and web, with an automated Expo pipeline from local build to validated release. Nathan Ahn their CTO said “Expo's ecosystem helped us take human error and effort out of the release process, from a local build to a validated release.” https://lnkd.in/e7rNXCJx
-
The power of 𝝠 Expo + LLMs is staggering. Nathan Schroeder built this app in a day. It's called Amber and it's a place to save almost anything and let AI organize it all for you. Built on Expo + Convex + Clerk.com + AI SDK.