New Idea to boost competitors

I’m bulding a native app from a PWA app wrapper, but instead of placing all the static code in the app (copying html, jss, css, images, etc) why not use the WKWebView pointing to the app url and create the interface injecting the voltbuilder.js to connect to plugins? This way it does not need to update the app in the store for minor changes, the app will be updated all the time automaticly and only need to be upgraded when new plugins are added.

I’m doing exactly that with my apps and I feel I’m recreating the current cordova plugins for using this way. If you propose a simple solution connecting the volt library and plugins to a https site instead to a local file folder with htnl, js, css, etc. I think your product will not have competitors.

Rene Marty

This would probably not fly well with Apple Review Guidelines, that specifically states:

Apps should be self-contained in their bundles, and may not read or write data outside the designated container area, nor may they download, install, or execute code which introduces or changes features or functionality of the app, including other apps. Educational apps designed to teach, develop, or allow students to test executable code may, in limited circumstances, download code provided that such code is not used for other purposes. Such apps must make the source code provided by the app completely viewable and editable by the user.

Thats not accurate, Apple changed the policy recently. Currently there are lots of apps that loads webviews from external sites. I can assume the risk and defend the use of external site to Apple (My app is a PWA used by 100.000 corporate users). Also remember that Android is an alternative if Apple put some problemas.

https://developer.apple.com/app-store/review/guidelines/

  • 4.7 HTML5 Games, Bots, etc. Apps may contain or run code that is not embedded in the binary (e.g. HTML5-based games, bots, etc.), as long as code distribution isn’t the main purpose of the app, the code is not offered in a store or store-like interface, and provided that the software adheres to the additional rules that follow in 4.7.1 and 4.7.2. These additional rules are important to preserve the experience that App Store customers expect, and to help ensure user safety.
    • 4.7.1 Software offered under this rule must:
      • be free or purchased using in-app purchase;
      • only use capabilities available in a standard WebKit view (e.g. it must open and run natively in Safari without modifications or additional software); and use WebKit and JavaScript Core to run third-party software and should not attempt to extend or expose native platform APIs to third-party software;
      • be offered by developers that have joined the Apple Developer Program and signed the Apple Developer Program License Agreement;
      • not provide access to real money gaming, lotteries, or charitable donations;
      • adhere to the terms of these App Store Review Guidelines (e.g. do not include objectionable content); and
      • not offer digital goods or services for sale.
    • 4.7.2 Upon request, you must provide an index of software and metadata available in your app. It must include Apple Developer Program Team IDs for the providers of the software along with a URL which App Review can use to confirm that the software complies with the requirements above.

As I read this, you are allowed to run html5 apps in a webview. But not allowed to access native capabilities which I understood was what you were suggesting.

4.7 Guideline seems to be implemented to accommodate mostly html5 games that have no need for native capabilities through plugins.

If you do not have a html5 game, or make use native capabilities, you risk of violating:

4.2 Minimum Functionality

Your app should include features, content, and UI that elevate it beyond a repackaged website.

First: Apple is not the only target, Android also exists.
Second: The defense of the app in App Store is responsibility of the developer, not VoltBuilder. It will be the task of the developer to make the defense and in my case, due to the high number of users of my PWA app (not requiring App Store until now) I have some power of negotiation. I could give you more news in some weeks, I’m re-building some plugins for my PWA wrapper (bar code reader, notifications and geolocation) if the App Store finally approves my app.
Third: The HTML Game is an example, is not exhaustive (notice the “etc”).