React Native vs Expo - react-native

I am doing a course of android development and being taught expo to develop it.
Now my question is as I am a beginner Do I have to learn react native for expo Or expo is a separate different language.
I am really confused as on coursera Android Development by Meta. In this course they are using react native.
What should I do
Should I learn expo first
Or I Learn React Native
Or I Do course from Coursera
for Android Development as a beginner without any coding knowledge
I have searched a lot on Google difference between react native vs expo. There are a lot of blogs answering advantage and disadvantages. Someone saying use react native someone expo
Really confused

React Native and Expo are both popular technologies used for building mobile applications, especially for Android and iOS platforms. Here's a brief comparison of the two:
React Native:
React Native is a JavaScript framework for building native mobile applications. It was developed by Facebook and allows developers to create apps that look and feel like native apps, but with the use of JavaScript and React. It uses native components, which makes it faster and more efficient than other cross-platform frameworks.
Expo:
Expo is a free and open-source platform for developing mobile applications. It is built on top of React Native and provides a set of tools and services to make it easier to develop, test, and deploy mobile apps. Expo provides a lot of pre-built components, which makes it easier for beginners to get started with mobile development. It also allows developers to preview their apps on a physical device without having to install a separate mobile app.
Which technology should a beginner use?
Both React Native and Expo are great choices for beginners who want to learn mobile development. However, if you're an absolute beginner with no prior experience in Android development or programming, Expo might be a better choice because it provides a lot of pre-built components and simplifies the development process. It also has a user-friendly interface and makes it easier to preview your app during the development process.
React Native, on the other hand, might be a better choice for those who have some programming experience or are already familiar with the React JavaScript library. React Native provides more flexibility and allows developers to use native components, which can lead to a more efficient and performant app.
Ultimately, the choice between React Native and Expo will depend on your specific needs and goals as a beginner in Android development.

Related

Will this module work in expo or react native?

I am new to react native and expo.
This is the module i am looking at: https://github.com/leesiongchan/react-native-esc-pos
I want to build an app that can print using bluetooth thermal printer. I am not sure if i should build it using react native or expo. Please advise me.
Thank you.
Expo has its own limitations and there are even some bugs there too, Its good for quick development as the documentation suggests the same that it is good to get you started with development within minutes without much hustle. In my opinion, React Native CLI is most of the time the best option even if you are new to react native development. Because of the following reasons
You will learn a lot as you will get your hands dirty in core react native app development.
You won't have to deal with expo limitations
You won't have to be dependent on expo tools
Any Library which requires linking or contains native modules will not work with the expo.
The library you mentioned uses many native modules and usually these type of libraries are not supported and that is the reason why they've built their own APIs and Native Components you can read this,
the developer has not mentioned Expo support anywhere on the docs but still You can open an issue on GitHub and ask the developer if it supports EXPO platform or not, or maybe instead of asking you can try the library yourself and you will find out if its working or not,

Can we Develop the website as well with react Native ? is their any way to do it?

I Am new to react and React native but can any one let me know that i can develop
website, App (Android, IOS) from same platform (REACT NATIVE)
I Am asking here because on official site of React Native
https://facebook.github.io/react-native/
they have shown the picture of Mobile, i-pad, And Desktop View as well
so may be there is chance we can develop it in all platform
Thanks in Advance
Web based apps (that load on site pages, in browser) can be built with React JS:
https://reactjs.org
React Native is an entire platform allowing you to build native, cross-platform mobile apps, and React.js is a JavaScript library you use for constructing a high performing UI layer.
React.js is the heart of React Native, and it embodies all React’s principles and syntax, so the learning curve is easy.
React-Native doesn’t use HTML & CSS to render the app, but provides alternative components that work in a similar way.

Can I use flutter in my react native app?

So I have a react native app and was hoping if I could use flutter for some components.
We are using redux for state management and was curious if we could use the same redux store for flutter components.
And for persistence we are using realm, was curious if flutter supports realm.
No you can't use flutter component into react native because both are written in different technology language stack.
Flutter is an open-source mobile application framework that works on
a completely different programming language called Dart, While React
Native lets you build mobile apps using only JavaScript.
Dart is based on c/c++, java and supports things like abstraction,
encapsulation, inheritance, and polymorphism. Flutter team picked
Dart because it matched the way they were building user interfaces,
With Dart bridge, the application size is bigger, but it works much
faster. Unlike React Native with Javascript bridge.
Second Redux is an application architecture, made originally for
JavaScript. Redux provide library for both but we can't use same
redux state for react native and flutter. Redux are written
different for both platform with same functionality and
working(state management)
Realm is also a third party plugin which is available for both
platform but we can't share code between both platform.

How can i incorporate Expo components in a non-expo React Native app?

I'd like to use Expo's barcode scanner component in a non-expo app that i've already mostly built:
https://docs.expo.io/versions/latest/sdk/bar-code-scanner.html
Is it reasonable to do this? Or is it more reasonable to create a new Expo app then migrate my existing codebase into the new expo app?
My existing app was created using react-ignite, not sure if that is relevant or does not make a difference.
Generally speaking, integrating Expo components with native dependencies (such as the camera) into a non-Expo app is possible, but is a bit tricky, as you'd have to lift the source code from the Expo codebase into your application.
The JavaScript code for these modules exists in the expo/expo-sdk module, and are quite straightforward:
CameraBasedBarCodeScanner
Camera
However, the native module that's required to make the Camera work are embedded within the expo/expo client application, and depends on other parts of the Expo codebase.
Instead, I recommend you use the react-native-camera component, which supports barcode scanning out of the box, and is easier to integrate into a plan React Native application.

React Native - Using iOS and Android SDKs

I just started using React Native a few days ago and want to build my next iOS/Android app with it. However, I had a question (and I apologize in advance if this question is very basic).
If I am integrating my iOS and Android apps built with React Native, with an external service (like Salesforce for example), how do I go about using the native mobile SDKs they provide for iOS and Android? As in, what do I do to integrate those SDKs into my React Native app? Those SDKs are using native Objective-C and Java code, so how would I be able to use the JS code for React Native? I believe my understanding about this is skewed.
I looked at this link which goes into it, but it seemed very confusing and I had a bit of a hard time grasping the concept (again, I am very new to this - I've done a lot of web development, hence turning my attention to React Native, but I've done no mobile development whatsoever).
If someone could please explain how that works, and point me in the right direction where I can read and learn more, I would sincerely appreciate that!
Thank you!
Checkout out this talk on SalesForce mobile SDK for React native
Official SalesForce Docs - Read Here
Also this tutorial might help you. http://rajaraodv.github.io/salesforce-react-native-tutorial/
Update:
There are react native packages build by open react native community if you couldn't find anything to access native iOS or android functionality you will have to write react native wrapper yourself using react native "Native Modules"
Native Modules