一个跨平台的智能手机应用程序,就像浏览器一样只显示一个网站

Posted

技术标签:

【中文标题】一个跨平台的智能手机应用程序,就像浏览器一样只显示一个网站【英文标题】:A cross platform smartphone app that acts like a browser to just display a website 【发布时间】:2018-01-10 21:38:53 【问题描述】:

我有一个使用完整的 php 和一些 javascript 运行的网站,但现在我想为这个项目创建一个适用于 iosandroid 的智能手机应用程序。

我看到使用 Cordova 和 Intel XDK,我们可以将网站转换为应用程序,但这样做的缺点是您的所有网站文件都必须是 .html,并且您只能通过 Javascript AJAX 和 PHP 与服务器通信。我们现在得到的整个网站几乎都是用 PHP 编写的,将整个网站转换为 .html 和 .js 是不可行的。

我们还四处寻找原生路由,发现 https://***.com/a/17600523/144201 指向 iOS 的 UIWebView 和 Android 的 WebView,但在这种情况下我们需要处理 2 个平台。

因此,有谁知道是否有一种跨平台方法可以让我们创建一个像浏览器一样显示指定网站并与服务器通信的应用程序?

这样的例子之一是http://www.thaiairways.com/en_TH/index.page。我们的客户向我们展示了他们的网站和他们的 iOS 应用程序。我们看到两者是相同的,我们可以在他们的 iOS 应用程序中浏览,就好像我们在浏览他们的普通网站一样。这就好像应用本身只是一个显示网站的浏览器。

但是有可能以跨平台的方式做到这一点吗?

【问题讨论】:

伙计们,至少,请告诉我你投反对票时出了什么问题。 【参考方案1】:

您可以使用 Cordova,因为出于安全原因,您的应用程序不允许您运行 JS 或远程托管的网站,在您的应用程序中嵌入全屏浏览器,而只是将应用程序作为它的外壳。这可以通过以下插件来完成: https://cordova.apache.org/docs/en/latest/reference/cordova-plugin-inappbrowser/

但是,当您将其提交到 Apple 商店时,您可能会被 Apple 审核人员拒绝(假设您想向公众发布它),因为仅仅对应用程序进行炮击违反了 Apple 的准则。

如果您这样做,您的用户可能也不会那么高兴,因为应用程序中包含的可以快速加载的内容(例如图形、HTML 和 CSS)将被延迟,直到从网站中拉出。该网站的皮肤也可能不会使用适当的 iOS 样式小部件或 Android Material Design 样式小部件,或者您通常选择在应用程序上执行的操作(例如自动登录)可能不是一个选项,等等。

我不知道您为什么被否决,但这类问题(可能措辞不同)在我的客户中很常见,所以可能已经在这里问过了,您可以通过一点点找到答案搜索。

不幸的是,最好的解决方案是硬着头皮创建一个您的应用可以使用的 API。您的 API 可以是 PHP 并提供与您当前网站上相同的数据,所以如果幸运的话,您可以提升很多。您的应用可以使用 Ionic 等流行的小部件库进行编码,但您可能希望查看新的 HTML 而不是移植。

【讨论】:

以上是关于一个跨平台的智能手机应用程序,就像浏览器一样只显示一个网站的主要内容,如果未能解决你的问题,请参考以下文章

响应式布局

响应式布局

uniapp加载svg小圆圈在手机上和浏览器上显示的不一样

智能手机操作系统浏览器屏幕尺寸

DPU — 完全可编程网络

使用 Unity3d 插件在我自己的智能手机上进行测试