A Beginners’ Guide to Lightning: The TV App Development Framework

The world of Connected TV app development can be extremely perplexing from the outside. Developing a Connected TV app is no easy feat, as teams of developers code in different programming languages to ensure their app runs on respective operating systems (OS). Teams of developers use specific software development kits (SDK) for each TV manufacturer, such as Samsung and LG for example.

For non-developers, the many acronyms and abbreviations for the long list of CTV app development languages and frameworks can be somewhat daunting.

In this article, we’re going to take Lightning, a portable and performant Connected TV app development framework created by Metrological, and give a simple overview and an understanding to help you gain more detailed insight. Welcome to ‘A Beginners’ Guide to Lightning’.

If you come across acronyms or terms you may be unfamiliar with when reading this article, please refer to the ‘List of Acronyms & Definitions’ at the bottom of the page.

What is Lightning?

In its simplest form, Lightning is an open-source framework used for developing TV applications. Lightning is based on the JavaScript programming language, using high-performance WebGL for rendering and is created by Metrological. Lightning was built to deliver a premium user and Connected TV app experience.

For those with little knowledge of JavaScript and WebGL – the key components of the Lightning framework – they are defined as the following: JavaScript is essentially a programming language and WebGL is an API (Application Programming Interface) used for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins.

By using Lightning, developers don’t need to use HTML or CSS, meaning the end result is an extremely performant browser-based TV application. Lightning also uses HTML5 standards, meaning it is highly portable. When referring to portability, this means that apps developed within the Lightning framework run on all major Connected TV platforms, set-top boxes and everything else with a HTML5 browser. You can read more about HTML5 for Connected TV applications here.

Benefits of Lightning

Allows you to build once and deploy everywhere

One of the many benefits of the Lightning framework is that it allows developers to build once and deploy across all major platforms. Fragmentation is easily one of the biggest challenges when it comes to Connected TV app development, and Lightning acts as a saving grace in the sense that once an app is built, it can be deployed anywhere. With Connected TV devices each having their own unique hardware and software, it can be incredibly challenging and time-consuming to develop an app that performs and behaves consistently across them all, but the power of Lightning means you can avoid this issue.

Cuts development time

Developing for Connected TV can be very time consuming due to the fact that you must develop across a wide range of platforms. With the Lightning framework however, as you have the ability to build once and deploy everywhere, you can drastically cut down development time due to not having the issue of fragmentation across the different operating systems and devices.

Creates a highly performant and stunning app

WebGL, the API used for rendering interactive 2D and 3D graphics, normally involves lots of manual labour, as the development on this platform requires dealing with and understanding computer resource management (such as RAM and processing power). Most of these troublesome processes have already been taken care of, meaning Lightning does the majority of the heavy lifting. As a result of this, developers have the ability to create highly performant and stunning applications due to the framework’s ability to use WebGL, seeing major benefits in overall performance.

Why use Lightning?

With a host of technologies available on the Connected TV app development market, the question is, why use Lightning and not HTML, CSS and JavaScript?

HTML, CSS and JavaScript are common web technologies that are nowhere near as memory-efficient as the Lightning framework, with it being commonplace that these web technologies can result in applications overloading Connected TV devices. When developing for Connected TV, this is the last issue you wish to encounter.

Utilising the many benefits of WebGL (incorporated into the Lightning framework) is a great way to avoid overloading Connected TV devices when loading apps as WebGL helps to overcome performance-related issues, whilst also allowing for a heap of other benefits. However, WebGL isn’t the easiest tool to use, or understand for that matter. Luckily for those that work with Lightning, the framework very much allows developers to use the majority of WebGL’s features whilst only using JavaScript. With it being a highly optimised framework utilising both CPU (Central Processing Unit) and GPU (Graphics Processing Unit), it means you can fulfil the maximum potential of the Connected TV devices.

The Power of Lightning

Throughout this Beginners’ Guide to Lightning, those with little understanding of the framework before reading this should now have a basic understanding of how the framework operates and its benefits for developers when building Connected TV applications.

Lightning provides a plethora of benefits, allowing you to build high-performance and portable applications which can be deployed anywhere. At FX Digital, we’ve built applications using the Lightning framework for some incredible brands we’re proud to call clients. Being able to build once and deploy everywhere with a framework that drastically cuts development time and delivers a highly performant and stunning app is why the Lightning framework is continuing to grow in popularity.

One of our talented developers has written an article on how to install everything you need to build your first Lightning app, so if you’re a developer that’s keen to get started with the framework, read more here.

List of Acronyms & Definitions

We understand that many of the acronyms and abbreviations can be confusing, so we’ve compiled a list of all included within the article below that you can refer to.

OS
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.

SDK
A software development kit (SDK) is a collection of software development tools in one installable package.

CTV
Connected TV (CTV) specifically refers to televisions or set-top-boxes that have access to an internet connection and can load or stream digital content.

UX
The user experience (UX) is how a user interacts with and experiences a product, system or service.

JavaScript
JavaScript is an object-oriented computer programming language commonly used to create interactive effects within web browsers.

WebGL
WebGL is a graphics application programming interface (API) created for use in web applications.

API
An application programming interface (API) is a connection between computers or between computer programs.

HTML
HyperText Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser.

RAM
Random-access memory (RAM) is a computer’s short-term memory, which it uses to handle all active tasks and apps.

CSS
Cascading Style Sheets (CSS) is a style sheet language used for describing the presentation of a document written in a markup language such as HTML.

CPU
A central processing unit (CPU) is the electronic circuitry that executes instructions comprising a computer program.

GPU
A graphics processing unit is a specialized electronic circuit designed to rapidly manipulate and alter memory to accelerate the creation of images in a frame buffer intended for output to a display device.