-
However, RN has still a lack of binary support. Unlike NodeJS, RN doesn't come with native modules for dealing with binary data out of the box, like crypto and Buffer. When it comes to processing binary data, calculating a digest hash like SHA-1 and MD5 and converting from/to hex and base64 are popular tasks. To accomplish those tasks, you have to use JavaScript libraries like spark-md5 and buffer. If you need crypto module, you have to install rn-nodeify and a bunch of polyfill libraries, which eventually messes up your project and makes it hard to maintain. So, implementing the end-to-end encryption in React Native has been a big challenge for me.
-
CodeRabbit
CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
-
Unfortunately, the community is not interested in solving it.
-
This issue forces me to escape \0 characters to store blob data in my module called react-native-sqlite-2 like this:
-
As you can see above, the JS app just invokes native functions. Decrypting data is performed in my native module called react-native-aes-gcm-crypto, written in Kotlin and Swift.
-
react-native-quick-md5 10x faster on iOS and 8x faster on Android
-
react-native-quick-base64 4x faster on iOS
-
The React Native community is not focusing on providing solid APIs for binary data, unlike NodeJS. They are working on improving it as a front-end framework instead. And they would rely on extensions for other things like platform-dependent features. There is a project called nodejs-mobile which allows you to integrate NodeJS into your app. While it'd be fun for hobby projects, it's scary to rely on such a minor framework for my app focusing on its longevity. In fact, this library looks inactive these days.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
Eh, performance? Yeah, React Native is basically performant. But, React Native takes care of the rendering only. Everything you know about React performance will apply in a React Native application. React Native is also trying to improve launch speed by building their own JavaScript engine called Hermes. So, the rendering is usually fine.