Architecture

What are native hybrid web view apps?

Apps built using Median are much more than your regular web view app. While the apps still rely on embedded browser engines to render your web content within a native applications, they also can be enhanced by advanced native functionality and features. Fully native features may (but are not limited to)

  • Native Navigation Menus: Menus that are composed of native components and do not rely on your website. They may include dynamic menus, custom icons, localization and many more features.
  • Native Push Notifications: Powerful notification integration allow you to bring your preferred cross-platform push notification provider to engage with your users.
  • Native Plugins: Integrations of native mobile SDKs provide access to native device hardware, functionality, and third-party services. Through their optimization for mobile devices they are typically optimized for mobile device usage.

While you can achieve all of the above with native app development, Median offers you the App Studio Build platform that allows you to optimize your app for recent iOS and Android releases and maintain compatibility while avoiding the overhead that comes from maintaining your own native code base.

WebView Render

Median uses the Android System WebView as well as the WKWebView on iOS as your standard renderer for WebView components. Should you require a different WebView renderer such as GeckoView please contact us.

The WKWebView and Android System WebView components used within your iOS and Android apps do not necessarily support all JavaScript functionality that is supported within other web browsers. These components are a dependency from Apple and Google and compatibility with JavaScript and CSS varies by iOS and Android version. We recommend referring to the Mozilla developer docs which provide the most comprehensive compatibility tables showing support for specific methods and properties.

For specific functionality concerns we recommend reviewing the WebKit and Chromium Blink bug/issue trackers.

For many methods such as Blob and Geolocation functionality we provide shim code within the app to translate JavaScript methods into an integration with native iOS and Android methods. For more complex functionality such as text-to-speech (TTS) custom development by our team is required to provide an integration that meets your specific requirements.

App Performance

Performance of mobile apps built with our platform is strongly correlated to the performance of your web experience. This means you will have to find and remediate performance bottlenecks caused by website assets and resources such as javascript, images, embedded functionality.

In some cases, you can also achieve performance gains by leveraging native device SDKs of your third-party vendors and using Native Navigation rather than delivering menus through your web experience.

Testing and Debugging

There are several components to consider when testing and debugging apps, and while our App Studio provides built-in simulator there may be a better tool for your development and quality control teams. Generally, you will have to consider the following areas:

  • UI / UX: Validating the app user interface and user experience across platforms, device orientations and software versions.
  • App Performance: Identifying and mitigating performance bottlenecks from web resources.
  • Native Device Features: Validating native device functionality, such as haptics, in-app purchases, biometrics or root detection.
  • SDK and Plugin Configuration: Gathering logfiles and information to troubleshoot native SDK integrations and app crashes.

Each of the area has a tool that is best suited for the job. Please reference our overview available at Development & Test Deep Dive for a recommendation and limitation of tools available to you.

App Analytics & Website Analytics

Median does support most of the web analytics platforms (such as Google Analytics) out of the box and your will be able to identify iOS and Android users by a distinct user agent, header. You can learn more about identfying app users in the following article: Detecting App Usage

For additional in-depth event tracking, measurements (such as conversions and install/uninstall measurements) and analysis we recommend adding the Native Plugin of your favorite analytics platform. Today we offer integrations with:

For support of analytics platforms not listed above or available in our Native Plugin Library please contact us for custom development.

Frequently Asked Questions

Which versions of Android and iOS will my app support?

Generally, we provide support all iOS and Android versions that receive active Apple iOS and Google Android security support.

To support legacy devices for specialized use-cases and enterprise environments the core Median app supports iOS 13+ and Android 8.1+ including both phones and tablets. Outside of the core functionality, minimum OS requirements to support Push Notification providers and Native Plugins vary by the SDKs and device functionality required.

Should you require support for older operating systems please contact us.

We continually release updates to support the latest operating system updates and new devices.

Can I use an alternate WebView component within my Android app rather than System WebView?

Yes. There are known limitations with the built-in Android System WebView such as:

  • Resources are shared across all apps that are using the System WebView component
  • During an update of System WebView all instances of WebView are stopped causing apps using WebView to crash
  • Edge case bugs remain open such as delays in user input which can cause poor UX for some apps

Median’s engineering team are able to implement a custom WebView component that is embedded directly in your app, rather than relying on the shared Android System WebView. We recommend GeckoView. You can learn more about WebView limitations and solutions via the Facebook Developer blog. Note however that when using an embedded WebView component the app binary size will be much larger than an app that uses the Android System WebView.

What's different than a basic web-view wrapper app?

Apps built using Median are much more than a wrapper app. The Median platform allows you to build an app with advanced native functionality and features. You can add native navigation menus, native push notifications (with OneSignal and other push providers), and incorporate our premium native plugins such as Face ID / Touch ID Biometric authentication, Social Login, QR/Barcode scanner, In-App Purchases, and much more.

When building your app you'll also benefit from the App Studio Build platform which has been supported and maintained since early 2014. As iOS and Android changes are released you can rebuild your app using the Median App Studio to maintain compatibility while avoiding the overhead that comes from maintaining your own code base.

Can I modify the source code for my app?

Yes! Full source code for iOS and Android is available for download and your license permits modification of the source. You may use Xcode and Android Studio to make any required changes and customizations. You can reference our articles below to build your app from the source.

After you've made changes you may work with the Median engineering team who can create a custom plugin based on your modifications so that you can continue to receive ongoing app updates through the Median App Studio.