Native apps are vendor specific and runs only on that platform.
|iOS||Apple||Swift/Objective-C||Xcode||Cocoa touch||Mac OS|
|Android||Java||Android Studio||Android API||Win/Mac/Linux|
|Windows||Microsoft||C#||Visual Studio||Silver light||Windows|
- Maximum performance
- Small footprint (App loading time, executable files size)
- Need to know multiple languages/libraries
- No code re-use
At its core hybrid apps are web apps. A notable difference is hybrid apps are available on app store and installable on device.
- Web skills can be used.
- Code and UI are reusable up to 100%
- Wrapper of a web application
- Expected performance hit or UX
A framework that enables you to share code between platforms and the end result is native mobile apps. The framework might generate native codes or create a runtime environment/interpreter to the run the code in multiple platforms.
- Create mobile apps using C#
- UI need to be designed in a native way.
- Need two separate license for Android and iOS
- Final app will be a bit bigger than the native app. Currently 2.5 MB.
- UI code is shared as well
- Final app will be a bit bigger than the native app. Currently 5 MB.
- Code sharing is possible. (might be 100% or somewhat near)
- Only one language is required to code
- Performance is comparable to native apps
- Footprint (executable size) is substantial