React Native Development Workflow - react-native

Hi iam new to the field of react native app development and had completed course in udemy.
But which cli should I choose first and according to which circumstances I should choose specific cli ?
What should be the workflow while designing app from scratch and which all languages do I need to know inorder to make successful completion of app ?
Totally confused and need help and direction in this issue.

Related

How can I monitoring errors in React Native?

I'm trying to get errors from my React Native app, just now the app it's in production so I need a free way to get the users errors to fix it and know what happened. I am using React Native with Expo.
Abstract / Answer
Generally speaking, Expo offers great error detection for debugging purposes when running it in local development mode. But since you weren't specific, I'm going to assume you meant production not development. Your best bet would be using Sentry. If you would have asked me before then I would have suggested building your own module based on native events and report back using Firebase or something similar. But since Sentry is now well integrated into Expo, then your best bet is using it. It's a great platform with many features, it's definitely worth it.

Automating the building of react native apps with gitlab

So far, I mainly used expo to preview my React Native app(s), and let others do the building (e.g. the APK for Android). Now, I want to do it myself and directly automatize this using gitlab.
I have to confess that I am not familiar with gitlab CI (yet), but I have experience with other CI-tools like Jenkins or Azure DevOps.
So far, I have a Ubuntu-server hosting my GIT-repo and I would go for installing gitlab on that machine, but how do I proceed now?
Here on Stackoverflow I found a couple questions on the topic of "React Native CI", which are not helping me much: One question is closed, the others are tackling only part of the challenge:
Automating react native apps
React-native: what automation CI tool is the best?
Continuous Integration with React Native
This are aside, I also found
A 2018 tutorial called Automate React Native Builds With Gitlab CI which seem to use Expo (which I heard is not strictly necessary).
GitLab CI/CD for a React Native App suggests a docker-based architecture which I do not want to have.
How to build and publish your React Native Android applications using GitLab CI is rather rudimentary.
Could someone please give me a top-level summary which minimal architectural components I need to have?

Augmented Reality in React-Native

It is a question to professional developers at react-native. My react-native application needs augmented reality in it to develop complex games. I tried using viro-react, if you know this package. Developers of viro-react gave up on the package:
Not supported on IOS anymore
Documentation for some components is missing or poor
Are here people who is successfully using AR in their apps? Can you please tell me how you are doing it (different package or native components)? If it is native components, can you please tell me in a nut shell how to use native components with AR?
Thank you
Viro is actually a company that no longer exists, so don't hold your breath waiting for them. You can try using this example that works on both Android and iOS if you really want to use viro.
From my experience, there is no great solution to building AR apps in react native. You can also build the AR part of your app in Unity and import it into your app using this package.

Should I go with react native with expo or I should eject it

I have to create a small react native app with some charts and graphs I need to know should I go with expo or not. What challenges can I face if I continue with expo.
i'm completely new to StackOverflow, but i have some experience in developing apps in react native, so far i have developed 6 apps(2 of them with expo) and they are already in play store/app store, my advice to the decision of whether to choose expo, eject, or go straight to react-native, is first of all evaluate what needs has the app that you are going to develop, all of them have their pros and cons, expo for example is super fast, you can have an app ready for production in weeks, to eject from expo is a very difficult thing to do, and to be honest i gave up on this and had to rebuild an entire project because i took the wrong decision on choosing expo, so i ended up rebuilding it in react native pure, now when i start a new project i tend to evaluate very deeply the needs of the project, review if expo is going to be enough for that needs. With React-Native pure projects you have the ease to add libs going straight to xcode, android and modifying directly there, and also have access to more native functionality.

React Native vs CRNA [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Closed 2 years ago.
Locked. This question and its answers are locked because the question is off-topic but has historical significance. It is not currently accepting new answers or interactions.
I want to start with React Native app development and need help to decide on which path I should go.
The main question is: should I go with React Native or create react native app?
From what I understand, CRNA really is react native using the expo client and tools, with a more comfortable use (no dev account required, etc)
I can see the advantages with using CRNA over react native (no being no need to set up dependencies, faster time to start with developing, no need for iPhone dev account or xcode+android combi, etc.)
However, as not all native libraries are included, I see myself in the need to export my app at a later point anyway and continue to work with xcode and Android Studio just like before.
So, if CRNA is just a nice way to get started with everything, then I would go for vanilla react native right away as I see no point in a temporary solution at all.
Also, and maybe you can correct me on this, I do not like the idea to have just another wrapper on top of my app, unless there are some more crucial advantages which I missed out.
So could you please share your experience on this? If you have developed apps with react native in the past, which path did you go and which path will you go in the future? React Native, CRNA or React Native and expo environment?
Hi I will also share some of my experience on the topic.
Since I have a front end background and was not familiar with XCode or Android Studio I've decided to start my native app developement from CRNA.
Indeed with just a text editor, purely with javascript and utilizing built-in expo SDK components I was quickly able to implement and publish to Play Store a fairly simple app.
That I find truly amazing :)
However after publishing the app I realized there are some pitfalls that unable it to compete with similar rival Java apps:
The biggest IMO is the size of the apk generated with exp
service.
For the app with just 3 screens and not a lot business logic, 25 mb and about 60mb after install is really a lot.
According to expo devs more complex apps will be approximately the same size or only slighty larger due to the bulk of the size being the native dependencies, and not actual javascript side.
But this still is a big problem and I will probably have to anyway eject the app to optimze the build size
So in general CRNA is a great and fast way to start and have something working but still before publishing the app to the users you'll not avoid seting up your custom build and all the dependencies like Android Studio
I think create-react-native-app is a good way to start so that you can focus on the React part of react native, especially if you are not familiar with React. And when you are ready to do things with native you can simply eject with npm run eject
When I started a new project with react native late last year, there was no create-react-native-app and I evaluated expo first. I didn’t like it as there were no easy native integration unless you eject when I know for sure we will need native integration. Therefore I went with vanilla react native. Also I already had experience with React on the web and iOS and Android native development.
TLDR
if you create project by create_react_native_app myproject
then it contains expo setting (not recomended )
if you create project by react-native myproject
then its plain react-native (recommended for small ,medium,large to projects )
Note : to use react-native command in terminal use this link
I would like to share my experience of app development . As I was new with react I started with CRNA and it went smoothly . Expo really provides many features like push notification , animations (recommended Lottie by Airbnb) and peace of mind that you can eject your app anytime you want to use native libraries with app . Best part is you don't have to rewrite any code and all expo exclusive features will work as well .
Therefore CRNA(use as much you can)+eject(when you need native libraries) = sweet spot .