Toggle navigation
Building a Roku app

Building a Roku app

Updated: December 7, 2017

How To Create a Roku Channel?

Roku TV App is one of the leading streaming players available in the market. It allows users to stream audio/video content via the Internet.

Building a Roku app-BitCot


There are 3 main requirements to make a Roku channel:

  • Original and/or licensed video content (content publishers)
  • Hosted content available through the Internet (OVP, CDN, etc.)
  • Built using SDK (Brightscript programming language) / Direct Publisher (JSON/RSS feed)

We’re going to build the app using the SDK as it allows us to do tons of customization and incorporate our own workflow into the app, which cannot be done in the Direct published.

Roku channel Programming Language & IDE

Roku channels are built using Brightscript programming language, which is a proprietary language. We can use the plugin for Eclipse IDE (installation instruction), which is provided by Roku itself, so we don’t have to bother ourselves by using some other text-editor. The plugin has the ability to deploy your app from eclipse to your Roku TV App and check it directly.

We can start creating a simple channel by modifying the code from the sample channels available here.

Studio SWEAT On-Demand Roku TV App

On-Demand Roku TV App Development-BitCot


The app is built on top of a simple grid screen with tons of customization like custom login screen and multiple categories, with each category added in the background without making the user wait for all the data to be available. With the help of Registry, we store the user’s information and provide a personalized experience.

To get started we thought of creating multiple scenes and switch among them if the user is already logged in. But we found that it’s complex to create multiple scenes. Instead, we went with a single scene that is built using SceneGraph.

The confusing part is when you have many views/dialog/keyboard dialog and you want to switch to a new view, then the older view’s focus and visibility must be set to false. Otherwise, the top view won’t be able to receive any action even though you would be able to view them.

Another quick fix is, when you’re deep into your component tree and want to show a dialog, for example, then m.top.dialog might not work, instead try m.top.getScene().dialog = dialog.

In Roku your HTTP requests cannot be made on the main thread, you need to create a TASK for it to perform the HTTP call and receive the data. The same applies when accessing roRegistrySection. The response obtained from the HTTP request can be structured with inbuilt functions, for JSON objects we use ParseJSON() and for XML objects you need to create roXMLElement variable. To learn more about HTTP requests check here.

Overall there were some challenges along the way and exciting to learn & try something new. You can install the StudioSWEATOnDemand channel from here.

We're BitCot!

Need help? We design, build, and grow digital products across Android,iOS, and web.

Contact Now

    Share On:

    Apple Pay allows users to pay using their credit cards without a PIN or password. Apple Pay works by scanning the card's hologram. It can also be used to save card details. However, Apple Pay isn't available for all credit cards. According to the https://aucasinoslist.com/casinos/iphone-casino/, only the banks that accept it can approve it for use with this system. Then, you can use it to make payments and deposits at Apple Pay casinos. If you'd prefer to play at a casino that accepts payments via your Apple Pay, you can simply visit the website's Apple Pay page.

    Enquanto as estratégias de apostas positivas e negativas para jogos de cassino online podem ajudá-lo a ganhar uma pequena vantagem sobre o cassino, ambas podem diminuir drasticamente a sua banca. De acordo com o https://casinosnobrasil.com.br/, jogadores que são habilidosos o suficiente para usar ambas as estratégias podem ter dificuldade em perder uma aposta quando as marés acabarem. Eles devem apostar no que acham que é a melhor opção para eles. Estes sistemas não só são populares, mas também são extremamente eficazes.

    Talk to Our Experts

    Need support? Get in touch today and let’s discuss your business technology needs.
    Raj Sanghvi BitCot CEO

    Author: Raj Sanghvi

    Raj Sanghvi is a technologist and founder of BitCot, a full-service award-winning software development company. With over 15 years of innovative coding experience creating complex technology solutions for businesses like IBM, Sony, Nissan, Micron, Dicks Sporting Goods, HDSupply, Bombardier and more, Sanghvi helps build for both major brands and entrepreneurs to launch their own technologies platforms.

    Visit Raj Sanghvi on LinkedIn and follow him on TwitterView Full Bio

    Free project quote

    Fill out the enquiry form and we'll get back to you as soon as possible.

    Contact Us: 858-683-3692

      Dave S

      Co-Founder- StompSessions


      I have Known BitCot for 4 years and have been impressed with the diversity and quality of BitCot work. With that solid foundation it was really easy to select BitCot as our development partner.