A curated list of awesome resources for building Smart TV apps
Smart TV is a growing platform of TVs having access to the internet and allowing to browse web-sites and install applications. It has own ecosystem with main players like Samsung, LG, Android TV and Apple TV. In this list you will find official and third-party resources for developing Smart TV apps and communicating with TV from remote devices.
- Cross-platform frameworks
- Remote control protocols
- Navigation libraries
Below are the most popular platforms for Smart TV. The full list is here.
- Samsung TV Developers site - News, documentation and SDK downloads.
- Tizen TV Developers site - Full API documentation and guides for developing Tizen TV apps.
- Tizen Studio - IDE for TV apps development including Tizen TV Emulator.
- Samsung TV Developers Forum - Ask questions and share tips when developing apps with Samsung SDKs.
- Samsung Smart TV Bug Bounty - If you find bug in Samsung TV, submit it here and get a reward $1000+.
- vscode-extension-tizentv - A Visual Studio Code extension that provides a lightweight IDE for Tizen application developers.
Third-party remote control libraries
- samsungctl - Library and command line tool for remote controlling Samsung televisions via a TCP/IP connection. It currently supports both pre-2016 TVs as well most of the modern Tizen-OS TVs with Ethernet or Wi-Fi connectivity (Python).
- samsung-remote-models-2014-and-newer - Encrypted communication with the internal web service of Samsung TV models 2014+.
- SmartCrypto - SmartView2 encrypted handshake API implementation in C/Python.
- samsung-messagebox - Python script to show notifications on Samsung TVs.
- samsung-tv-control - Library for remote control Samsung TV in your Node.js
- Identification of Samsung TV models 2008-2017 - How to get screen size, matrix type, year of development, series and other parameters from Samsung TV model name.
- Tizen Studio development references - Documents focused on web apps for Smart TVs e Professional Monitors, based in personal researches.
- webOS TV Developers Site - WebOS TV apps development principles, tutorials, API documentation and packaging tools.
- webOS TV IDE + SDK - IDE for apps development including a Command Line Interface and emulator.
- Connect SDK - Open source framework developed by LG that connects your mobile apps with multiple media device platforms. Currently supports 8 platforms. But seems abandoned.
- webOS TV Developers Forum - Ask questions, share information and learn about Smart TV app development with other developers.
Third-party remote control libraries
- pylgtv - Library to control webOS based LG Tv devices (Python).
- LGWebOSRemote - Command line tool for webOS remote control of LG TVs (Python).
- homebridge-webos-tv - A plugin for Homebridge which allows you to control your webOS TV.
- PyWebOSTV - A generic & entensible WebOS 3.0 Client Library (Python2, Python3).
- go-webos - A small Go library for interaction with webOS TVs (golang).
- LG Magic Motion Remote - Point, Click, and Control - Operate TV like a computer mouse.
- openlgtv.org.ru - A non-commercial project for legal reverse engineering and research on LG Television firmware. Seems a bit outdated but contains a lot of information.
- Identification of LG TV models 2011-2017 - How to get screen size, matrix type, year of development, series and ohter parameters from LG TV model name.
- Android TV Developers site - Documentation, tutorials and best practises for building Android TV apps.
- How to develop Android TV App? - An article about developing apps for Android TV.
- tvOS Developers Site - SDK, documentation and tutorials for developing tvOS apps.
- TVML - Apple TV Markup Language for creating tvOS apps.
- Google Cast SDK - Official Google Cast SDK documentation and tutorials.
- TVs with Chromecast built-in - List of vendors supporting built-in Chromecast and advantages over traditional TV remote controller.
- react-tv - React development for TV: renderer for low memory applications and Packager for WebOS, Tizen, Orsay.
- TOAST - Samsung open-source framework for multi-platform TV apps developemnt.
- Enyo - LG framework for development apps for all major platforms, from phones and tablets to PCs and TVs.
- Smartbox - Smart TV universal library for Samsung, LG, Philips, SmartTV Aliance, STB Mag app development.
- Mautilus Smart TV SDK - A platform-agnostic framework for developing TV Apps. Supports Samsung, LG, Philips, Sony, Panasonic and VESTEL Smart TVs.
- BBC TAL - An open source library for building applications for Smart TV developed by BBC engineers.
- PureQML TV - A declarative front-end framework for web-based SmartTV/STB platforms. Has experimental support of Android TV.
Remote control protocols
- DLNA - Industry-wide standard for sharing data over a home network. Depending on the DLNA-compatible devices you own, you might be able to stream films from your laptop to your TV, play an MP3 stored on your phone over your hi-fi system, or print a photo from your tablet on your home printer.
- DIAL - Developed by Netflix and Google, this protocol alows client devices (like smartphone, tablet, or computer) to discover apps on server devices (like a smart TV or streaming box) and launch content on them.
- Wi-Fi Direct - Standard enabling devices to easily connect with each other without requiring a wireless access point.
- Miracast - Standard for wireless connections from devices (such as laptops, tablets, or smartphones) to displays (such as TVs, monitors or projectors). Works over Wi-Fi Direct.
- lrud - Left, Right, Up, Down. A spatial navigation library for devices with input via directional controls.
- react-js-spatial-navigation - A wrapper of js-spatial-navigation to react components.
- react-key-navigation - Spatial Navigation components for React. Similar to the "Focus Management" of the BBC TAL.
- react-spatial-navigation - HOC-based Spatial Navigation (key navigation) solution for React.
- Suitest - Test automation solution for Smart TVs, gaming consoles, streaming sticks etc.
- stb-tester - Automated User Interface Testing for Set-Top Boxes & Smart TVs (python).
- LIRC - A package that allows you to decode and send infra-red signals of many (but not all) commonly used remote controls.
- awesome-smarttv - Another list of Smart TV resources. Discovered after this one was already done
- docker-tizen-webos-sdk - Docker image with Samsung Tizen CLI and LG webOS CLI. Allows to develop, build, launch and debug Smart TV apps without installing Tizen Studio and webOS SDK.