假设从头开始创建一个网站,并且还想创建应用程序。
你能用 REST API 创建网站并让它在浏览器和 PhoneGap 上运行吗?与您可能使用的 Cordova 插件是否会发生冲突?
所以设计是响应式的,它所有的 HTML、CSS 和 Javascript 都连接到浏览器网站和应用程序的 REST API(登录、注册、消息、数据库调用等)。
这样,您可以对所有内容使用相同的代码,并且仍然可以为应用程序使用一些出色的 Cordova 插件,以使其更加灵活。
这行得通吗?
我在其他地方发布了这个答案,但我认为它在这里是相关的。
不幸的是,要让您的应用程序通过 Apple App Store 的批准,它必须提供一些基本功能并在没有互联网连接的情况下正确显示。这意味着至少,如果您计划在服务器上生成内容,您可能需要 Cordova 插件来获取网络信息:
https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-network-information/
我会确保您熟悉 Apple 人机界面指南:
https://developer.apple.com/ios/human-interface-guidelines/overview/design-principles/
您可能还需要捆绑任何 JavaScript。Apple 对下载代码的应用程序非常挑剔(这可能包括 JavaScript)。
这是 iOS 开发者协议中的一部分。
3.3.2 除下一段规定外,应用程序不得下载或安装可执行代码。如果所有脚本、代码和解释器都打包在应用程序中并且未下载,则解释的代码只能在应用程序中使用。上述情况的唯一例外是由 Apple 的内置 WebKit 框架或 JavascriptCore 下载和运行的脚本和代码,前提是此类脚本和代码不会通过提供与预期不一致的特性或功能来改变应用程序的主要目的,并且提交给 App Store 的应用程序的广告目的。
另一个大问题是性能。您的应用程序将如何处理较差的 3G 甚至 2G 连接?您是否需要缓存来自 API 的响应,并且仅在它们在服务器上发生更改时才下载它们?
如果用户在浏览器上浏览您的网站,他们知道他们需要互联网连接,如果他们正在使用您的应用程序,他们希望它在在线和离线时都能正常工作。
编辑
Apple 通常使用这个理由来拒绝仅限网站的应用程序。
我们发现您的应用程序提供的体验与 Web 浏览体验并没有太大区别,因为它可以通过结合原生 iOS 功能来实现。
虽然您的应用程序内容可能与您的网站或其他现有网站有所不同,但它提供的体验与使用 Safari 的一般体验没有显着差异,正如 App Store 审查指南所要求的那样。