The are several options and which you choose will be a mix of suitability for your purpose and personal preference.
As an example, the simplest and most readily portable option is a WebApp:
You’ll find the MaidSafe ones in the tutorials. Some recent examples created by the community are:
Complied/Interpreted languages: You can build apps in any language, and these can be licensed how you like - unless you link directly with the SAFE libraries which will then require GPL3.
Apps other than web apps would be compiled per platform, and also need to be downloaded and possibly installed by the user.
Nodejs/electron: A mixed option is to use nodejs/electron, which gives you a web app style framework which can be compiled for different platforms. The MaidSafe Demo App and the SAFE Launcher were built like this.