Portals are the fundamental abstraction in Ionic Portals, providing the means to embed a web app into a native app. You can embed multiple web apps through different portals or embed different screen of the same web app into different portals.
Portals enforces good security practices to protect developers and users alike. Native developers can set granular permissions that designate which parts of the native app the web teams can touch. With this feature, native and web teams can safely collaborate while ensuring that no unauthorized access to data or accidental overwriting of important features and data occurs.
According to Ionic, the use of Ionic Portals also helps native and web development teams to better collaborate while keeping their respective responsibilities intact.
Ionic describes its new web view component, Ionic Portals, as a “supercharged” version of the native web view controls available on iOS and Android. It aims to make it easier for developers to integrate web apps with native code in an efficient way.
The features that Ionic Portals builds on top of the stock web view provided by the OS include the possibility of exposing native capabilities to the web experience, a web-to-native communication bridge enabling to consume the results produced by the web layer, the ability to program plugins to define new APIs to expose native capabilities and data to the web view, and more.
The suggested way to add Ionic Portals to an iOS project is through CocoaPods, by placing the following dependency into your project Podfile:
Similarly, on Android, you add the Ionic Portals dependency to your build.gradle file:
You can use the same approach to extend Ionic Portals by including any of Capacitor’s 20+ plugins, which enable accessing the camera, clipboard, local filesystem, and so on. Once Ionic Portals is integrated within your project, you can initialize it calling PortalManager.register() with your API key, then instantiate a portal with a locally stored web app while also initializing all required plugins:
Ionic Portals also supports the possibility of updating an app without a new app store review or release. Ionic Portals is open source but requires a free license key.