So every developer that wants to create mobile apps should have heard the word WebView. But what is a WebView exactly? A simple explanation is that a WebView is a mini browser that runs your application. So you can actually build a mobile app without using the native development languages but by using old good web development tools and then run the app inside a WebView.
To run the app inside a WebView you need a bridge for the connection like Cordova for Android and iOS apps or Electron for desktop apps. There is a lot of discussion about the performance of these apps and even though they are not as quick as native apps there is not a big difference for apps that don’t make heavy use of certain native APIs.
So if we use web technologies and show the web content inside a mini-browser (WebView) then how exactly do we use the camera and other native elements of a device? The answer is that we have to use frameworks that provide a bridge to access the native APIs of the platform we want. The most known framework for mobile is Cordova and all the frameworks that are built on top of that like Ionic and PhoneGap. Also for desktop apps, Electron is quite known.
Ok, WebViews look awesome but when should we use them? A typical example is that you want to create an app for the two biggest mobile operating systems Android and iOS. Instead of coding two different apps with different languages, you can use one of the frameworks we talked above and with the help of the WebView, you can code the app only one time and then deploy to both Google Play Store and App Store.
When not to use the above technologies? If you want to make an app that makes heavy use of hardware like camera and GPS then you should try to code the app natively or else the performance hit will be quite big.