html5-使用ionic作为桌面Web应用程序

Ionic是使用html5开发移动应用程序的绝佳框架。 我们也希望在桌面浏览器上使用相同的应用程序。 制作一个在桌面浏览器和移动浏览器上均能最佳工作的响应式UI并制作应用程序是个好主意吗? 或者,我们应该针对浏览器和移动应用进行不同的开发。

6个解决方案
31 votes

为了稍微扩展一下已经说过的内容,Ionic的构建和测试仅针对移动设备。 例如,Internet Explorer未经过测试,并且不能正确处理Ionic中的许多功能。 桌面浏览器确实具有与移动浏览器不同的功能。 您将严重限制可以在桌面上使用应用程序的浏览器。

您很可能应该为台式机和移动设备提供两种不同的应用程序。 除非您有胆量或能力告诉用户他们必须使用Chrome(或Opera)才能运行您的网站,否则您将需要两个单独的应用程序。 虽然您仍然可以将Ionic用于移动网站,但是却无法使用Cordova的完整平台集成(您将只能使用浏览器提供的原生HTML API)。 您当然可以将大部分业务逻辑保留在两个应用程序之间共享的公共核心中。 那将需要创建一个共享的角度模块。 我已经在一个有Ionic应用程序和正常Angular桌面应用程序(带有Bootstrap)的项目中完成了此操作。

有多种方法可以检测访客是否来自台式机或移动设备。 我不知道100%完美的方法,因为它们通常依赖于浏览器的用户代理字符串(并且可以被欺骗,更改等)。 有关一些常见脚本或示例的信息,请参见[http://detectmobilebrowsers.com/],以了解如何在服务器或编程语言上实现移动检测。

Jeremy Wilken answered 2020-08-11T09:40:27Z
27 votes

本周早些时候,在ng-europe上问了这个问题。 离子人员的答案是共享您的服务和控制器,但在桌面上使用不同的视图。 Ionic完全专注于移动。

Nat Wallbank answered 2020-08-11T09:40:47Z
14 votes

有趣的是,似乎有可能使用名为“ Electron”的工具包来生成Ionic应用程序的桌面版本,该工具包类似于Cordova / Phonegap的桌面版本,如本文所述:

[HTTP://Alex B而gin.com/2015/streamlining-desktop-安定-Mobile-app-development]

Electron(以前称为Atom Shell)打包了嵌入式Chromium Webview来生成“真实”应用程序。 这也意味着跨浏览器问题不再是问题。

以上文章的作者将此内容成功用于Ionic应用程序。

如果您走这条路,那么您可能需要使用一些响应技术来优化台式机上的UX。

我没有尝试过这种方法,所以我不知道这种方法的优缺点,但是我可以想象有些情况下,您只是想快速地将已经拥有的应用程序的桌面版本放在一起。

leo answered 2020-08-11T09:41:30Z
5 votes

我的评论太大了。 这是为了详细说明并补充杰里米·威尔肯的出色答案。

这不仅限制了台式机上的浏览器,而且在部分屏幕空间上显示移动屏幕看起来简直是荒谬的(现在是时候重新考虑移动设备首先意味着什么了:)。 对于正确的API的需求不会再被强调,因为尽管功能可能相同,但移动(而不是PC)格式的屏幕(流程)在更多屏幕上的变化(导航)可能会有所不同。

我同意Jeremy的观点,即应将业务逻辑分开并作为细粒度的REST APIS公开,例如使用具有MySQL / MongoDB / Redis或其他任何商业数据存储的基于Express.js框架的服务器。 因此,REST API可以在移动/平板/迷你平板电脑UI(带有Ionic)和台式机/笔记本电脑UI(带有Bootstrap + AngularJS)之间使用。 我当然是JS的粉丝,OP可以为服务器使用任何选择的语言。

SheshPai answered 2020-08-11T09:42:00Z
1 votes

我建议您将ionic用于移动设备,尤其是如果您使用ionic 2,请在角度2中为桌面使用相同的代码,而只需稍作改动

Geoff answered 2020-08-11T09:42:21Z
0 votes

该框架仅适用于移动混合应用程序,尽管可以作为普通的HTML应用程序使用。

stevemao answered 2020-08-11T09:42:41Z
translate from https://stackoverflow.com:/questions/26560204/use-of-ionic-as-desktop-web-application