Roku App Development: Getting Started
Without a doubt, Roku App development is SUPER HOT. You would have noticed that every other media and gaming company is pushing their apps in the Roku store. As a result, you can see the available applications in the Roku App store growing exponentially. This post is for would-be-Roku app developers who are getting their feet wet in the Roku Waters and should act as FAQ for the app development.
What is Roku?
I am sure, you already know what is Roku but it is still a good idea to read this (Wikipedia Style) Blog entry (What is Roku?) to understand the primary usage and its glorious history.
Is Roku App Development Difficult?
The short answer is, NO! And here is an empirical evidence. Till about 14 months (July, Circa 2016 to be precise!) ago, we did not have 1 single Roku app in the store. Now we have 15 Apps that are live and are all getting rave reviews and got 4+ Stars ratings. You see, it is NOT difficult!
What all we have learned?
There is just 1 programming language that is supported by Roku platform and it is called BrightScript.
BrightScript language is a Python-like scripting language that is used to develop app/channel for Roku device. If you know Python, it is a lot more easier for you to pick it up. In order to understand this language, go over the:
- Language Reference (https://sdkdocs.roku.com/display/sdkdoc/BrightScript+Language+Reference)
- Component Reference (https://sdkdocs.roku.com/display/sdkdoc/BrightScript+Component+Reference)
SceneGraph is Roku’s flagship framework. It is an XML based framework for building channels and it is primarily used to design channel UI. Here are the 3 most important links that you should be going over:
- SceneGraph Core Concepts (https://sdkdocs.roku.com/display/sdkdoc/SceneGraph+Core+Concepts)
- SceneGraph API Reference (https://sdkdocs.roku.com/display/sdkdoc/SceneGraph+API+Reference)
- SceneGraph Samples (https://sdkdocs.roku.com/display/sdkdoc/SceneGraph+Samples)
Roku Advertising Framework
The RAF(Roku Advertising Framework) library is used to allow developers to show ads. It is used to integrate video advertising features in app/channel. Note that if you are integrating it, following line must be placed in the manifest file for any applications using the Roku Ad Framework (RAF) library:
And the following line should be the first entry in your main.brs file:
How long does it take to develop a Roku app? Well, it depends on what type of app you want to build. If you are using SceneGraph which you MUST nowadays, it would take bit more time. A typical game with above average complexity requires about 3 weeks to get an app in the Roku Store.
API Integration With Roku
Well finally, you should be able to hook up the Roku apps to some other application endpoint. Every other project that we worked on, had some level of API integration. In fact, we can easily integrate the APIs in Roku channel. We have used the Brighscript component called roUrlTransfer and task node for integrating APIs. You can read a bit more about API integration here: https://sdkdocs.roku.com/display/sdkdoc/Web+Service+API
Roku and In-App Purchases
Yes, you can very easily integrate in-app purchases in Roku channels. Please refer this link to enable in-app purchases (https://sdkdocs.roku.com/display/sdkdoc/Roku+Billing+and+In-Channel+Purchasing). You need to first enroll in Roku payout program, then you would have to create Products, which are linked to a particular channel/app.
Similarly, according to the Roku checklist, the advertising is the essential part of game Roku app/channel.Please refer the following link to integrate the advertising in app/channel https://sdkdocs.roku.com/display/sdkdoc/Integrating+the+Roku+Advertising+Framework
What is the publishing Mechanism?
Well, this requires it’s own space. Read it in concluding part here: https://tudip.com/blog-post/roku-app-development-app-publishing