Applications in RDK8 represent a major architectural shift compared to RDK7.
The way native applications and web applications are built, packaged, and delivered has been completely redesigned to improve flexibility, upgradeability, and build efficiency.

This document explains:



Application Model in RDK7

In RDK7, applications were tightly coupled to the firmware image.

RDK7 Architecture Overview


Responsibilities of the Application Layer

The Application Layer contained:

Middleware and Application Split in RDK7

All applications were bound to the firmware, requiring a full image rebuild and flash to upgrade or modify applications.

Application Model in RDK8

In RDK8, the traditional Application Layer has been removed entirely.

Key Conceptual Changes

Bolt-Based Application Model

All applications in RDK8 are delivered as BOLT packages, which are:

Applications are split into three logical BOLT package types:

Package TypeDescription
BaseCore dependencies required for application execution
RuntimeShared runtimes used by applications
AppThe actual application packages (UI, YouTube, etc.)


The following diagram provides a deliberately high‑level and simplified representation of a more complex packaging architecture. Its purpose is to offer an accessible, quick visual reference—suitable for a two‑minute overview—illustrating how the Bolt packages are organized within the broader system.

Each component can be upgraded independently without rebuilding or upgrading the firmware.

What Changed from RDK7 → RDK8

Major Differences

1. Removal of Application Layer

2. Middleware Build Optimization

3. Libcobalt Decoupling

4. Application as BOLT packages

Runtime and Application Dependencies in RDK8

Runtime Packages

App Packages

These runtime components are consumed by application BOLT packages such as:

How Is the UI Preloaded on RDK8?

To support out-of-box user experience, RDK8 introduces the concept of Factory Apps.

Factory Apps

Factory Apps include:

These applications are:

For a detailed explanation on preloading of Factory Apps refer to:  Factory Apps on RDK8


Summary

AspectRDK7RDK8
Application LayerPresentRemoved
Platform DependencyPlatform-specificPlatform-agnostic
App Upgrade ModelFirmware rebuild requiredIndependent BOLT upgrades
WebKit / LibcobaltMiddlewareRuntime BOLT packages
UI DeliveryApplication layerPreloaded as part of Factory Apps