I have been trying to implement Microsft(MSAL) authentication React Native Msal
plugin to use in my Expo(React Native) project but my project actually use Managed Workflow. I have to eject to Bare workflow or there is a way to keep managed workflow?
Thanks.
Related
promise-socket is a great package that uses nodejs built in net module. However, the net module cannot be used with Expo React Native. Is there a way I could use this package in Expo?
Iam new to react native and expo, while using an expo API in react-native project I got a warning "Constants.installationId has been deprecated in favor of generating and storing your own ID. Implement it using expo-application's androidId on Android and a storage API such as expo-secure-store on iOS
and localStorage on the web. This API will be removed in SDK 44."
And I got a solution for this from expo forum
But I can't figure out how to apply this solution to my project.
How would you like to eject your app?
Bare: I'd like a bare React Native project.
ExpoKit: I'll create or log in with an Expo account to use React Native and the Expo SDK.
Cancel: I'll continue with my current project structure.
What is the difference between ExpoKit and Bare?
What are the advantage and disadvantage on choosing this?
The two ways to use Expo tools are called the "managed" and "bare" workflows.
Managed workflow
Apps are built with the managed workflow using the expo-cli, the Expo client on your mobile device, and expo various services: push notifications, the build service, and over-the-air (OTA) updates. Expo tries to manage as much of the complexity of building apps for you as they can.
Bare workflow
This is workflow where you use some of the Expo tools in a vanilla React Native app. Unlike in the managed workflow where you don't touch the underlying native code directly, in this workflow the developer has complete control, along with the complexity that comes with that.
ExpoKit
ExpoKit is another way to use Expo tools in a vanilla React Native app. The problem with ExpoKit is it is, compared to the "bare workflow", very monolithic — you essentially include the entire runtime from the Expo "managed workflow" in your app, rather than only the pieces of it that you want
So the post is with reference to article
https://blog.expo.io/you-can-now-use-expo-apis-in-any-react-native-app-7c3a93041331
The 'Managed apps' here refers to an app created using expo-cli. I was wondering if one could implement one's own native module in a 'Managed App';
The app does run with react-native run-ios or react-native run-android, so do we get all the functionality of a normal react-native app?
The title of the article that you shared says:
You can now use Expo APIs in any React Native app
Which means that you can use the Expo APIs, but in 'Bare' workflow.
It doesn't say that you can work with native modules in 'Managed' workflow.
Bare workflow means that you cannot use the following Expo services:
The build service (expo build:ios; expo build:android)
Expo publish
over-the-air (OTA) updates
Push notifications
I am trying to implement Auth0 on my react native app and right off the bat you need to identify your PRODUCT_BUNDLE_IDENTIFIER for the callback the server uses through this template URL.
{PRODUCT_BUNDLE_IDENTIFIER}://{app_name}/ios/{PRODUCT_BUNDLE_IDENTIFIER}/callback
But since I'm using an Expo project I don't have the ios or android project folders. Am I missing something here or is it just impossible to configure an Auth0 with Expo created project?
The Auth0 React Native package uses native code; therefore, it's not compatible with Expo.
It looks like you may be able to work around this by using the web version instead, though. Expo has a repo (possibly out of date) which demonstrates this.