Native Service Development Workflow
This page outlines the steps to develop native services for webOS Open Source Edition (OSE).
External Native Services
Developing an external native service requires the following steps:
Implement
- Writing the native service code
- Preparing a dummy app to package with the service
Configure
- Configuring the service metadata file (
services.json
) - Configuring the CMake build script (
CMakeLists.txt
)
- Configuring the service metadata file (
Build
- Running the CMake build script and the Makefile
Package
- Packaging the built binary file with the dummy app using the CLI
Install and Run
- Installing the service on the target using the CLI
- Launching the dummy app or entering commands using a terminal
For a step-by-step tutorial with detailed instructions, see Developing External Native Services.
Built-in Native Services
Developing a built-in native service requires the following steps:
Implement
- Writing the native service code
- Preparing
README.md
that describes the project
Configure
- Preparing the LS2 configuration files, including a Service Configuration file, a Role file, and Permission files
- Preparing the systemd configuration file
- Configuring the CMake build script (
CMakeLists.txt
)
Build
- Writing a recipe to build the service on the Yocto build environment
- Configuring the local source directory
- Building the service
Run and verify
- Installing and running the service on the target
- Verifying the service functionality
- Specifying the order of execution on the target
Deploy
- Adding the service to the webOS OSE build recipe
- Modifying the systemd execution list on
webos-initscripts
component - Building the webOS OSE image
- Flashing the image to the target
For a step-by-step tutorial with detailed instructions, see Developing Built-in Native Services.