Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 2 years ago.
Improve this question
The normal tools we use for error tracking native apps don't really work since the crash reports contain minified js. The tools we use for web apps don't seem to support react native. Are there services that do support react native and if not do we have any other options to get useful crash reports?
Heads up that Bugsnag released official support for React Native to get crash and error data on both the js layer and the underlying OS.
It does handle minified JS using sourcemaps. These can be hosted by you and referenced from Bugsnag or hosted via Bugsnang's API.
Sentry and BugSnag both have dedicated SDKs for React Native:
https://github.com/getsentry/react-native-sentry (doc)
https://github.com/bugsnag/bugsnag-react-native (doc)
They both handle sourcemaps.
[TL/DR]
We created a react-native-bugsnag lib before the official bugsnag lib was out, but it's now deprecated.
Use the official instead.
[Long version]
We were also looking for a way to report errors on react-native and since I was not really happy with the existing solutions I found (Crashlytics, and sentry), me and Joshua Pinter decided to write our own implementation of a react-native module, that works with bugsnag.
Here it is: react-native-bugsnag.
It supports both iOS/Java and Javascript handled and unhanded crash reporting.
I hope you enjoy!
Also now React Native + Code Push + Bugsnag for a really pleasant bug fixing relationship
https://blog.bugsnag.com/react-native-plus-code-push/
Instabug and AppCenter now both provide react-native crash reporting tools with js de-obfuscation, but I haven't tested any of the 2 for crash reports.
I know of two ways this is being done. First, Crashyltics. I use it, but it requires a few tweaks apparently to bubble up the javascript side of the fence. Here's a great article by delivery.com on what's involved with that...
Add Crashlytics to your React Native iOS app
Second, here's a react native integration with Sentry
Sentry for React Native
Hope you find these useful.
Bug snag - https://docs.bugsnag.com/platforms/react-native/react-native/
Crashlytics - https://www.npmjs.com/package/#react-native-firebase/crashlytics
This are tools used for React native to report bugs. Hope it helps ! Thank you
Related
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.
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,
Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 5 years ago.
Improve this question
I am going to develop react native app using Expo but I don't have idea which one is best? Please suggest me any idea?
Actually I am using Expo. Which is best Expo or normal Android or Xcode development?
When you write code in Expo (abbr. XDE), you write React Native code. Expo has two main pieces:
1) XDE: a developer tool for creating projects, viewing logs, opening on your device, publishing, etc.
2) The Expo client: an app on your phone that lets you open your projects while you're working on them, without needing to go through XCode or Android Studio, and also lets other people view them too!
But ...
With most apps in React Native, you end up needing to utilise several
third party native libraries, which Expo doesn’t current support
outside of their built in APIs. There are a lot of things that can be
done in JS only, but I’ve always ended up running into a need for
native libraries with every React Native project I’ve worked on
(several production apps). That being said, Expo does support
“detaching” your app from Expo, which will allow you to carry on with
a standard free standing React Native app.
Expo has some advantages over using normal Xcode/Studio like expo client, but it also has its cons when it comes to large scale applications . You can choose based on your needs.
If you’re just getting started and you need to get off the ground quickly, I’d definitely recommend Expo
Note: This answer is a blend from multiple developers
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 .
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