The main criticism of any cross-platform mobile development framework is inevitable if small, loss of performance when juggling native elements and cross-platform elements; if your app calls to a device camera, Bluetooth, microphone, or otherwise, you are familiar with the loss of precious milliseconds. React Native is looking to dispel this criticism with its upcoming updates in Fabric and Turbo Modules.
What is React Native?
With that kind of support, adoption, and ease of use, you would assume that they’ve solved the issue of performance, right? Not until now with Fabric and Turbo Modules.
What is the Problem?
How Do We Fix This?
Using Turbo Modules
Here’s where Fabric and Turbo Modules come in.
Here’s a version using JSI where the picture host object is referenced rather than called/translated:
Using Fabric to Manage UI
React Native will be able to run certain heavier calls synchronously, prioritized over other UI elements, to return information quicker to reduce the chance of flickering by using their new UI Manager dubbed Fabric.
Per Valentin Shergin, an engineer at Facebook, Fabric focuses on the following top strategies:
- Using C++ for cross-platform “shadow” layer (in place of the Layout layer above)
- Immutable data structures (Shadow Trees, Props, Events)
- Shared memory ownership (between JS and native)
- Type-safe data structures
- Opt-in synchronous execution where it benefits performance, the UI responsiveness and simplifying inherently-synchronous interop APIs.
Ram N depicted the benefits of this new system with the following diagrams. In this initial diagram, you see the current method, where dotted lines represent an asynchronous call, blue boxes represent background processes, and green boxes represent the UI thread.
Using Fabric, you can prioritize certain calls to be prioritized and sent synchronously, as shown in the onScroll event below. The user would receive the information they’re expecting while scrolling much faster since they don’t need to wait for an asynchronous call to be completed.
Why Is This Exciting for React Native?
React Native is a widely used framework that allows businesses to streamline their cross-platform app dev, but, like any cross-platform development, the creeping annoyance of lacking performance with native modules is always a criticism brought up during discussions of which framework is best. With these changes, businesses can worry less about the optimization of their experiences and can know that they’re delivering an experience close to native.
When Can I Optimize My Apps?
Fabric and the use of Turbo Modules are still in development, but you can follow their progress via their Github thread. You can also find Ram N’s full talk from the 2018 React Conference here. In the meantime, check out our React Native white paper on how we can help you deliver your business value using React Native cross-platform dev.
For app developers, it isn’t always apples and oranges –or, in this case, Apple or Android. There are similarities and differences between developing applications for iOS and Android. To help host Tyler Kern clarify them, Kern enlisted the expertise of two Shockoe...
The goal of the mobile experience has always been personalization. From a software perspective down to the size of the phones themselves, one size fits all has never been the case.
It’s that time of year again, Thanksgiving is upon us and the holiday season is right around the corner. At Shockoe, it’s been a busy year filled with new opportunities, incredible collaboration, and more chances to grow as a team. Before we head out for turkey and...
With new advancements in AR, online shopping now offers similar benefits to offline shopping without leaving your home. Key Takeaways: Augmented reality in e-commerce is the future of online shopping It’s a revolutionary technology that allows online shoppers to...
As mixed reality technology continues to expand, corporations and consumers are starting to see the numerous benefits it offers. Key Takeaways: The impact of mixed reality on business How customers respond to immersive experiences Three benefits mixed reality has to...
These examples of AR in digital marketing show you how the technology can engage customers with immersive experiences. Key Takeaways: AR technology overlays graphics, animations, or sounds on actual physical surroundings using a device and display An example of AR in...
Time and money are major parts of the outsourcing equation, but there are variables that have significant overall benefits for your business as well Key Takeaways: App development is a specialty, and most in-house teams have a skills gap Hiring an in-house team...
Key Takeaways: AR and VR create immersive experiences that take your brand activation to the next level It builds the emotional connection that helps grow your brand Experiences linger far longer with consumers than physical products 91% of consumers say their...
Recognizing the differences between VR, AR, and MR helps you grasp their benefits in a variety of settings Key Takeaways: Virtual reality is a 3D digital environment where users are fully immersed and can manipulate what’s around them Augmented reality is when a...
With hiring on the rise if your team is staffing up, consider adding immersive experiences to your onboarding strategy. Using tech like augmented reality and virtual reality (AR and VR) can improve the training experience, keep your team safe, and get everyone up to...
We know that a strong digital presence can improve so many aspects of your business. From creating an intuitive customer experience to streamlining inventory management for your employees the right digital tools can save time and money. They can also improve your...
Fifteen years ago the first iPhone hit the market - it’s safe to say the mobile industry has changed substantially since then. While there’s no crystal ball for what the future of mobile really is when you’ve got the experience that the Shockoe team has you have a...