As I understand, even if it is possible, it'll only work for android because apple had blocked their NFC chips for 3'rd party apps which don't use Apple Pay.
I tried to use this package: https:www.npmjs.com/package/react-native-nfc-manager
However, It seems to work only with simple NFC tags,but not with EMV (Credit Card).
My question is Am I missing something? Or it cannot be done in React Native and I should move to Android Studio instead?
Thanks!
Related
Can anyone recommend a good library for react native - expo that manages credit card inputs? I tried using react-native-credit-card-input but the project looks dead and it has many deprecated hooks and dependencies.
Thanks!
you can check this site see what package is better then another
https://www.npmtrends.com/react-native-awesome-card-io-vs-react-native-credit-card-vs-react-native-credit-card-input
but the package that you motioned is not deprecated and that's a good one
I'm sure that such a question already asked, but important thing that now mobile phones more powerful than 5-6 years ago. I just remember how hybrid mobile apps was slow especially with animations, transitions between screens, delay on touch. Today in our company we developing mobile app with ionic (twitter-like app for organization internals) and it works really smooth and fast. I've also developed the same app with same screens on react native and actually don't feel difference.
I understand that by definition react native should perform better because it's "more native". But is it still exists significant reason to write app in react native or ionic/cordova is completely enough to feel "native" in application?
I prefer to write code with react, but ionic now supports react as well.
This is a very great question.
Firstly, the "mainstream" advantages for React Native over Ionic is:
Performance [60 fps on animations];
Native look n feel;
Smooth Native Navigation;
Native modules
And Ionic over React Native:
PWA in mind;
Share full web codebase;
One team for two platforms;
But, i understand your doubt.
"Still exists significant reason to write app in react native or
ionic/cordova is completely enough to feel "native" in application?"
If your app need fluid animations or high CPU or GPU usage, you may have issues with Ionic or other webview-based framework.
However, if your app don't need so much processing, Ionic may the best choice here, and so less complex to build.
This is not a technical question.
It just this is my first programming language which I am fluent and I don't want to abandon it. But I feel frustrated, I need to know about this framework, but should I learn something that will change in just a couple more weeks.
News:
https://adtmag.com/articles/2018/07/10/abandon-react-native.aspx
https://www.theregister.co.uk/2018/07/26/node_native_developers/
Few things from my perspective: Airbnb was supporting React Native since 2016, and recently they announced sunsetting React Native and reinvesting all of their efforts back into native because they weren’t able to achieve their specific goals. The reason why AirBnB is moving away from React Native is very specific to Airbnb. They already have a huge number of IOS & Android Developers and feel their application needs are pretty unconventional. They end up developing for 3 platforms instead of 2. Which means their entire application is not in React Native, only a few features are in React Native.
Read these articles: https://medium.com/braus-blog/airbnb-is-dropping-react-js-should-you-too-dcbff36def5c and Here goes what worked well and what didn’t : https://medium.com/airbnb-engineering/react-native-at-airbnb-the-technology-dafd0b43838 . And one head's up from the RN team after the .56 version release is "
We're working on a large-scale rearchitecture of React Native to make
the framework more flexible and integrate better with native
infrastructure in hybrid JavaScript/native apps. With this project,
we'll apply what we've learned over the last 5 years and incrementally
bring our architecture to a more modern one. We're rewriting many of
React Native's internals, but most of the changes are under the hood:
existing React Native apps will continue to work with few or no
changes."
Facebook has not stopped supporting React, and there are still a lot of contributors supporting and using React Native in the community. Moving away from technology depends on what are the other alternatives you have.
I'm trying to decide which language to learn so I can program an mobile app that revolves around NFC and your location. I heard Flutter and Reactive Native are two relatively new languages that allows you to write code for both iOS and Android and there's courses for them on Udemy. However when I Google searched "NFC Flutter" there wasn't any relevant articles on how to incorporate NFC. Is it worth learning either of the two languages or should I write my app separately in Swift and Java?
You can use either React Native or Flutter and still have NFC capabilities.
For Flutter there is this plugin you could try (haven't tested it myself)
For React Native you could use this plugin which is tested and works great
At the time of writing this answer there is no full solution for NFC in flutter.
That said, you can implement NFC functionality using PlatformChannels. Or, better, encapsulate in in a plugin.
That way, you can write a code for your app in dart for both platforms, but NFC functionality will call Native Swift or Java code to handle platform specifics.
Here is one plugin that is still Work in progress, that does the exact same thing for Android only. You could, for example, fork the plugin and add iOS code and there you would have full solution.
I am making a language app that records any new vocabulary a user is trying to learn. It would be great if users can add their words via a speech to text program, instead of having to enter it manually. I am having trouble achieving this task. I am aware that there is an API for apple but not android. Is there anyway possible of doing this, using an API? Like for instance, google speech to text API? But I guess I would first have to be able to access the device's microphone. I am a beginner and this would be very easy using the web. Is React Native still too young for this task?
You might wanna look at react-native-android-voice, a React Native module that supports speech-to-text for Android.
As #delkant mentioned, there's now also react-native-voice that supports both Android and iOS.
Alternatively, you can always write your custom native module using Android's SpeechRecognizer API. Here's a summary of all the classes and interfaces you might need for this task. If you are familiar with developing native Android apps, it's pretty easy to create a native module and bind it to your React Native project. Here's the official documentation of how to achieve this.
You also have react-native-voice
A speech-to-text library for React Native.
It supports android and iOS
The react-native-bluemix module provides both SpeechToText and TextToSpeech for React Native: https://github.com/pwcremin/react-native-bluemix
It wraps the Watson tools for both ios and android: https://github.com/watson-developer-cloud
React Native uses SFSpeechRecognizer under the hood for iOS which have various limitations : https://developer.apple.com/documentation/speech/sfspeechrecognizer
Be prepared to handle failures caused by speech recognition limits. Because speech recognition is a network-based service, limits are enforced so that the service can remain freely available to all apps. Individual devices may be limited in the number of recognitions that can be performed per day, and each app may be throttled globally based on the number of requests it makes per day. If a recognition request fails quickly (within a second or two of starting), check to see if the recognition service became unavailable. If it is, you may want to ask users to try again later.