Mobile programming allows developers to create custom applications for mobile devices like smartphones and tablets. There are three main types of mobile apps: native apps developed using platform-specific languages like Objective-C and Swift for iOS or Java for Android, progressive web apps built with web technologies, and hybrid apps that combine web technologies with native platform elements. Popular programming languages for hybrid apps include JavaScript frameworks like React Native, Xamarin which uses C#, and tools like Cordova that allow writing once and deploying to multiple platforms.