Creating "Hello WebAssembly" TV Application
This section describes how to create a basic Hello World - type TV application with WebAssembly.
Creating WebAssembly TV Application
The WebAssembly TV application will be the main "container" for both the HTML/JavaScript and WebAssembly parts.
To create the TV application:
-
In the Tizen Studio main menu, select "File > New > Tizen Project".
-
Select "Template" or "Sample", and click "Next".
-
Select the profile ("TV") and version from the drop-down list and click "Next".
To be able to develop WebAssembly you need to choose at least "TV-samsung v5.5".
-
Select the "Web Application" application type, fill the "WebAssembly (C/C++)" check box, and click "Next".
-
Select either a template or sample, and click "Next".
The Tizen Project Wizard creates the project based on the selection.
-
Define the project properties and click "Next".
-
Enter paths to the Emscripten SDK configuration file and cache directory.
The Emscripten SDK configuration file (.emscripten) is the one that was created in the Downloading and Installing stage. You can read more about setting up Emscripten SDK for WebAssembly modules here "Setting Emscripten SDK for WebAssembly".
The paths can either be entered manually or you can click the "Browse..." button to select them with the mouse. Click "Finish".
The configuration file must exist and be readable - otherwise it cannot be selected.
If the selected cache directory does not exist, it will be created on the first WebAssembly module's build.
It is recommended to set different cache directory for each WebAssembly module so that it can be cleared when required without impacting other modules' cache.
Adding Hello WebAssembly Module to the TV Application
-
In the Tizen Studio "Project Explorer" view, right-click the TV application project that you have created in the previous section.
-
Select "New > WebAssembly Module".
-
Specify C++ as programming language and click the HelloWorld sample, and then click "Next".
Note :The empty module is a basic WebAssembly module that does not provide any particular functionality. It can be used as a starting point for creating the target WebAssembly module (usually much more complicated and comprised of several header and source files).
-
Define the module name. The module name must be unique in the current workspace.
-
Define the canvas and text area (if required) for displaying the WebAssembly module on the Web page, and click "Finish".
Note :If a sample module (like HelloWorld) is selected, the position and size controls are not visible, because the module display layout is controlled by the sample's settings.
The module is created within the wasm_modules folder in the TV application project. It also appears as its own project in the "Project Explorer" view, so you can configure and develop the module separately.