为什么有的页面用mui创建,为什么有的用plus创建?
WebviewObject plus.webview.create( url, id, styles, extras );
mui.openWindow({url:'info.html',extras:{name:'mui'}});
为什么有的页面用mui创建,为什么有的用plus创建?
WebviewObject plus.webview.create( url, id, styles, extras );
mui.openWindow({url:'info.html',extras:{name:'mui'}});
plus 是 app 的底层运行环境,让 js 能够访问硬件设备提供的某些功能。
MUI 是一套轻量级的前端框架,从某种意义上说,你可以把 MUI 分为两部分:
(1) 与 plus 无关的部分,纯粹用 H5 实现的功能,比如大部分的 UI 组件。
(2) 对 plus 进行包装得到的一些应用功能,比如窗口管理、下拉刷新等。
但这两部分并不是截然分开的,有些功能接口在有 plus 的环境下就使用 plus,没有 plus 就退化为用纯 H5 来实现。
从使用者的角度说,如果你喜欢用 MUI,那么需要注意在没有 plus 支持的环境(比如 web 应用,比如微信应用),MUI 里某些功能是无法使用的。
另一方面,在有 plus 支持的环境下(比如 app 应用),如果你不喜欢 MUI,理论上完全可以自己用 js 实现其全部功能。
以上是回答你标题的问题,至于你正文中的具体问题,是这样的:plus 是底层的功能接口,MUI 对其进行了一层应用包装,用哪个就看你喜欢了(其实就是看哪个更合用的意思)。
回复 DC_Lee:
你说的这个项目我不了解。要实现无缝跳转,核心是预加载。在没有 plus 的环境下(即所谓“纯 H5”),也是可以预加载的,但 MPA(Multi-Page Application)是不行的,需要 SPA(Single-Page Application)才可以,相应的重量级前端框架也有不少可供选择。
SPA 当然也有自己的问题,比如首次加载开销太大,比如单一 DOM Tree 过于庞大导致性能下降,这些也正是 plus.webview 这种体系结构值得存在的理由。
至于你说的【jquerymobile 体验相当差】,我不知道具体指什么,但每个解决方案肯定都不会是完美的,各有侧重而已。
MUI 是个轻量级前端框架,它的窗口管理功能只是把 plus.webview 包装得更好用一点,它的兴趣不在于提供纯 H5 的预加载功能。
DC_Lee
大侠你好,MUI同时支持纯H5和Plus很是喜欢,但发现有一些美中不足,比如openwindow只有在APP中可以等跳转页加载完成后,再完美无闪无空白的衔接过去。而纯h5不行。我的微信应用中想模仿这种体验,想到了iframe,(但事实上我比较排斥iframe),于是找到了这一个插件pjax (https://github.com/welefen/pjax)。想问问大侠你对这插件看法。另外我记得jquerymobile也能实现无缝跳转,当然它实现体验相当差- -#但我觉得mui能在纯h5种做的很好才对……
2016-02-07 12:19