Just to give you the reason for this post I’m one of the waiting guys’ for webrtc feature WebRTC | Voters | Expo so I’m in dead end due to this limitation
Since I can’t wait more I dig in the documentation to see if there is away around this
So, I found in the documentations that “Use Expo build service to create your iOS and Android builds” is in progress
And As I’m newbie on this matter I wanted to ask: Do we need XCode and Android studio when using Expo build service when it is ready?
Actually I don’t want to use Android Studio nor XCode at allfor building any app (old developer), is this possible with Expo? If yes how?
In order to use WebRTC you would currently need to eject to the Bare workflow.
Expo’s current build service only works for Managed workflow apps.
So right now, you would need Android Studio and Xcode to build your app.
if you are working on a bare project then you would need those tools to build and run your project locally in development. but you wouldn’t need to use them to create your release builds.
we’re working on a solution for the development side of things too, but one thing at a time
First of all, I want to thank you for your wonderful and continuous efforts to make Expo better and open more options for developers
I also invite Expo Team to reconsider the acceleration of the inclusion of Webrtc in your short plans as it is really required now by developers because of COVID19
Thank you and for all Expo contributors and supporters
If you haven’t already you might want to upvote the feature request on https://expo.canny.io
But the problem is there’s a conflict between adding features and keeping the size of managed apps down.
They have posted recently about things they’re working on to allow you to remove things from the app that you don’t need. The problem is it makes it much easier to break your app with an OTA update that references native code that doesn’t exist in the deployed app because you removed it to save space.
It is up to the developer to chose to add a module or to remove it to save space…
Otherwise if it is a “conflict” no one will ask for any additional features
Another thing is that features like Webrtc, Bluetooth etc. are a must thing to be included otherwise people will shift from Expo to other providers such as Ionic, Flutter …etc.
I still see Expo is better than the others, but staying on the Top requires continuous updates and essential features to be added…
In the features request Bluetooth and Webrtc have ben requested since 2017 this really long time of waiting
The problem is that currently if they add WebRTC or Bluetooth support then everybody will have that native code in their app whether they use it or not.
They are working on this problem, but for now the answer is to eject.
If what you are saying is true then they will stop adding any feature, I hope not!! Also if it is true then they need to redesign Expo, maybe make it different levels or only include the imported modules.
Anyway for my project that requires WebRTC I will shift to Flutter as it seems they wont support it soon, and keep other projects with Expo…
I am just a user of Expo, so I can’t tell you what exactly they are planning etc. but as I said they have posted some things to indicate that they are working on the problem. It’s just not a very easy problem to solve.
They have recently made some modules that were only available in the Managed workflow (like Updates) available in the Bare workflow. They have also hinted about extending their build service to be able to build Bare apps. This shows that they are trying to make the Bare workflow better, so ejecting is less painful.
I’ve also seen a post (although I can’t remember now where I saw it) about their plans to allow people to exclude certain things from Managed apps (e.g. face detector) if they are not going to use it. Part of the problem is that this is hard to do in a way that will avoid lots of unhappy developers who publish an OTA update that references the face detector after they excluded it from the original build.
Anyway, as I said I am just an Expo user, so don’t take what I say as some sort of Expo company policy.