Evaluating how different cross-platform frameworks stack up
In the world of OTT, broad platform coverage is critical to support how viewing patterns evolve over time. Within the connected ecosystem, there is a huge variety of devices, from low-end set-top boxes (STB) in international markets, to top of the line streaming devices like Apple TV or gaming consoles.
Going cross-platform is a necessity to appeal to modern viewers but that’s easier said than done.
Aside from having a bottomless budget for R&D and an army of engineers on-staff to act on shifting behaviours and trends, going cross-platform requires a more pragmatic solution.
The technology behind cross-platform frameworks is the most viable option for OTT hopefuls. There are many cross-platform frameworks in market that can provide stability and team efficiencies as platform/viewing preferences evolve.
When evaluating their technical foundation, three main factors need to be considered:
- Portability & Velocity: How does the approach scale across the entire device landscape? What are the impacts on development velocity?
- Performance: What is the performance profile of the technology? How does it bring efficiency when managing the available resources of low- and high-end devices?
- Experience Control: What are the dependencies on the underlying platform OS and where does that provide opportunities and/or limitations?
With these three pillars in mind, there are four common fundamental cross-platform approaches that will be explored:
- Platform Abstraction
Native, as the name suggests, is building individual native apps for each platform. This approach will give development teams the greatest control and performance but is the least portable of all the architectures.
Fragmented OS and hardware requirements lead to siloed development environments with multiple parallel codebases and teams, limiting cross-platform parity.
Hybrid applications leverage web-based development as a means of driving code reuse across a broad spectrum of platforms. This approach expands reach to a large number of devices but still suffers from fragmentation when managing web stack conformance gaps across various browser technologies.
Developers have no ability to influence the direction and evolution of that web stack and therefore are restricted in their options.
3. PLATFORM ABSTRACTION
This approach, which includes frameworks like React Native and Xamarin, provides code reuse for business logic by abstracting development into platform-agnostic scripting layers.
In order for Platform Abstraction to achieve a high-level of code reuse, it needs to adhere to a lowest-common-denominator approach to user experience. This is a viable solution in the interim but will face challenges in the long-term. As the streaming ecosystem continues to evolve and brand ambitions grow stronger, custom platform development will be needed. This will fragment the device ecosystem developers have in place, leaving them right back where they started.
An Engine approach provides a completely stand-alone platform agnostic application stack. It provides the greatest portability, minus platform-specific features which will need to be developed directly with the OS.
Engine’s leverage the same GPU as natively built frameworks, providing a near equivalent level of experience. And all of the UX components and rendering are under the control of the Engine, providing full flexibility in the experiences that can be built.
To get a complete breakdown of the pros and cons behind each architecture, including criteria to evaluate front-end frameworks on data-driven personalization and optimization, and developer and design productivity, check out our latest whitepaper.
With this paper, you will be able to make an informed decision on how to best manage your cross-platform OTT strategy and streamline your development process. Download Architecting a Front-End Stack for Multi-Screen, written by You.i TV CTO, Andrew Emmons.