Roh*_*sal 42 html5 responsive-design ionic-framework
Ionic是使用html5开发移动应用程序的一个很好的框架.我们也希望在桌面浏览器上使用相同的应用程序.制作一个在桌面浏览器和移动浏览器上都能发挥最佳效果并制作应用程序的响应式用户界面是否是个好主意.或者我们应该为浏览器和移动应用程序进行不同的开发
Jer*_*ken 31
为了扩展已经说过的内容,Ionic是专为移动设备而构建和测试的.例如,Internet Explorer未经过测试,无法正确处理Ionic中的许多功能.桌面浏览器确实具有与移动浏览器对应的不同功能.您会严重限制可以在桌面上使用您的应用程序的浏览器.
最有可能的是,您应该为桌面和移动提供两种不同的应用程序.除非你有胆量或能力告诉用户他们必须使用Chrome(或Opera)来运行你的网站,否则你需要两个独立的应用程序.您仍然可以将Ionic用于移动网站,但无法使用Cordova的完整平台集成(您将仅限于浏览器提供的本机HTML API).您当然可以将大部分业务逻辑保留在两个应用程序之间共享的公共核心中.这将需要创建一个共享的角度模块.我在一个带有Ionic应用程序和普通Angular桌面应用程序(使用Bootstrap)的项目中完成了这项工作.
有许多方法可以检测访问者是来自桌面设备还是移动设备.我不知道100%完美的方法,因为它们通常依赖于浏览器的用户代理字符串(并且可以被欺骗,更改等).有关如何在服务器或编程语言中实现移动检测的常见脚本或示例,请参见http://detectmobilebrowsers.com/.
leo*_*leo 14
有趣的是,似乎可以使用名为"Electron"的工具包生成桌面版本的Ionic应用程序,该工具包类似于Cordova/Phonegap的桌面等效,如本文所述:
http://alexbergin.com/2015/streamlining-desktop-and-mobile-app-development
Electron(以前称为Atom Shell)打包嵌入式Chromium webview以生成"真正的"应用程序.这也意味着跨浏览器问题不是问题.
上述文章的作者成功地使用了Ionic app.
如果您沿着这条路走下去,那么您可能需要使用一些响应技术来优化桌面上的UX.
我没有尝试过这个,所以我不知道这种方法的优点和缺点,但我可以想象有些情况下你只想快速将桌面版本的应用程序放在一起.
小智 5
我的评论太大了。这是为了详细说明并补充杰里米·威尔肯的出色答案。
这不仅限制了台式机上的浏览器,而且在部分屏幕空间上显示移动屏幕看起来简直是荒谬的(现在是时候重新考虑移动设备首先意味着什么了:)。正确使用API的需求不会再被强调,因为尽管功能可能相同,但与PC格式相比,移动格式的屏幕(导航)很可能在更多屏幕上发生变化。
我同意Jeremy的观点,即应将业务逻辑分开并作为细粒度的REST API公开,例如,将基于Express.js框架的服务器与MySQL / MongoDB / Redis或任何其他商业数据存储区一起使用。因此,REST API可以在移动/平板/迷你平板电脑UI(带有Ionic)和台式机/笔记本电脑UI(带有Bootstrap + AngularJS)之间使用。我当然是JS的粉丝,OP可以为服务器使用任何选择的语言。