Developer resources
A gameplay screenshot from Christian Waadt's Airship Combat 3D
Are you tired of the same old apps on KaiStore and BananaHackers Store? Do you have a creative idea for a KaiOS app but don’t know how to make it happen? This is the place where you can find useful documentation to help you learn how to develop apps for the platform (thanks Bing AI!)
Before you start developing KaiOS apps:
- KaiOS is an operating system that runs on web technologies. KaiOS does not support Android apps, despite using Android HIDL for hardware compatibility. Instead, it uses a forked version of Boot-to-Gecko (B2G) from the discontinued Firefox OS as its core rendering engine. Think of it as ChromeOS on phones with physical keypad.
- As such, apps on KaiOS are built with web technologies such as HTML, CSS, and JavaScript—not native as Java or Kotlin but has similar performance—and are executed by Gecko runtime, though you can use the same tools and frameworks that you use for web development, such as React or TypeScript.
- Be wise: even though KaiOS devices are limited on hardware features as they’re usually targeted towards emerging markets, especially on the amount of RAM, but if you use it smartly, they will provide enough CPU and GPU to power your games.
Getting started on KaiOS development
- KaiOS Technologies’ Official documentation portal
- KaiOS Technologies’ List of recommended resources for developing KaiOS apps
- W3schools.com for learning to code HTML5, CSS and JavaScript and make KaiOS apps
- YOUR FIRST APP, a little tutorial on how a KaiOS application works on BananaHackers website
- farooqkz’s A not so brief introduction to KaiOS and app development for it on BananaHackers Blog
- KaiOS Game Development Tutorials – Complete Guide
- tbrrss’s KaiOS development blog
- Huzaifa Arif’s KaiOS: Everything you need to know! on Proximity Labs/Medium
- Nolan Lawson’s The joy and challenge of developing for KaiOS
API documentations
- Archived list of B2G device APIs
- Can I Use utility to check API compatibility with v2.5 (Gecko 48.0a1) or v3 (Gecko 84)
- KaiAds SDK implementing instructions
Snippets
- Interacting with files on device storage: delete a file, rename a file, create new file, list files and update a file
- Managing user interactions of soft-keys (you can simulate those while testing as well)
- Creating a quick toast or a longer-lasting notification
- Getting the version number so your app knows what the phone is capable of and what feature to deliver
- Get to know mozActivity and webActivity
Testing your app (KaiOS 2.5)
- Include your app details in a good manifest.webapp
- Martin Kaptein’s guide to sideloading apps on KaiOS (video by KaiOS Technologies)
- Looking for a beginner-friendly version of this guide? Sideloading and debugging/ADB and WebIDE
- Debugging service workers on KaiOS