xApps can be written in variety of programming languages. The current example xApps are written in C++ and go.
An xApp interacts with the other xApps and the RIC platform components using two primary mechanisms:
- RMR (RIC Message Router) messaging layer that provides methods for sending an receiving messages and populating and reading fields in those messages
- SDL (shared data layer) abstraction layer which provides methods for reading and writing data in a shared persistent key-value store in the RIC