Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vue 多页面 vs vue单页面 #20

Closed
yuana1 opened this issue Aug 15, 2018 · 1 comment
Closed

vue 多页面 vs vue单页面 #20

yuana1 opened this issue Aug 15, 2018 · 1 comment

Comments

@yuana1
Copy link

yuana1 commented Aug 15, 2018

关于性能方面,从http://ask.dcloud.net.cn/article/25 看到了如下话:

不管使用哪种方法,都要注意一点,手机App的HTML页面必须本身性能足够高。

这是老生常谈的问题,但现实中还是大量App因为这个问题而导致性能体验出问题。
编写干净整洁、一次渲染的页面非常重要。
现在太多开发者在研究模式、框架,让页面渲染要经历二次、甚至四五次重绘才能完成。在短短几百毫秒的动画期间,这么干要不让页面卡、要不让渲染慢。
减少js二次渲染很重要的就是减少使用js渲染页面,页面结构要用简单朴素的HTML写,js可以动态填充数据,但如果js动态绘制页面主体,那渲染速度上不去。
减少css二次渲染,就是少用复杂的选择器,少用padding、margin这些会二次修正页面的css。
如果追求极致的话,那jquery、zepto这些框架也不要使用,手机上都是webkit引擎,直接写document的api操作dom即没有兼容问题又没有效率问题。

采用vue多页面是不是有点违背上面所说的这些话了,您之前考虑过vue的单页面吗?有什么缺点吗?

@tyaqing
Copy link
Owner

tyaqing commented Aug 23, 2018

1.没有违背

在做脚手架之前我是把[提升HTML5的性能体验系列]全部看过的,这个脚手架几乎按照他们的建议写出来的.
比如说:

现在太多开发者在研究模式、框架,让页面渲染要经历二次、甚至四五次重绘才能完成。在短短几百毫秒的动画期间,这么干要不让页面卡、要不让渲染慢。

假如我们直接用umd方式引入vue,也就是<script src="vue.js"></script>.

那么就会造成二次渲染 html->virtualDOM. 注意这里处理了2次
但是使用webpack 直接出来的就是virtualDOM.这个是性能的提升.

他这段话主要是说追求极致就不要使用太多的库比如jquery,mui.

2.单页面的缺点

如果单页面能解决问题,这个脚手架我就不会做了,大家也可以直接移植vue项目.
最核心的问题就是!!!性能!!! ,
Hbuilder在建议中提过,能用原生的尽量用原生.那么webview就是原生窗口,性能和vue-router模拟窗口可不是一个量级的.
而且你要考虑有些app可是有30+个页面. 30可能会导致一个超级大的js.或许你会说按需加载.但是随着用户操作越多,js加载越多,就会越卡,甚至内存溢出.

@tyaqing tyaqing closed this as completed Aug 23, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants