This topic introduces the Native Client technology, which allows you to run native C and C++ code on Samsung Smart TVs.
Due to NaCl deprecation by the Chromium project, Tizen TV will continue its support for NaCl only until 2021-year products. Meanwhile, Tizen TV will start focusing on high-performance, cross-browser WebAssembly from 2020-year products.
Native Client (NaCl) is a technology developed by Google that allows you to load and safely execute native binaries, written in C or C++, as if they were Web browser plug-ins. NaCl is supported on the Google Chrome™ browser, but Samsung has customized the NaCl technology and has supported it on Smart TVs since 2013. Since most Smart TV applications are essentially Web pages, it means NaCl binaries can also be run on Smart TVs.
The following figure shows Futuracer, a game that uses NaCl to take advantage of OpenGL® ES graphics features.
The following topics introduce you to creating NaCl applications for Smart TVs:
When you use NaCl, you can take advantage of the following features:
NaCl can be used in many ways. It can be used to easily port existing C++ applications to the Web, to support heavy computational tasks and extend Web page functionality, and to create standalone, CPU-intensive Web applications, such as 3D games. You can enhance the Smart TV experience by using NaCl to implement fast, responsive applications with great connectivity possibilities.
The following Smart TV use cases are made possible using NaCl:
Samsung Smart TVs use a Web engine to render Web pages in the browser and to run TV applications.
Native code must be compiled before it can be run as a NaCl module. The NaCl toolchain includes compilation tools, such as GCC, Clang, ar, and make, adapted for working with NaCl code.
You can compile a NaCl module in 2 ways:
To load a compiled NaCl module in an application: