A common question we get asked about our engine’s React Native solution is how it differs from “vanilla” React Native. At first glance, they are quite similar. After all, its ergonomic API has proven to be popular with developers.
That being said, our engine, You.i Engine One, does bring major advantages that cannot be found within vanilla at this time. These features build on what is already great about React Native by further reducing development time, enhancing UX, and expanding to more platforms. Here’s a breakdown.
You.i Engine One extends React Native to reach 11+ platforms, including desktop platforms. This can be useful for rapid testing and automation without needing to use a device or simulator.
You.i Engine One is a software development kit designed to handle the demands of video app development across multiple platforms. It comes with integrated video player bridges that guarantee playback across all platforms we support. The player is malleable, allowing for manipulation of the video surface. You.i Engine One enables teams to change the design of player controls and layer UI elements and animations over top of streaming video. DRM, subtitles, and language tracks are also included.
Comparatively, React Native does not have an official video solution, although there are a number of third-party libraries that are independently maintained.
React Native for Video – What You Need to Know
If you’re considering using React Native for video app development, or you’re already using React Native for your mobile video app and are looking to extend to TV devices, here’s what you need to know.
The iOS and Android implementations of vanilla React Native have inconsistencies due to the varying functionality of the underlying widgets. About 60K lines of code for Android and 30K lines of code for iOS—and that’s before touching platform APIs. Accounting for these differences results in code fragmentation which increases development and testing time. Beyond that, Android itself already has major fragmentation within its device ecosystem. You.i Engine One unifies the React Native platform to a single implementation. Our SDK enables the reuse of code across the entire front-end on every platform.
With vanilla RN, engineers need to have both the native development and the platform-specific React Native environments installed and synced up. With You.i Engine One, engineers only need to have the native environments set up.
Access to C++ and the GPU
Because our solution is built on a C++ engine not dissimilar to a game engine, developers can always drop below the React Native layer when necessary. There are a number of reasons you might do this including integrating C and C++ libraries and running intensive effects on the graphics card. Vanilla React Native exposes Objective-C / Swift and Java modules to do the same, so any work there would be duplicated and restricted to the limitations of those languages.
In addition to working directly in JSX, You.i Engine One provides an After Effects workflow that allows teams to optionally bring in content ranging from individual widgets to full screens as designed by an artist in a graphical tool. This is powerful when looking to do animations, skinning, multiple aspect ratios, or integrating branded graphics for sponsorships or advertising content. Vanilla React Native is mostly bound to StyleSheets and imperative animation calls to do the same after a spec handoff from the design team.
A&E Splash Screen running on React Native for Android TV
Although a powerful framework, vanilla React Native is fairly in flux and there are a number of issues impacting teams at any given time. You.i Engine One brings the benefits of vanilla React Native with the added stability of a commercial platform. You.i Engine One customers have access to our support team to investigate and build solutions for any impacting issues. We release patch versions monthly and prioritize customer-facing issues.
When taking the above into account, You.i Engine One increases delivery speed over Vanilla React Native while adding stability and greater platform reach. Teams can spend less time worrying about integrating a video player and its surrounding requirements, and dealing with fragmentation. Instead, they can plan their builds and test their apps holistically, across all platforms, knowing they have a reliable support system when faced with issues.
You.i TV will be demoing React Native running on mobile, streaming devices, game consoles, and Smart TVs at CES 2019. If you’re attending the event and would like to see the demo in action, book a private meeting with us at our Aria Sky Suite. To learn more about You.i Engine One, watch our product overview videos or visit our docs portal.