From a667d796fa6f5a28b8d8517a2a47fa34c953c885 Mon Sep 17 00:00:00 2001 From: Heeam-Shin Date: Wed, 11 Sep 2024 19:01:41 +0900 Subject: [PATCH] Refactor tutorial classification: use `downloadable` and `built-in`: Updated tutorial classification to use `downloadable` and `built-in` categories instead of `external` and `built-in` for better clarity. Restruct downloadable tutorials for better readability. --- ...nching-a-web-app-on-a-secondary-display.md | 2 +- .../configuration-files/security-guide.md | 12 +- .../js-service-development-workflow.md | 8 +- .../js-services/js-service-overview.md | 6 +- .../native-app-development-workflow.md | 8 +- .../native-service-development-workflow.md | 8 +- .../qml-apps/qml-app-development-workflow.md | 8 +- .../web-apps/web-app-development-workflow.md | 8 +- .../development/web-apps/web-app-overview.md | 4 +- .../guides/getting-started/hello-webos-ose.md | 12 +- .../setup/bring-up-guide/bring-up-overview.md | 4 +- .../setting-up-native-development-kit.md | 10 +- content/en/docs/home/_index.html | 12 +- .../docs/tools/sdk/cli/cli-release-notes.md | 4 +- .../en/docs/tools/sdk/cli/cli-user-guide.md | 30 +- content/en/docs/tutorials/_index.md | 12 +- .../developing-built-in-js-services.md | 7 +- .../developing-downloadable-js-services.md | 344 +++++++++++++++++ .../developing-built-in-native-apps.md | 5 +- .../developing-downloadable-native-apps.md | 310 +++++++++++++++ .../developing-built-in-native-services.md | 5 +- ...developing-downloadable-native-services.md | 356 ++++++++++++++++++ .../qml-apps/developing-built-in-qml-apps.md | 5 +- .../developing-downloadable-qml-apps.md | 179 +++++++++ .../web-apps/developing-built-in-web-apps.md | 38 +- .../developing-downloadable-web-apps.md | 224 +++++++++++ data/sidebars/docs/tutorials.yaml | 2 +- static/_redirects | 18 +- .../js-services/chrome-inspect-setup.png | Bin 0 -> 42193 bytes .../tutorials/js-services/inspect-button.png | Bin 0 -> 18806 bytes .../js-services/launched-debugging-window.png | Bin 0 -> 156809 bytes .../tutorials/qml-apps/launched-qml-app.png | Bin 0 -> 26389 bytes .../tutorials/web-apps/launched-web-app.jpg | Bin 0 -> 12752 bytes 33 files changed, 1546 insertions(+), 95 deletions(-) create mode 100644 content/en/docs/tutorials/js-services/developing-downloadable-js-services.md create mode 100644 content/en/docs/tutorials/native-apps/developing-downloadable-native-apps.md create mode 100644 content/en/docs/tutorials/native-services/developing-downloadable-native-services.md create mode 100644 content/en/docs/tutorials/qml-apps/developing-downloadable-qml-apps.md create mode 100644 content/en/docs/tutorials/web-apps/developing-downloadable-web-apps.md create mode 100644 static/images/docs/tutorials/js-services/chrome-inspect-setup.png create mode 100644 static/images/docs/tutorials/js-services/inspect-button.png create mode 100644 static/images/docs/tutorials/js-services/launched-debugging-window.png create mode 100644 static/images/docs/tutorials/qml-apps/launched-qml-app.png create mode 100644 static/images/docs/tutorials/web-apps/launched-web-app.jpg diff --git a/content/en/blog/posts/2020-06-11-launching-a-web-app-on-a-secondary-display.md b/content/en/blog/posts/2020-06-11-launching-a-web-app-on-a-secondary-display.md index 4cd4ecd8..c99baf43 100644 --- a/content/en/blog/posts/2020-06-11-launching-a-web-app-on-a-secondary-display.md +++ b/content/en/blog/posts/2020-06-11-launching-a-web-app-on-a-secondary-display.md @@ -30,7 +30,7 @@ $ ares-install ./com.dual.webapp.sample_1.0.0_all.ipk -d [your-target-device] ``` {{< note >}} -For more details on the above procedure, refer to [Developing External Web Apps]({{< relref "developing-external-web-apps" >}}). +For more details on the above procedure, refer to [Developing Downloadable Web Apps]({{< relref "developing-downloadable-web-apps" >}}). {{< /note >}} If the installation succeed, the app card of the installed sample appears in Home Launcher. diff --git a/content/en/docs/guides/development/configuration-files/security-guide.md b/content/en/docs/guides/development/configuration-files/security-guide.md index d528c239..c7a5548f 100644 --- a/content/en/docs/guides/development/configuration-files/security-guide.md +++ b/content/en/docs/guides/development/configuration-files/security-guide.md @@ -1,6 +1,6 @@ --- title: Security Guide -date: 2022-12-02 +date: 2024-09-10 weight: 40 toc: true --- @@ -92,8 +92,8 @@ The following table shows the files related to ACG and trust level.

No need to set up. Trust level is set to OEM automatically.

-

External Service

-

Set up the requiredPermissions property in appinfo.json of the app packaged with the external service.

+

Downloadable Service

+

Set up the requiredPermissions property in appinfo.json of the app packaged with the downloadable service.

Built-in Service

@@ -103,13 +103,13 @@ The following table shows the files related to ACG and trust level. -### For Apps and External Services +### For Apps and Downloadable Services -If you develop apps or external services, all you need to do is set up the `appinfo.json` file. +If you develop apps or downloadable services, all you need to do is set up the `appinfo.json` file. 1. Make a list of services --- which can be LS2 APIs or custom services. 2. Find ACG values for each service. See [Appendix. How to Find ACG Values of APIs](#appendix-how-to-find-acg-values-of-apis). -3. Add the ACG values to the `requiredPermissions` property in `appinfo.json`. In case of external services, use the `appinfo.json` file of the app packaged together with the service. +3. Add the ACG values to the `requiredPermissions` property in `appinfo.json`. In case of downloadable services, use the `appinfo.json` file of the app packaged together with the service. 4. Then app installer service automatically generates the configuration files during installation of your app or service. The following example shows how to set up an ACG value at the `appinfo.json` file. This app can access to services whose ACG value is `acg3`. diff --git a/content/en/docs/guides/development/js-services/js-service-development-workflow.md b/content/en/docs/guides/development/js-services/js-service-development-workflow.md index cf7d64ee..61119c1b 100644 --- a/content/en/docs/guides/development/js-services/js-service-development-workflow.md +++ b/content/en/docs/guides/development/js-services/js-service-development-workflow.md @@ -1,19 +1,19 @@ --- title: JS Service Development Workflow -date: 2018-05-12 +date: 2024-09-10 weight: 20 toc: true --- This page outlines the steps to develop JS services for webOS Open Source Edition (OSE). -## External JS Services +## Downloadable JS Services -To develop an external JS service, the Command-Line Interface (CLI) tool is used. +To develop a downloadable JS service, the Command-Line Interface (CLI) tool is used. In general, the steps described in [CLI Workflow]({{< relref "cli-user-guide#cli-workflow" >}}) are applied. -For a step-by-step tutorial, see [Developing External JS Services]({{< relref "developing-external-js-services" >}}). +For a step-by-step tutorial, see [Developing Downloadable JS Services]({{< relref "developing-downloadable-js-services" >}}). ## Built-in JS Services diff --git a/content/en/docs/guides/development/js-services/js-service-overview.md b/content/en/docs/guides/development/js-services/js-service-overview.md index d5ee928f..dda6fb38 100644 --- a/content/en/docs/guides/development/js-services/js-service-overview.md +++ b/content/en/docs/guides/development/js-services/js-service-overview.md @@ -1,6 +1,6 @@ --- title: Overview -date: 2018-05-12 +date: 2024-09-10 weight: 10 toc: true --- @@ -30,7 +30,7 @@ Node.js was originally created as a framework for server-side JavaScript applica In a webOS system, JS services are categorized by the packaging/delivery method as follows: -- **External JS Service** +- **Downloadable JS Service** - The JS service is installed on the webOS target device. - This approach helps 3rd party developers to create a JS service running on webOS devices. - **Built-in JS Service** @@ -38,5 +38,5 @@ In a webOS system, JS services are categorized by the packaging/delivery method - This approach is used by platform developers and contributors to add a JS service that enhances the functionality of the platform. {{< note >}} -Currently, an external JS service must be packaged within a web app. +Currently, a downloadable JS service must be packaged within a web app. {{< /note >}} diff --git a/content/en/docs/guides/development/native-apps/native-app-development-workflow.md b/content/en/docs/guides/development/native-apps/native-app-development-workflow.md index 9d55030d..a44ec455 100644 --- a/content/en/docs/guides/development/native-apps/native-app-development-workflow.md +++ b/content/en/docs/guides/development/native-apps/native-app-development-workflow.md @@ -1,15 +1,15 @@ --- title: Native App Development Workflow -date: 2020-01-17 +date: 2024-09-10 weight: 20 toc: true --- This page outlines the steps to develop native apps for webOS Open Source Edition (OSE). -## External Native Apps +## Downloadable Native Apps -Developing an external native app requires the following steps: +Developing a downloadable native app requires the following steps: 1. Implement @@ -33,7 +33,7 @@ Developing an external native app requires the following steps: - Installing the app on the target using the CLI - Launching the app -For a step-by-step tutorial with detailed instructions, see [Developing External Native Apps]({{< relref "developing-external-native-apps" >}}). +For a step-by-step tutorial with detailed instructions, see [Developing Downloadable Native Apps]({{< relref "developing-downloadable-native-apps" >}}). ## Built-in Native Apps diff --git a/content/en/docs/guides/development/native-services/native-service-development-workflow.md b/content/en/docs/guides/development/native-services/native-service-development-workflow.md index 510f71a6..957d42c4 100644 --- a/content/en/docs/guides/development/native-services/native-service-development-workflow.md +++ b/content/en/docs/guides/development/native-services/native-service-development-workflow.md @@ -1,15 +1,15 @@ --- title: Native Service Development Workflow -date: 2020-03-13 +date: 2024-09-10 weight: 20 toc: true --- This page outlines the steps to develop native services for webOS Open Source Edition (OSE). -## External Native Services +## Downloadable Native Services -Developing an external native service requires the following steps: +Developing a downloadable native service requires the following steps: 1. Implement @@ -34,7 +34,7 @@ Developing an external native service requires the following steps: - 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]({{< relref "developing-external-native-services" >}}). +For a step-by-step tutorial with detailed instructions, see [Developing Downloadable Native Services]({{< relref "developing-downloadable-native-services" >}}). ## Built-in Native Services diff --git a/content/en/docs/guides/development/qml-apps/qml-app-development-workflow.md b/content/en/docs/guides/development/qml-apps/qml-app-development-workflow.md index f63a94a4..534a4fb3 100644 --- a/content/en/docs/guides/development/qml-apps/qml-app-development-workflow.md +++ b/content/en/docs/guides/development/qml-apps/qml-app-development-workflow.md @@ -1,19 +1,19 @@ --- title: QML App Development Workflow -date: 2020-01-16 +date: 2024-09-10 weight: 20 toc: true --- This page outlines the steps to develop QML apps for webOS Open Source Edition (OSE). -## External QML Apps +## Downloadable QML Apps -To develop an external QML app, the Command-Line Interface (CLI) tool is used. +To develop a downloadable QML app, the Command-Line Interface (CLI) tool is used. In general, the steps described in [CLI Workflow]({{< relref "cli-user-guide#cli-workflow" >}}) are applied. -For a step-by-step tutorial, see [Developing External QML Apps]({{< relref "developing-external-qml-apps" >}}). +For a step-by-step tutorial, see [Developing Downloadable QML Apps]({{< relref "developing-downloadable-qml-apps" >}}). ## Built-in QML Apps diff --git a/content/en/docs/guides/development/web-apps/web-app-development-workflow.md b/content/en/docs/guides/development/web-apps/web-app-development-workflow.md index fd27e4db..5e9e4d7a 100644 --- a/content/en/docs/guides/development/web-apps/web-app-development-workflow.md +++ b/content/en/docs/guides/development/web-apps/web-app-development-workflow.md @@ -1,19 +1,19 @@ --- title: Web App Development Workflow -date: 2018-05-12 +date: 2024-09-10 weight: 20 toc: true --- This page outlines the steps to develop web apps for webOS Open Source Edition (OSE). -## External Web Apps +## Downloadable Web Apps -To develop an external web app, the Command-Line Interface (CLI) tool is used. +To develop a downloadable web app, the Command-Line Interface (CLI) tool is used. In general, the steps described in [CLI Workflow]({{< relref "cli-user-guide#cli-workflow" >}}) are applied. -For a step-by-step tutorial, see [Developing External Web Apps]({{< relref "developing-external-web-apps" >}}). +For a step-by-step tutorial, see [Developing Downloadable Web Apps]({{< relref "developing-downloadable-web-apps" >}}). ## Built-in Web Apps diff --git a/content/en/docs/guides/development/web-apps/web-app-overview.md b/content/en/docs/guides/development/web-apps/web-app-overview.md index 6c30101f..d59b55ed 100644 --- a/content/en/docs/guides/development/web-apps/web-app-overview.md +++ b/content/en/docs/guides/development/web-apps/web-app-overview.md @@ -1,6 +1,6 @@ --- title: Overview -date: 2020-09-29 +date: 2024-09-10 weight: 10 toc: true --- @@ -28,7 +28,7 @@ For details, see [Architecture Overview]({{< relref "architecture-overview" >}}) In a webOS system, web apps are categorized by the packaging/delivery method as follows: -- **External Web App** +- **Downloadable Web App** - The web app is installed on the webOS target device. - This approach helps 3rd party developers to create a web app running on webOS devices. - **Built-in Web App** diff --git a/content/en/docs/guides/getting-started/hello-webos-ose.md b/content/en/docs/guides/getting-started/hello-webos-ose.md index 00a17821..f9bbd45b 100644 --- a/content/en/docs/guides/getting-started/hello-webos-ose.md +++ b/content/en/docs/guides/getting-started/hello-webos-ose.md @@ -1,6 +1,6 @@ --- title: "Hello, webOS OSE!" -date: 2022-12-27 +date: 2024-09-10 weight: 10 toc: true --- @@ -40,18 +40,18 @@ You need to create an image for the desired target and prepare the target enviro ## Your First webOS OSE App -If you finished setting up the environment, it's time to start developing your first app running on webOS OSE, which will be an external web app. +If you finished setting up the environment, it's time to start developing your first app running on webOS OSE, which will be a downloadable web app. ### Install CLI -To develop an external web app, you will use Command-Line Interface (CLI), which is provided as a part of webOS OSE SDK. You can also use CLI to develop external JavaScript (JS) services. +To develop a downloadable web app, you will use Command-Line Interface (CLI), which is provided as a part of webOS OSE SDK. You can also use CLI to develop downloadable JavaScript (JS) services. Proceed to [install CLI]({{< relref "cli-user-guide#installing-cli" >}}) for your operating system. -### Develop the External Web App +### Develop the Downloadable Web App -Follow the steps described in the [Developing External Web Apps]({{< relref "developing-external-web-apps" >}}) tutorial. +Follow the steps described in the [Developing Downloadable Web Apps]({{< relref "developing-downloadable-web-apps" >}}) tutorial. ## What's Next -* If you are interested in developing an external JS service, which will be packaged along with the web app you've just created, check the [Developing External JS Services]({{< relref "developing-external-js-services" >}}) tutorial. \ No newline at end of file +* If you are interested in developing a downloadable JS service, which will be packaged along with the web app you've just created, check the [Developing Downloadable JS Services]({{< relref "developing-downloadable-js-services" >}}) tutorial. \ No newline at end of file diff --git a/content/en/docs/guides/setup/bring-up-guide/bring-up-overview.md b/content/en/docs/guides/setup/bring-up-guide/bring-up-overview.md index 41ba268c..4bb27c2b 100644 --- a/content/en/docs/guides/setup/bring-up-guide/bring-up-overview.md +++ b/content/en/docs/guides/setup/bring-up-guide/bring-up-overview.md @@ -1,6 +1,6 @@ --- title: Bring-Up Overview -date: 2024-03-18 +date: 2024-09-10 weight: 10 toc: true --- @@ -59,7 +59,7 @@ Once you've done the bring-up process, you can go through the following checklis 1. Swipe up the display and check whether Home Launcher is displayed. 2. Click the apps in Home Launch and check whether the apps are launched properly. -3. Check whether the sample native app is working properly. For details on how to install and run the sample app, see [Developing External Native Apps](/docs/tutorials/native-apps/developing-external-native-apps/). +3. Check whether the sample native app is working properly. For details on how to install and run the sample app, see [Developing Downloadable Native Apps](/docs/tutorials/native-apps/developing-downloadable-native-apps/). {{< note >}} You can verify the basic operation of LSM, WAM, System and Application Manager (SAM) using the following command: diff --git a/content/en/docs/guides/setup/setting-up-native-development-kit.md b/content/en/docs/guides/setup/setting-up-native-development-kit.md index 3cdc1a75..963b7cfb 100644 --- a/content/en/docs/guides/setup/setting-up-native-development-kit.md +++ b/content/en/docs/guides/setup/setting-up-native-development-kit.md @@ -1,11 +1,11 @@ --- title: Native Development Kit Setup -date: 2023-03-28 +date: 2024-09-10 weight: 90 toc: true --- -To build [external native apps]({{< relref "developing-external-native-apps" >}}) or [services]({{< relref "developing-external-native-services" >}}) for webOS Open Source Edition (OSE), you need to install Native Development Kit (NDK) on your computer. +To build [downloadable native apps]({{< relref "developing-downloadable-native-apps" >}}) or [services]({{< relref "developing-downloadable-native-services" >}}) for webOS Open Source Edition (OSE), you need to install Native Development Kit (NDK) on your computer. The NDK is a set of tools that include toolchains, libraries, and header files. This guide describes how to build and install the NDK on your computer. @@ -94,7 +94,7 @@ Output messages might or might not be displayed depending on your computer's set ## Next Steps -Now you ready to build external native apps or services. Check the following guides: +Now you ready to build downloadable native apps or services. Check the following guides: -- [Developing External Native Apps]({{< relref "developing-external-native-apps">}}) -- [Developing External Native Services]({{< relref "developing-external-native-services">}}) +- [Developing Downloadable Native Apps]({{< relref "developing-downloadable-native-apps">}}) +- [Developing Downloadable Native Services]({{< relref "developing-downloadable-native-services">}}) diff --git a/content/en/docs/home/_index.html b/content/en/docs/home/_index.html index cdbde011..8e38ce38 100644 --- a/content/en/docs/home/_index.html +++ b/content/en/docs/home/_index.html @@ -140,12 +140,12 @@

Documentation Overview

diff --git a/content/en/docs/tools/sdk/cli/cli-release-notes.md b/content/en/docs/tools/sdk/cli/cli-release-notes.md index a016f562..da981e9c 100644 --- a/content/en/docs/tools/sdk/cli/cli-release-notes.md +++ b/content/en/docs/tools/sdk/cli/cli-release-notes.md @@ -1,7 +1,7 @@ --- title: Release Notes display_title: Command-Line Interface Release Notes -date: 2024-07-17 +date: 2024-09-10 weight: 20 toc: true two_depth_toc: true @@ -429,7 +429,7 @@ This version is compatible with **webOS OSE 2.0.0**. See below for the new, chan ### Known Issues * When you install or uninstall an app using `ares-install`, a running Home Launcher disappears from the screen. To make the app listed on Home Launcher, you must reboot the target device. - * After rebooting the target device, the external app is listed on Home Launcher, but the icon of the app is not displayed. + * After rebooting the target device, the downloadable app is listed on Home Launcher, but the icon of the app is not displayed. ## v1.9.4 (June 2019) diff --git a/content/en/docs/tools/sdk/cli/cli-user-guide.md b/content/en/docs/tools/sdk/cli/cli-user-guide.md index 7de0a879..0e1bdd6c 100644 --- a/content/en/docs/tools/sdk/cli/cli-user-guide.md +++ b/content/en/docs/tools/sdk/cli/cli-user-guide.md @@ -1,7 +1,7 @@ --- title: User Guide display_title: Command-Line Interface User Guide -date: 2024-07-18 +date: 2024-09-10 weight: 10 toc: true --- @@ -152,7 +152,7 @@ $ ares-config --profile ose ## How to Use -With the CLI, you can develop various types of external apps or services. For detailed instructions, refer to the each tutorial. +With the CLI, you can develop various types of downloadable apps or services. For detailed instructions, refer to the each tutorial.
@@ -164,33 +164,33 @@ With the CLI, you can develop various types of external apps or services. For de - + - + - + - + - + @@ -966,19 +966,19 @@ Here are some examples of the different uses: ares-package -e "testCode1" -e "README.md" -e "*.txt" samplePrj ``` -* Creating a package file with an external JS service +* Creating a package file with a downloadable JS service ```shell ares-package sampleApp sampleService ``` -* Creating a package file with multiple external JS services +* Creating a package file with multiple downloadable JS services ```shell ares-package sampleApp sampleServiceA sampleServiceB ``` -* Creating a package file with an external JS service (using absolute path) +* Creating a package file with a downloadable JS service (using absolute path) ```shell # Windows diff --git a/content/en/docs/tutorials/_index.md b/content/en/docs/tutorials/_index.md index 48dc4a96..ca7f7beb 100644 --- a/content/en/docs/tutorials/_index.md +++ b/content/en/docs/tutorials/_index.md @@ -1,7 +1,7 @@ --- title: Tutorials section_main: true -date: 2020-02-14 +date: 2024-09-10 weight: 30 --- @@ -15,25 +15,25 @@ This section provides end-to-end, step-by-step tutorials for developers to achie ## Web Apps -* [Developing External Web Apps]({{< relref "developing-external-web-apps" >}}) +* [Developing Downloadable Web Apps]({{< relref "developing-downloadable-web-apps" >}}) * [Developing Built-in Web Apps]({{< relref "developing-built-in-web-apps" >}}) ## JS Services -* [Developing External JS Services]({{< relref "developing-external-js-services" >}}) +* [Developing Downloadable JS Services]({{< relref "developing-downloadable-js-services" >}}) * [Developing Built-in JS Services]({{< relref "developing-built-in-js-services" >}}) ## QML Apps -* [Developing External QML Apps]({{< relref "developing-external-qml-apps" >}}) +* [Developing Downloadable QML Apps]({{< relref "developing-downloadable-qml-apps" >}}) * [Developing Built-in QML Apps]({{< relref "developing-built-in-qml-apps" >}}) ## Native Apps -* [Developing External Native Apps]({{< relref "developing-external-native-apps" >}}) +* [Developing Downloadable Native Apps]({{< relref "developing-downloadable-native-apps" >}}) * [Developing Built-in Native Apps]({{< relref "developing-built-in-native-apps" >}}) ## Native Services -* [Developing External Native Services]({{< relref "developing-external-native-services" >}}) +* [Developing Downloadable Native Services]({{< relref "developing-downloadable-native-services" >}}) * [Developing Built-in Native Services]({{< relref "developing-built-in-native-services" >}}) diff --git a/content/en/docs/tutorials/js-services/developing-built-in-js-services.md b/content/en/docs/tutorials/js-services/developing-built-in-js-services.md index c5221d73..7eb2ffb4 100644 --- a/content/en/docs/tutorials/js-services/developing-built-in-js-services.md +++ b/content/en/docs/tutorials/js-services/developing-built-in-js-services.md @@ -1,6 +1,7 @@ --- -title: Developing Built-in JS Services -date: 2024-01-29 +title: Built-in JS Services +display_title: Developing Built-in JS Services +date: 2024-09-10 weight: 20 toc: true --- @@ -157,7 +158,7 @@ This section describes how to prepare the configuration files required to build ### package.json -This file configures the service metadata and points to the main service file. It is required for packaging (related with Node.js) and must be located in the project root directory. For more details, see [Creating JS services]({{< relref "developing-external-js-services#creating-js-services" >}}). +This file configures the service metadata and points to the main service file. It is required for packaging (related with Node.js) and must be located in the project root directory. For more details, see [Creating JS services]({{< relref "developing-downloadable-js-services#creating-js-services" >}}). {{< code "package.json" >}} ``` json diff --git a/content/en/docs/tutorials/js-services/developing-downloadable-js-services.md b/content/en/docs/tutorials/js-services/developing-downloadable-js-services.md new file mode 100644 index 00000000..5b3b9e05 --- /dev/null +++ b/content/en/docs/tutorials/js-services/developing-downloadable-js-services.md @@ -0,0 +1,344 @@ +--- +title: Downloadable JS Services +display_title: Developing Downloadable JS Services +date: 2024-09-10 +weight: 10 +toc: true +--- + +A **downloadable JavaScript (JS) service** is a 3rd party JS service that can be installed on the webOS target device. + +{{< note "Downloadable vs. Built-In" >}} +In webOS OSE, apps and services are divided into two categories: downloadable and built-in. + +- **Downloadable** apps/services are installed by appinstalld service. This service automatically generates several configurations for the apps/services. (such as trust level) +- **Built-in** apps/services are built and installed by developers. Developers can **customize** configurations to suit their needs. +{{< /note >}} + +This tutorial shows a step-by-step guide for creating a downloadable JS service from scratch. + +## Prerequisites + +Before you begin, you must install the [Command-Line Interface (CLI)](https://github.com/webos-tools/cli). + +The CLI enables you to create, install, and launch apps or services using in a command-line environment. + +{{< note >}} +If you already installed Node.js & CLI and registed your target device, you can skip this section. +{{< /note >}} + +1. Install [Node.js](https://nodejs.org/en/download) (Recommended version: v16.20.2). +2. Install the CLI. + + ``` bash + sudo npm install -g @webos-tools/cli + ``` + +3. Change the profile. + + ``` bash + ares-config --profile ose + ``` + +4. After installing the CLI, you must register your target device. Enter the `ares-setup-device` command to start an interactive mode: + + {{< note >}} + In the interactive mode, pressing the **Enter** key means to use the default value. + {{< /note >}} + + ``` bash + document@document:~$ ares-setup-device + name deviceinfo connection profile + ------------------ ------------------------ ---------- ------- + emulator (default) developer@127.0.0.1:6622 ssh ose + + + ** You can modify the device info in the above list, or add new device. + ? Select add # Select 'add'. + ? Enter Device Name: webos # The nickname of your target device. Use the short name. + ? Enter Device IP address: 127.0.0.1 # The IP address of your target device + ? Enter Device Port: 22 # Just press the Enter key. Do not change this value. + ? Enter ssh user: root # Just press the Enter key. Do not change this value. + ? Enter description: new device # Descriptions about your target device + ? Select authentication password # Select 'password' + ? Enter password: [hidden] # Leave it blank (Press the Enter key). + ? Set default ? No # Enter 'y' if you want to set this device as the default device. + ? Save ? Yes # Enter 'Yes'. + + name deviceinfo connection profile + ------------------ ------------------------ ---------- ------- + webos root@127.0.0.1:22 ssh ose + emulator (default) developer@127.0.0.1:6622 ssh ose + ``` + +## Step 01. Creating a Dummy App and Service + +Let's get started by creating a dummy app and service from templates. CLI provides various templates for webOS apps and services. + +### App + +webOS OSE's service requires an app to be packaged with. In this tutorial, we will use a web app. + +Enter the following command: + +``` bash +# Comannd format +# ares-generate -t

External Web Apps

Downloadable Web Apps

-

See the }}">Developing External Web Apps.

+

See the }}">Developing Downloadable Web Apps.

External JS Services

Downloadable JS Services

-

See the }}">Developing External JS Services.

+

See the }}">Developing Downloadable JS Services.

External QML Apps

Downloadable QML Apps

-

See the }}">Developing External QML Apps.

+

See the }}">Developing Downloadable QML Apps.

External Native Apps

Downloadable Native Apps

-

See the }}">Developing External Native Apps.

+

See the }}">Developing Downloadable Native Apps.

External Native Services

Downloadable Native Services

-

See the }}">Developing External Native Services.

+

See the }}">Developing Downloadable Native Services.