🚀 Just released expo-github-action v8
→ Create previews on PRs using EAS Update
→ Preview comment, using classic updates, is now deprecated
🧾 More info
→
→
App previews are the future 🚀 It's much easier to review code if you see the results live on your device. I presented this a while ago at
@RNLmeetup
. Use it in
@expo
or just RN
💬 my talk
🚀 example
📖 docs
👋 Bye `vscode-expo`, hello `vscode-expo-tools`!
The migration to the `expo` publisher is complete, making the extension part of the
@expo
Family.
Install it from the VS Code Marketplace or Open VSX:
If you have the old extension, press migrate! 😄
🚀 Another year, another awesome
@appjsconf
. This year with a lot of debugger-related talks!
🧵 In case you missed it, here are some really cool things you can do with
@expo
soon.
With the latest create-expo, you can use any package manager, like npm, bun, yarn, or even pnpm.
🌭 bun create expo ./app --template tabs
🗄️ npm create expo ./app -- --template tabs
📦 pnpm create expo ./app --template tabs
🧶 yarn create expo ./app --template tabs
Just use the
@appjsconf
@expo
👋 Bye Flipper, hello inspector protocol!
Solving React Native's
#2
biggest pains by moving to proven web standards, together with the React DevX team at meta.
Read it all in the React Native RFC 641
Move even faster with autocomplete for every Expo config, now available with
@expo
for vscode (0.8.0)
🚀 EAS Build & Submit → eas.json
🗒️ EAS Metadata → store.config.json
🧪 Expo Modules → expo-module.config.json
Yesterday, I found a way to sneak onto the stage at
@appjsconf
.
◆ Introducing Expo Atlas.
A tool to visualize and understand your
@expo
bundle output.
We're excited to continue partnering with Expo to bring this experience to as many users as possible, and to improve its capabilities together under the (future) new debugging stack.
@appjsconf
@expo
🌐 Full network visibility, supported out-of-the box.
Use the network inspector to preview any requests or responses as easily as web, now on native too.
New
@Expo
GitHub Action is out! 🚀 Support for new syntax, matrix builds, and multi-OS. Please do try it out and let us know what you think! 😄
(Or if you just want to see it "in action" )
🚀 Expo Router v3 is here—Full-stack React for iOS, Android, and web!
◆ API Routes (beta)
◆ Bundle splitting
◆ 30% smaller, 2x faster web exports
◆ Router testing library
◆ New <Link /> props
◆ Tailwind and Sentry support
It's super awesome to see all the progress on many different areas within React Native being combined into a single powerful tool.
It's all in there, with a lot more!
🐛 Proper debugging
🔗 URLs with Expo Router
🚀 Auto setup, configure & run apps
I really get bummed out by some people from the Flutter community. They slander other frameworks without providing concrete examples or things to solve.
And the worst part? When trying to engage, you get shouted at and shut down.
Some people really have to do better.
🚀 Thanks to
@Baconbrix
the Expo Tools (0.6.0) vscode plugin can now preview the native configuration files!
📄 Open your manifest in vscode
⌨️ Run the Expo preview command
🔍 See the introspected native code
As far as point releases go, Metro 0.75.1 is a big one. Experimental releases of symlink/PNPM support and package.json `exports` (
@alxhnt
). Coming in RN 0.72.
@appjsconf
@expo
@kudochien
🧑💻 Debug your code while you write it.
vscode-expo v1.0.0 now supports direct debugging with actual devices. Expect more updates around the vscode plugin soon.
🚀 Ever wonder how many apps use
@Expo
× React Native?
Over the last year I've collected a list of over +𝟭,𝟱𝟬𝟬 top iOS apps using Expo OSS in the App Store!
🔗 Today I'm sharing the list!
I'm really excited about this release!
📚 Improved monorepo support
⚙️ Expo modules system
📦 Modular native setup
📱 React Native 0.64 (+ Hermes on iOS)
🚀 And so much more!
If you want to try out the new monorepo support, go ahead!
I'm hiring for the
@Expo
dev tools team!
Expo Router has an ambitious roadmap and a lot of interesting problems to solve.
Are you're good at TypeScript, love React, and want to make "Write Once, Run Everywhere" a reality?
Send evidence of exceptional ability to jobs
@expo
.dev
Have you got some time to talk about our lord and savior "React Hooks"? They are 🔥 I've created some for Expo, go try them out 😄 What part of Expo do you think can be (more) 🔥 with Hooks?
🚀 Coming soon to
@Expo
Router: Handoff
◆ Instantly swap between web⇄native
◆ Transfer progress from phone⇄desktop⇄tablet
◆ Per-route config in a single-line
◆ OTA React state restoration w/ query parameters
🧵 Learn more ↓
initialize a new
@expo
project in ~1.25s using
@bunjavascript
and create-expo(-app)!
both npm and yarn classic take ~15s, so bun looks like it's about ~12x faster for me in this case.
Still not sure about using Expo with React Native? 🧐
I talked with
@cedric_dev
from
@expo
about all things Expo including:
- RN CLI vs Expo
- Routing
- Debugging
... and what we can expect from Expo in the future 🔥
Introducing
@Expo
Router v3 Beta
◆ Build server endpoints with API Routes
◆ Bundle splitting for web
◆ 2x Faster web exports
◆ Customizable app/ directory
◆ Not Found Routes
◆ Auto font optimizations
◆ Hot reloading for Tailwind
Learn more ↓
@appjsconf
@expo
@kudochien
🧪 Experimental support is available in the latest SDK 48.
Try out all of the above features in
@expo
right now. Upgrade to expo 48.0.16 and expo-dev-client 2.2.1, and start debugging your app.
One of the privileges of working at
@expo
is hearing Jon's dad jokes... Over and over... Every. single. week.
Also, React Native has a new-looking home! 🚀
We worked closely with the team at Meta to make it easier to get started with React Native. Just shipped:
✨ New home page
📚 New React Native "get started" docs
🤳 New Expo dev environment setup docs
This must be "new"s 😆
I made an
#Expo
Config Plugin to automatically add an App Clip to a
#ReactNative
app with a few lines of configuration. Today I'm publishing it to gather feedback and spread the word. 🧵
How Expo is changing the narrative from "Expo vs React Native" to "Expo and React Native"? 🤝
Watch the
#appjsconf2023
keynote by
@ccheever
and
@JI
!
Full video here:
We actually mean it btw. I created this example to demonstrate this:
- Config plugins for out-of-tree platforms
- Using `npx expo prebuild` and `npx react-native start`
- Without Expo modules core, or other Expo packages
✨ Use what's best for you. ✨
@appjsconf
@expo
@kudochien
🌈 Use CSS in React Native, or at least in console.log.
By adopting standards, you get a lot of things for free. All advanced logging features, such as .table, .group, and .time, are coming soon to native.
🎉There has been quite a lot of improvements and new stuff in
@expo
's documentation over the past week.
I'll be sharing some insights here for some of these improvements as I've been closely following/involved with them.
🚀Let's start with EAS Metadata:
@Baconbrix
@sauldom102
Okay yes 4kb as a start is reasonable. :))
Turns out I was bringing some unwanted UI libs in the API routes, it's fixed now. Size is divided by 6, down to 1mb/route (maps included).
Disabling source map could be helpful 🙏🏼 but AWS lambda thresholds are measured "unzipped" 😬
@appjsconf
@expo
👷 Use React DevTools, without friction.
Open the React DevTools in seconds using the "more tools" option in Expo CLI.
See more in
@kudochien
's leak
@appjsconf
is happening. There are lots of exciting talks and
@expo
announcements you won't like to miss. I'm leaking one of the cool features - Inspecting React components without Flipper or standalone react-devtools.
@cedric_dev
will show us more cool stuffs tomorrow.
🚀 If you can build an app for the browser
🔥 you can build an app for phones and tablets.
Our new course, produced in partnership with
@Codecademy
, teaches you to build a mobile app using you existing web development skills.
Today, Expo is reimagining native routing!
✨ Automatically create (dynamic) routes with files
🚀 Zero boilerplate
🔗 Automatic deep linking
🧩 Nested layouts
🔥 Built on React Navigation for easy adoption.
Try the
@expo
router beta now!
The future of debugging React Native apps is here!
💣 Debugging *while* coding ➡️ YES
💣 A legit Flipper replacement➡️ YES
💣 Full network visibility ➡️ YES
...and more to come in
@expo
! Watch full
@cedric_dev
's bomb-dropping talk here:
EAS Metadata (App Store screenshot/metadata automation) is a game changing new feature that gets us dangerously close to ‘one-click submit’ for
@expo
apps 🚀
@cedricvanputten
has outdone himself with this one!!
@appjsconf
@expo
@kudochien
🧑💻 Debug your code while you write it.
vscode-expo v1.0.0 now supports direct debugging with actual devices. Expect more updates around the vscode plugin soon.
@shahxad_
@CFDevelop
@expo
For clarity, Expo is the framework and EAS (Expo Application Services) are the services the Expo team offers.
You can use Expo without EAS and do everything on your own, or you can use EAS without Expo.
We try to offer a convincing set of services, use it or not, up to you.
If you are feeling adventurous, you can try them all out at the same time 😅
bun create expo ./bun --template tabs && cd ./bun && bun expo export --platform web && cd ../ && npm create expo ./npm -- --template tabs && cd ./npm && npx expo export --platform web && cd ../ && pnpm
🍫🍭Early preview of a new way to create native modules for React Native and
@Expo
!
💪 First-class support for Swift and Kotlin
🏗 DSL syntax
✔️ Automatic arguments validation and conversion
🔌 Integration with JSI
Almost 50% reduction in Android app size 👏
(It's not in beta anymore, the beta label is for the internal team - me)
You might think that this must have been a lot of work. That's where you're wrong.
It's all so seamless with
@expo
.
♟️ Expo Visualized: JavaScript files are transformed in parallel across all threads to bundle as fast as possible.
This process is often referred to as "scheduling".
🔗 Stack:
◆
@Expo
CLI
↓ Metro Bundler
◆ [Scheduling & Caching]
↓ Jest Worker
◆ [Parallel transformation]
The Expo team is looking to add a frontend developer to work with
@Jonsamp
,
@fiberjw
, and friends on our websites. Come bring your web + design + Node skills. . We'll be at
@ReactMiamiConf
next week too.
@bran_aust
@expo
You can already use the debugger in Expo, just press J in terminal 😁
What you see here is the "unification" of debuggers for both React Native with, and without Expo.
@theFoldster
@expo
E.g. on
- Add `workspaces: ["apps/*", "packages/*"]` to the root package.json
- Remove pnpm-* configs
- bun install
- bun run build
- cd ./apps/mobile && bun start