I. Traditional Approach:
1. Native Android Application Development:
Android is a mobile operating system that runs on phones, tablets, smartwatches, TVs and more. You can learn Android Application Development using Android Studio and Java.
2. iOS Development With Swift:
Swift is a new programming Language for programming iOS and OS x apps. You can learn iOS mobile appication development using Swift Language.
3. iOS Development With Objective-C:
Prior to Swift, most iOS apps were developed with a programming language called Objective-C. Many Existing apps in the App Store are built with it, and it is still possible to build Application with Objective-C.
II. Cross Platform Development: Apps have separate code bases written in their native language, are built using native tools, use platform specific features.
Example: We use Swift/Objective-C for iOS Development, C# and .net framework for Windows Development and Android Studio with Java for Android Development.
Xamarin is an app-development platform that lets you build apps for many operating systems from a single, shared code base. You use Visual Studio, C#, and the .NET Libraries to build Xamarin apps. You have to write code once in C# and same can be used in Android, iOS and Windows.