What is Ionic?
Ionic is an HTML5 mobile app development framework targeted at building hybrid mobile apps. Hybrid apps are essentially small websites running in a browser shell in an app that have access to the native platform layer. Hybrid apps have many benefits over pure native apps, specifically in terms of platform support, speed of development, and access to 3rd party code.Unlike a responsive framework, Ionic comes with very native-styled mobile UI elements and layouts that you’d get with a native SDK on iOS or Android but didn’t really exist before on the web. Ionic also gives you some opinionated but powerful ways to build mobile applications that eclipse existing HTML5 development frameworks.
What is Android?
Android is a mobile operating system developed by Google, based on a modified version of the Linux kernel and other open source software and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android’s default user interface is mainly based on direct manipulation, using touch inputs that loosely correspond to real-world actions, like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, along with a virtual keyboard. Game controllers and full-size physical keyboards are supported via Bluetooth or USB. The response to user input is designed to be immediate and provides a fluid touch interface, often using the vibration capabilities of the device to provide haptic feedback to the user.
Difference between Ionic and Android
Ionic is dependent on Angular and PhoneGap. As such it runs in A WebView. The development of the “Angular” part is practically same for both Android and iOS. However Ionic uses cordova/Phonegap to access native APIs. These plugins provide similar but not exactly same functionality.
There is a difference between Android and iOS. Take the example of file plugin. Android and iOS store data at different locations. Or the Camera plugin. The default location of captured image might be different on different platforms. Or the Status bar plugin. iOS has more features for status bar and some features are available for single platforms only (3D Touch or Keychain). Also both are deployed on different WebViews. Android uses Chromium or Android System WebView. There will be subtle WebView differences which you might notice as you code. Since the native code of iOS and Android are different , there might be a case when your code works good in iOS but throws errors on Android and vice versa. Some plugins have issues with each other. It’s handy to have a basic knowledge of how iOS and Android Apps/Platform function internally.
Getting a job in a large company might be easier with Android SDK/Java development. Start ups are increasingly using cross platform tools, but many are still using native tools. If you’re creating your own apps, writing it once seems a clear win over doing it twice.