The Roku Developer Program is intended for BrightScript developers. Signing up for this program isn’t typically required for app developers.
If you need to get involved in client development, we recommend signing up for the program.
Most Cloud developers work on the server, because that’s where most of the application code of a Cloud app is located.
Server development involves coding in C++, React Native, or both.
When a developer runs a server build (for example, youi-tv build -p osx -d YI_BUILD_CLOUD_SERVER=ON
), the build process adds:
Client development involves coding in the Roku native development language, called BrightScript. The client code provided in the You.i Platform provides generic functionality, including forwarding remote control button presses to the server and updating the screen when the server sends visual content. Ideally, the generic functionality is sufficient, however, there are times (like when adding third-party libraries) when you’ll need to work in BrightScript to modify the client code.
BrightScript development must be done with caution and planning.
The client code in your project, found in the <project>/client
folder, is copied from a You.i Platform template folder when you initialize your project (using the command youi-tv init <project>
).
This client code is specific to the You.i Platform release.
Any project-specific modifications to client code will require manual merging whenever you migrate to a new version of You.i Platform.
The You.i Platform template files for the client are bundled, along with other resource files, into a zip file called RokuClient.zip
.
The zip file is used for side-loading onto a Roku device.
The zip file must contain a manifest
file in the root folder.
See also Channel Manifest in the Roku docs.
The manifest contains attributes for the client, such as the IP address and port of the server.
When the client launches, it connects to the server, using the IP address and port from the manifest.
Further details about the RokuClient.zip
file:
<project>/client
folder, using the command youi-tv roku-client <options>
.youi-tv roku-client -l
.youi-tv roku-client --host <IP address[:port]>
.
The --host
option overrides -l
option.Side-loading refers to the action of uploading an app directly to a Roku device, instead of adding the app as a new channel from the Roku Channel Store. Side-loading is useful in the initial phases of Cloud app development, for faster testing turnaround.
The recommended method for side-loading is to run the youi-tv
command in a terminal window:
`youi-tv roku-client -s <roku device IP address>`
The other option is to connect with the built-in Roku web interface and use the Development Application Installer.
After side-loading the client onto the Roku device:
manifest
file.