为什么单页应用看起来很火,但都没有看到大厂们的产品在用?

现在HTML5很火,各种前端MVC,MVVC框架很火,framework7angulerjsreactvue.js这些现在几乎是前端工程师最喜欢折腾的东西了,这些东西打破了原来固有的一些思想,视图和功能必须分离,模块化,再加上HTML5的特性,使得现代web充满可能,网页终于不再是跳来跳去的了,有点APP的味道了。

但随之而来也有很多问题,比如性能,还有对后端开发的影响,原来模板渲染在主要后端处理,现在后端则主要侧重与接口的开发了。

扯远了,我想说为什么现在市面上见不到一个使用这些技术,单页的网页呢,手机淘宝,手机天猫,58同城,美团,饿了么,各大手机新闻门户,……,很多很多,都还是链接跳来跳去的普通网页,网上各种demo倒是多,但是为什么没有大厂用呢?

难道由于那些“问题”,这些东西只适合于做内部系统,后台管理的东西吗?不能普及,做那些流量大的网站,比如手机美团吗?

阅读 17.8k
18 个回答

火的是单页面的技术, 然而单页面的产品本身确实没那么火. 要不我换工作的时候就不会这样纠结了.

饿了么其实是用到一些单页面的, 而且 Vue 或者 Angular 的站点某种程度上也是用单页面的套路写的, 内部也有一些 React 项目, 单页面技术. jQuery 只是听说过, 没去翻代码. 但是看一下具体业务吧, 桌面版是个单页面, 比较明确, 但是比起 Teambition 那种大型的应用还是有差距. 然后看移动端的页面, 大多是嵌入在饿了么 App, 微信, 甚至其他 webview 当中的页面, 这些页面经常是移动网络访问, 对体积及其敏感, 而且 js 性能也是瓶颈. 在移动互联网越来越重要的时候, 这种小页面显然非常重要.

除了体积和性能的限制, 某种程度上单页面的技术本身还有一些局限. 理想的情况下, 单页面应用应该是基于路由做动态加载的, 从而保证第一次打开并不太慢, 以后页面跳转都直接在同一个页面动态加载内容. 但这样对框架的要求非常高, 在新版本的 Angular, React, Vue 当中是有听到说"基于路由的动态加载"这种技术, 但经验判断还是刚开始做试验性支持, 还有很多坑, 配置也不容易.

总之 Web 技术仍然在发展当中.

误解,一个系统不可能就一个单页,是单页与多页结合起来的,相关度高的做成一个单页,用户体验好,不相干的还是多页,单页过于复杂也要拆成多页

个人认为,单页应用虽然很犀利,但是对于SEO并不是特别友好

有的移动APP就是套了个webview的壳,里面跑的就是SPA,这样iOS和Android就能共享代码了,对应一些小公司创业初期,这是非常省成本的。

单页应用js体积大,加载时间长(网络差的用户体验差)
对性能要求偏高(用老电脑老手机的用户体验差)
对老浏览器支持不好(越是大公司照顾的浏览器越老,同学在阿里巴巴(是阿里巴巴集团的阿里巴巴部门),他们前端的兼容性要求是IE5)
网页通常是新功能上的最快的地方,你把他照app的模式开发不利于快速迭代
很多用户不喜欢用返回键(比如google以前都是默认搜索页面跳转到结果的,现在似乎也变成默认新页面打开了)

所以你想大公司广泛应用单页应用完全是缘木求鱼,单页应用更适用于小公司新项目(一个创业公司的项目使用单页应用会给人一种很先锋的感觉),或者像你说的,后台管理

百度在用Vue,而且是大面积。。。。

Twitter移动版 React
饿了么移动版 Angular

鄙人最近主导的几个移动端项目都是用react做的,还行,http://yt.59store.com这个今天刚上新版

可能是考虑到兼容吧

新手上路,请多包涵

饿了么移动版是单页的呀

如果是纯在移动端使用的话,当然用单页面没问题,但PC端用单页面的还是比较少啦

那你真应该
仔细看看
多看看

管他大厂有没有在用,觉得适合自己的业务场景并且想用的话用起来就行了。
我反正是用着挺爽的,并且已经在好几个产品中用到了。
另外,难道大厂在用某技术还要昭告天下?

现在用单页应用开发大的网站,对开发团队要求会很高

还是有很多大公司在使用angular的,饿了么等,要看公司的需求嘛。angular体积有点大。

从来没有这种感觉,并且觉得大公司 (国外的为主) 不仅是很多单页应用开发技术的创造者 (Angular 1, 2, React, etc.) 而且是在网页中使用单页应用模式的先驱。也许是因为对大公司的产品最直观的认识是 Google 搜索和 Google+ (以及 Facebook, 但是简直丑) 的原因吧。

Google 搜索也是 PJax 导航的,至少 late 2014 开始就是了。

Medium 也是单页的,并且 UX 超赞。但是貌似称不上大公司就是了。

国内的话,知乎的知乎专栏也是单页。

综上,你不觉得大公司的产品用单页应用技术很多,是因为你只关注以 BAT 等为代表的国内大公司的产品。

这是因为选择单页应用更多的原因不是因为它的技术先进,而是性价比高,当你人手不够但是有需要快速验证的时候,单页可能是你唯一的选择。

但是单页应用并不是如想象中的那么美好,至少在体验上比原生差了好多。

如果是为了得到快速部署以及修正的特点,不缺人的情况下更好的选择是hybird方式来实现。

回到你的问题,大厂明显不缺人,因此单纯用单页的很少。

新手上路,请多包涵

bilibili在用vue,清一色的<div id="app"......

推荐问题