Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Discussion options

There are a few libraries such as

iOS:
https://github.com/bndkt/react-native-widget-extension
https://github.com/EvanBacon/expo-apple-targets

iOS/Android:
https://github.com/gitn00b1337/expo-widgets

But I don't feel confident in either of them for a production scenario.

Is there an official recommendation from expo on how to create and work with widgets in a cross platform mobile app? Writing native code is fine.

Modules? Custom plugins?

You must be logged in to vote

Replies: 1 comment · 7 replies

Comment options

Yeah, I find it really strange too. I wanted to migrate my 7-year project to Expo, but after searching for 1 hours, I couldn’t find a single official answer. It’s like nobody in the Expo ecosystem—developers or users—cares about native extensions or widgets. I can’t even find an official statement saying “not supported yet.” Do people using Expo to develop apps really not plan to create widgets or other extensions for their own apps?

You must be logged in to vote
7 replies
@FTCHD
Comment options

Your english is fine!

Just to be clear, the "unofficial" package you are referring to has been created by Evan Bacon, the creator of Expo/Expo Router.

It will most likely become part of the official workflow at some point, and I never had issues with it.

If your only concern with it is that specific line in the README then I'd suggest trying it out first before jumping to conclusions, that's all. If you're already handling an app with "many complex targets" then you should have no problem understanding how to make Evan's plugin work in case you do stumble into any issues.

Cheers!

@YaoHuiJi
Comment options

Your english is fine!

Just to be clear, the "unofficial" package you are referring to has been created by Evan Bacon, the creator of Expo/Expo Router.

It will most likely become part of the official workflow at some point, and I never had issues with it.

If your only concern with it is that specific line in the README then I'd suggest trying it out first before jumping to conclusions, that's all. If you're already handling an app with "many complex targets" then you should have no problem understanding how to make Evan's plugin work in case you do stumble into any issues.

Cheers!

For a new Expo user, this kind of user need would absolutely raise a lot of questions — they’d want to find even a single line in the Expo docs to make their uncertainty feel a bit more “certain.”

I’m really glad to hear from you that it works well in many projects. I already read through the expo-apple-targets source code two days ago and am prepared to customize it myself if it doesn’t meet my needs. Thanks for your “friendly” reply.

Lastly, I want to emphasize again that I hope the official Expo documentation can provide an official statement about this user need — instead of pretending it doesn’t exist. That would make things much friendlier for new Expo users.

@FTCHD
Comment options

You may be reading too much into how I write by I'm happy to help! ☺️

Evan has streamed a tutorial for it here and there is also this post on the official Expo blog.

@YaoHuiJi
Comment options

Bro, I can use Google and the search function in Expo, and I’ve already spent a few days on this, so I’ve seen all the links you sent. Maybe I’m a bit grumpy because I woke up too early today, so my reply isn’t very “friendly,” but trust me I truly appreciate your response — at least it added a lot of certainty to my uncertainty, letting me know that these third-party solutions do work for you and some people in production projects.

However, I want to emphasize again: my goal from the start has been that the official Expo documentation should have an article addressing this user need — even if it just says there’s currently no official solution, and suggests how to solve it yourself or recommends some third-party libraries. That way, other new Expo users wouldn’t have to explore Expo under the same uncertainty I did.

@YaoHuiJi
Comment options

Maybe I should summarize this long conversation so that other new Expo users concerned about this issue can have a “certain” answer when they came here:

As of now (2025-10-13), Expo does not have an official solution for this. However, most developers use expo-apple-targets to achieve it, so you can give that a try. If that doesn’t work, you can also use the bare workflow, keep your native targets, and using other Expo modules in your project.

I hope this words can provide some “certainty” for new Expo users confused about this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.