JitakuKeibiinB wrote:
It depends on the platform. Java for Android, Objective-C or Swift for iPhone, C++ for BlackBerry 10 (Java for older BlackBerry OSs), etc. You can also make "web" apps with HTML+CSS+JavaScript.
Absolutely correct. I would add that there's a distinction between HTML5 apps (which are written in JavaScript, HTML5 and CSS3) and native apps (which are written in different languages for different devices).
An HTML5 app is a shell onto a web browser. The app runs inside the shell. The user doesn't see the webview, only the app inside it. Generally speaking the user doesn't even realise that the app is actually a clever web page. The original Facebook app was an HTML5 app.
The advantage of HTML5 apps over native is that they can easily be ported between devices. Also JavaScript is a lovely little language, and CSS3 is wonderful to work with. The disadvantage is that you get shallower device integration.