Introduction to Lightning, the TV-app development framework

Matthijs Langendijk
3 min readFeb 17, 2022

Picking the right development framework when building TV-apps is really a crucial first step. In one of my latest blogs I looked at front-end frameworks to use in 2022, of which Lightning was one of the options mentioned. However, unless you’re in the OTT industry, you might not have heard of Lightning before. In this blog we look exactly at that, what is Lightning, how can we use it, and most importantly why is it a good option when building TV-apps.

What is Lightning?

First and foremost, we have to ask: What exactly is Lightning? And more importantly, why is this Javascript framework specifically so good for usage with TV-apps? Contrary to basically every other Javascript frontend framework out there, Lightning is specifically built for usage on televisions. That means it comes with out of the box support for features that you would typically need for apps on these kinds of platforms. For example: focus management, or tv-remote control navigation, is built into the core of Lightning, a key feature to have for TV-apps.

WebGL instead of HTML5 and CSS

One of the key differences with other frontend frameworks however, is not the fact that it’s primarily targeted towards TV-app development. Different from other platforms is the way the application is rendered. Contrary to most frameworks, Lightning uses WebGL in order to render the content, rather than relying on the DOM and usage of HTML5 and CSS. Through the usage of WebGL, the framework is in a much better position to control and optimise the way content is rendered. Lightning contains lots of smart optimisations, making use of clever GPU and CPU rendering, getting the best out of often low-powered devices like televisions and set-top-boxes.

What prompted the developers of this framework to use WebGL rather than typical HTML5 and CSS for rendering? The folks working on Lightning, employees of a company called ‘Metrological (a Comcast company)’, have taken a lot of learnings from their previous TV-app development framework. This framework called MAF (Metrological App Framework), was also designed to work with low-end set-top-boxes. They had applied countless of little optimisations in this framework too, but saw a massive performance improvement by leveraging WebGL instead. And that’s how Lightning came to be.

Supported Platforms

Now that you have a rough idea of what Lightning is, I’m certain you’ll want to know where you can use it. The website of Lightning claims that the framework performs well on the majority of Smart TV platforms, set-top-boxes and really any other device that runs a modern webbrowser. So in terms of TV-apps, you should roughly be able to support these types of devices:

  • Samsung Tizen
  • LG WebOS
  • Android TV (Sony, Philips, Panasonic, TCL, etc)
  • Amazon Fire TV
  • Panasonic (My Home Screen)
  • Select Set-Top-Boxes

Conclusion

This blog really only scratches the surface of Lightning, but it should give a general idea of what the framework is, and on which devices it can be used for building performant and amazing TV-applications.

In my next blog, publishing shortly after this one, I’ll take a deeper dive into working with lightning from a developer perspective. Don’t forget to check back next week for that!

--

--