Tech to use for your front-end OTT apps in 2025

Matthijs Langendijk
12 min readJan 6, 2025

--

New year, new tech? Are you considering revamping your OTT offering? Especially if you’ve been around for the past decade or so, you might still be relying on some of that older tech. Do you have 6 different tech stacks for all the platforms you need to support? This year might just be the right time to start fresh with tech that will benefit both your business and your developers too (because who doesn’t like working with new tech). Let’s have a look at the different options out there for your OTT front-end apps.

Back in December 2021 I published a similar blog, looking at the exact same: front-end OTT app tech. Interested in learning how tech has changed since then? You can find the previous instalment of this blog here:

Cross-platform magic

One of the first things you’ll have to ask yourself when picking any tech is: ‘Will it cover all the platforms I need to support?’. I can answer this question already for you, for now the answer will be: no. There will always be platforms out there with their own custom technology unlike any other (looking at you there, Roku). Meaning you’ll, for the time being, end up with different tech stacks to cover all your needs. But that doesn’t mean we can’t get very far for all the other platforms out there.

Starting off, if you’re only doing mobile and web, chances are you’ll be just fine with most cross-platform tech out there. Most of the tools we’ll cover in a bit will primarily support those platforms. They are after all, or at least were for the longest time, the most used. But they are also the easiest to approach. Web and mobile have a lot of similarities in behaviour (e.g. touch vs clicking is very similar in UX), and even from a UI perspective you’ll often have the same user interface on smaller screen websites and native mobile apps. So doing only web and mobile makes the choice for cross-platform very easy. Or is it?

While the choice of platform might be the first thing to consider when picking your tech, there are other topics equally and sometimes even more important than just the platforms. Performance can be a major factor when selecting a framework of choice. And while most frameworks are optimised in some way or another, they might not offer the same performance as native applications might. Especially when you’re dealing with certain features with a heavy tie-in to native (e.g. something with AR or VR). In a similar fashion, the region you’re launching will also have an impact. While most of the Western world has the latest and greatest expensive (and thus powerful) phones and tablets, that might not be the case in other countries. If you’re going to need to support lower-powered phones, native might actually be a better choice and offer your end-users a much better experience.

Lastly, there is the elephant in the room called TV. Of course, if you’re building an OTT platform, you’re likely going to need apps for TV too. I already mentioned Roku being an odd duck (what’s with the animal metaphors), but other TV platforms will have similar peculiarities. You’ll need a framework that will allow for a form of focus management and TV-remote input for example. Let alone, not all frameworks will perform well on certain devices, especially on set-top-boxes that are known for having limited amounts of power. Or worse, they might not even work at all due to the use of not-supported browser technologies (of which you’ll read an example a little bit later).

Before heading into the list of tech options to cover all your platforms, it might be wise to stock up on knowledge of what those platforms actually are. Because, surprise, there are a lot! You’ll know web and mobile, but do you know how many Smart TV and Connected TV platforms exist? What about set-top-boxes and consoles?

Available frameworks for cross-platform development

So you’ve made the choice to go for cross-platform development? Then you do have some additional choices to make. Mainly one; which framework or toolset are you going to use?

React Native

In our list back at the end of 2021 as well, React Native (RN) is the most popular framework for cross-platform development. Created by Meta based on their also popular JavaScript framework React, React Native is available for the majority of platforms out there. While officially RN is a tool to build apps for Android and iOS with the use of JavaScript, community support has made it available to virtually every platform out there. You can find Android TV, Fire TV and Apple TV (tvOS) support here: https://github.com/react-native-tvos/react-native-tvos. For web, and also web based Smart TVs, you’ll need to rely on the RN for Web package: https://github.com/necolas/react-native-web. All in all, you can get pretty far in terms of supported platforms.

While you do have the option to support regular web based Smart TVs from one single code base with React Native, I do want to add some notes to this possible integration. Especially if you’re going back many years (e.g. <2018), React Native might not give you the performance you need. Although a lot has been improved in recent years, especially with the new architecture becoming available, but it’s still going to be difficult to get the same performance as you would with a framework more optimised for TV. The same principle applies at an even bigger scale on low-powered set-top-boxes, which are often even slower and less powerful than TV sets. For that reason my personal recommendation is to use a different framework for older web based TVs and set-top-boxes.

