微信端 h5 页面开发,如何选择轻量级的框架

2016-11-17 17:09:39 +08:00
 goodlord

我已经开发了一个类似有赞的微店店铺,在微信 app 里扫码打开,后端用的 spring ,前端用的 bootstrap 4 , angular 1.4 ,自己手写 css 和 html 。问题是首页加载比较慢,所有的 js 都在首页加载了,听说 angular 框架是重量级的。所以上网搜索了一些框架: angular 2 , ionic : https://github.com/driftyco/ionic , mobile-angular-ui : https://github.com/mcasimir/mobile-angular-ui

angular2 是移动优先的, ionic 里用到了 angularjs 2.2.1 版本,但是它提供的控件啥的我这个网站貌似用不到, mobile-angular-ui 好像也要引用 angularjs ,不知道啥版本,它能提高网站的响应速度吗?还有推荐 react.js , vue.js 的。

请教各位,我该使用哪个框架来获得最好的加载速度和响应速度以及性能?

9825 次点击
所在节点    问与答
26 条回复
dqh3000
2016-11-18 10:10:37 +08:00
@goodlord 图片可以 lazy load ,我没有反对你换框架,我只是说明确原因在哪

所有的 js 加载都在首页,是指模块的加载吗?如果这样要考虑怎么分开,我现在用 react ,模块分开主要是基于 webpack 的延迟加载
zhihaofans
2016-11-18 11:16:12 +08:00
@em70 微信不也是 html5 吗。。。
em70
2016-11-18 12:38:13 +08:00
@zhihaofans 小程序不是 HTML5
goodlord
2016-11-18 16:18:56 +08:00
@dqh3000 所有的 js 和 css 都在首页引入了,跳转到其他页只是 html 里的 body 被替换了,用了 ui-view 指令。网上说了: Angular 以及所有前端 SPA 程序,都有一个通病:首次加载太慢,要下载完所有 js 和 css 才能渲染出完整的界面来。 React 通过虚拟 DOM 解决了此问题,而 Angular 2 则通过独立的服务端渲染引擎解决了这个问题。不知道是不是真的。你觉得 react 好用吗?
dqh3000
2016-11-18 16:36:04 +08:00
@goodlord

这样理解是不对的,没有“一定必须”下载所有 js 和 css 才能渲染出完整界面的说法

就例如你的网站有 100 个页面,这是很可能的吧,然后每个页面可能都有独立的业务逻辑, css 样式,如果一个 SPA 应用都必须一开首页就把所有 100 个页面的所有逻辑( JS 代码)和 css 样式都下载下来,然后才能用,那 SPA 早就没人用了~~

现在很多框架都能服务端渲染的,不止 Angular 2 ,这个确实解决了一些问题,不过也带来了另一些问题~~

我的意思是,如果这个是加载速度的问题,那有也就无非是服务端渲染,或者各种模块独立,各自延迟加载等方法。

如果是渲染速度有问题,那基本上没什么解决办法了,用更轻量级的框架好了……例如不用框架
Pan940425
2016-11-19 11:29:49 +08:00
歪个楼,每次看到把“ html5 ”缩写成“ h5 ”的时候,我都特别想问一句,你们让“ java8 ”情何以堪。。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/321234

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX