Is This Possible With React Native?
The article aims to inspire and remind you that with React Native, self-defined limits are the primary constraints, and native code is there to provide solutions. It tells stories of clients with unique challenges and expectations. They exemplify how React Native can overcome limitations by pushing boundaries and creatively using native code when necessary.
"Is this possible with React Native?"
asked an iOS developer, a React developer.
At Callstack, we hear this question every once in a while. Whether it’s our client looking into launching an app on many platforms searching for the most optimal solution or just a developer within the community trying to get the app done, there’s always that risk of hitting React Native limitations.
Today, I want to share with you a few stories of our clients — each having its own set of problems and expectations. In all these cases, we had to challenge the way we write apps with React and think out of the box to provide a satisfactory solution.
I want these stories to inspire you. With React Native, the only limits are the ones you define yourself. In all other cases, you have native code that comes to the rescue.
We Are Voice
One of the challenges was the score SVG, that represented the notes and voices for a particular arrangement and had to work seamlessly and harmonically with the music player, taking things like the tempo and highlighting the notes into account. Last but not least, the player had to work in an offline mode, being able to send out analytics data regardless the network status.
You can read more about it and other challenges we have encountered here: We Are Voice Case Study.
If you are interested in understanding how we have implemented the music playback and improved the overall performance of the real-time communication over the bridge, I suggest you to look at our past conference talks we gave around this topic:
- The Power Of Interpolation, at React Day Berlin 2017
- Building a Fully-Fledged Media Player, at React Next 2016
The major challenge with developing the app was to integrate the external hardware.
There were a few basic requirements:
- it should work with Zebra label printers and jewelry scales,
- this integration should be possible via USB, Bluetooth, and network,
- there should be an option of searching
new devices, printing and measuring the weight.
You can read more about it and other challenges we have encountered here: Green Bits Case Study
At Callstack, we are always looking for new challenges when it comes to React Native development. Whether it’s hardware integration, native integration or just getting the navigation pieces sorted out, please get in touch with us. We’d love to help!