Flutter

Also in our list the last time, Flutter has since matured quite a bit. This cross-platform framework created by Google, now has official support for a lot of platforms, with official support even reaching desktop. Official TV support is lacking, but you can use the Android, iOS and Web-based integrations to potentially reach Android TV & Fire TV, Apple TV and even web-based Smart TVs.

With Flutter using Dart as its main programming language, the community for Flutter is a lot smaller than the one with React Native. For that reason I couldn’t actually find any popular community-driven TV integrations for Flutter. Yes, there are some one-offs available, but besides that no real community that’s driving Flutter, specifically for TV, further into the world. It’s a telling sign that Flutter, while technically offering most of the things we need, might best be suited to only be used with mobile and web.

Interestingly though, while the community support for Flutter on TV isn’t as active, there are some TV platforms themselves pushing for Flutter. Both LG and Samsung are experimenting with Flutter, with LG even going as far as replacing some of their official apps on newer televisions, originally written with React, with apps built with Flutter. Similarly, Samsung has a page on their website dedicated to building apps with Flutter, and an official plugin with Tizen support. An interesting move from both, showing that, especially on newer televisions, Flutter might in fact be feasible.

Kotlin Multiplatform

New on our list is the JetBrains’ Kotlin Multiplatform (KMP). Obviously written with the use of Kotlin, it’s a relatively new approach to cross-platform development, but one that’s rapidly growing. Only reaching a stable and production-ready state at the end of 2023, the folks at JetBrains (with help from the community) have since made lots of changes to make KMP a success.

Because KMP is relatively new, the amount of open source tools and functionalities are also still relatively limited. JetBrains is however very committed to making improvements to the platform as a whole, toolsets and documentation, but also aims to improve the way developers can interact with the ecosystem. As set forth in their 2025 roadmap, JetBrains aims to make a searchable index of all the libraries available in the ecosystem, making it a lot easier for developers to find what they need.

Similar to Flutter, no official support exists for Smart TV, with no real libraries being available for TV either (maybe they will surface when the ecosystem becomes a bit more visible). There is of course support for web, android and iOS, so with some adjustments you’ll likely be able to get as far as you would on Flutter and React Native. JetBrains maintains list of case-studies for KMP, which does mention using KMP on Apple TV and Android TV/Fire TV. In other words, others have gone there before you, so it’s certainly feasible given the right amount of work and effort.

Unity, Tauri and .NET MAUI

Tools you’ll often not put in the same list as the ones we went over earlier, both Unity and .NET MAUI (Multi-platform App UI) do offer multi-platform support in one way or another.

Last time Unity was also part of our list, especially because they used to have official support for Samsung Tizen. That support seems to have disappeared now, with Unity of course focusing more on their core competence: games. You can however still target a lot of platforms, with, understandably, support for game consoles being a lot better than other multi-platform tools out there. In that same regard, you might use the WebGL export functionality to target websites and web-based Smart TVs. Both Android TV and Apple TV are supported too, so if you’re familiar with game engines, this might actually be a feasible solution for you. If you come from a typical app development environment though, the learning curve will be quite steep; steeper as it would be with KMP, RN or Flutter.

.NET MAUI is another outlier, and definitely the least ‘mature’ when it comes to the amount of platforms supported. Originating from Xamarin, this framework from Microsoft offers support for Android, iOS and desktop platforms. Yes, no web support, making it a whole lot less feasible for our use cases. If you come from a C#/.NET environment though, and already have an ASP.NET website or use Blazor, this might be a viable solution to extend support to mobile easily while not having to use JavaScript. Sadly, .NET MAUI does currently lack support for Android TV and tvOS, something that Xamarin itself did offer. A GitHub issue has been open asking for this for a while now. Regardless, you’ll still need to find a framework for Smart TVs.

In the same spirit as .NET MAUI, Tauri also has support for mobile apps with android and iOS, and desktop for MacOS and Windows. Different from MAUI however, is that Tauri wraps your apps written in JavaScript. You might remember Electron, which uses a similar approach. The difference with Tauri however, is that it is written in Rust with a big focus on performance and speed, increasing its potential. The problem we have with .NET MAUI is the same for Tauri though, due to its lack of platform support you’ll still need a solution for TV, and in this case web as well. Because you do write your apps with JavaScript here, you might share a lot of code between a web framework, Tauri and a TV framework. It can be a viable choice for your use case.

SmartTV and cross-platform

If you ended up here, does that mean you’ve decided to pick a specific framework for Smart TVs and set-top-boxes? I wouldn’t blame you. In fact, I would do the same! Set-top-boxes in particular can be annoying beasts to work with sometimes, so a solution specifically targeted to squeeze the best performance out of your application is definitely going to benefit you and your end-users. But which framework to pick…

Lightning 3

Did you read the previous iteration of this blog? Because then you might notice a slight difference in the title of this paragraph. Not just Lightning, but Lightning 3! Released in beta in 2023 and with a fully-fledged production release in 2024, Lightning 3 is a radical new version of the Lightning framework. Specifically created for set-top-boxes and televisions, Lightning uses WebGL technologies to get the best performance even on low powered devices. With its core focus on TV, it understands the pitfalls of developing for this type of platform, and optimises for it. With focus management included.

The reason I would opt for Lightning 3 instead of the previous, Lightning 2, is rather simple. Mind you, I’ve written a blog dedicated specifically to looking at Lightning 3 and what makes it better than Lightning 2, so for the full overview you can definitely read that. In short though, the developer experience with Lightning 3 and Blits (the framework you develop Lightning 3 apps with), is just infinitely better than with Lightning 2. It makes it a no brainer from my perspective, if you do decide to go for Lightning as your framework of choice.

Svelte

In our list last time as well, Svelte (note, not SvelteKit) for me personally remains one of the best web based frameworks out there. With a clear and concise syntax, small footprint and great performance, it remains one of the top contenders for not just Smart TVs, but also web. If anything that will be the reason you might opt for using Svelte instead of Lightning, because it can also easily be used for your website as it’s not specifically targeted for TV-app development.

There are downsides to every framework though, as is the case with Svelte. Because it’s not designed specifically for Smart TVs, you will need to implement focus management yourself, which can definitely be a hassle. Lastly, important to note if you do decide to go for Svelte, is that you might not be able to use the latest release (Svelte 5). With Svelte 5, the support for older web browsers (and thus a lot of Smart TVs) has dropped, with a requirement for e.g. the ‘Proxy’ object in browsers. With Proxy being nigh impossible to polyfill, you’re likely going to be stuck with Svelte 4 while you need to support older televisions. It’s a problem of many modern web based frameworks, with more and more heavily relying on ‘newer’ (a relative statement) browser implementations.

Vanilla JS

Okay, for the sake of transparency, I’ll mention this again like last time. It’s actually a move that others seem to be making as of late, with people feeling a bit of a ‘framework fatigue’. Vanilla JS is of course still the most powerful, especially on low-powered devices. You are after all in full control of your code, having all the flexibility to improve, optimise and adjust what you need to get the best performance from your web based application. It does also mean you have to improve, optimise and adjust all the things yourself. It’s the reason most opt for a framework that already has the wheels ready for you to start driving, rather than having to make new wheels first.

Which frameworks to use in 2025?

The amount of frameworks to choose from continues to grow, not just for multi platform alone, but in general. The world of tech never stands still. And for that reason I would actually advise you to evaluate your current tech stack to see if it’s still ‘up to date’. A lot of powerful frameworks are available that can get you to all platforms you need, with especially web, android and iOS being available to target for most cross-platform tools (like React Native, Flutter and Kotlin Multiplatform).

Running on web based Smart TVs too? Or even set-top-boxes? Then you might benefit from a multi-pronged approach. Going for a cross-platform tool for web, android and iOS (and possibly Android TV, Fire TV and tvOS), while opting for a separate solution for the web based TV platforms with a framework like Svelte or Lightning; will get you to all the platforms you need, while getting the best performance possible.

And then there’s Roku. There’s always Roku.

PS. Need some help deciding how to move forward? Find me on LinkedIn or reach out via email: matthijs.langendijk@wearetriple.com

--

--

Matthijs Langendijk
Matthijs Langendijk

Written by Matthijs Langendijk

Developer from the Netherlands. Working as a Solution Architect at Triple. www.linkedin.com/in/matthijs-langendijk/

No responses yet