很迷茫的一个问题,SPA 适合做电商吗?

我也是最近一两年才开始接触SPA,也试着将公司内部两个简单的的网站应用转型成了SPA。最近我一直在思考一个问题SPA到底适合电商吗?尤其是桌面平台。
觉得SPA好的地方在于单页面,一次加载完就可以像一个APP一样使用。用户体验好。
但是缺点也是单页面,目前很想试试用SPA写电商,但是有很好奇SPA到底适合电商吗?
我对SPA不是和电商的认知

  1. 分享商品链接这个我没有发现怎么能很好的处理
  2. SPA如果在更新一些东西后,用户如果不刷新页面是有可能看不到的。
  3. 写起路由来真的很麻烦
    看了网上很多文章都是2015-16年左右在讨论SPA不适合电商的。包括加载响应速度慢。但是这些都是基于3G网络的探讨。所以还是想看看大家现在都是什么想法,或者经验。谢谢
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
最佳答案

逐一回复

  1. 就算是 SPA 也是支持传参的,只不过这个参数前端页面接收,再找后端请求获取数据什么的,当然分享落地页也可以定为后端路由
  2. 这种需求传统非 SPA 也无法满足要求
  3. 路由并不麻烦,还可以按模块分开写到不同文件

说一下,我理解的优缺点

缺点:

  • 对 SEO 不友好,当然也可以通过服务端渲染解决,我没试过,一般前端玩不转
  • 首次加载慢,这是已知问题,实际我们没遇到过,可以通过配置 webpack 分包、CDN 大法解决,网上有不少解决方案

优点:

  • 前后端项目分开开发,项目团队好管理
  • 一次加载完以后,网络传输都是纯数据,用户体验好

推广一下 CDN大法,这个非常适合 SPA 应用,价格也不贵(买流量包比移动手机流量还便宜),如果是传统网页应用,动静态是混在一起的,效果不是很好,且一般厂商可能会对动态页面请求单独计费

4年前 评论
GeorgeKing 4年前
讨论数量: 3

或许可以加上服务端渲染

4年前 评论

逐一回复

  1. 就算是 SPA 也是支持传参的,只不过这个参数前端页面接收,再找后端请求获取数据什么的,当然分享落地页也可以定为后端路由
  2. 这种需求传统非 SPA 也无法满足要求
  3. 路由并不麻烦,还可以按模块分开写到不同文件

说一下,我理解的优缺点

缺点:

  • 对 SEO 不友好,当然也可以通过服务端渲染解决,我没试过,一般前端玩不转
  • 首次加载慢,这是已知问题,实际我们没遇到过,可以通过配置 webpack 分包、CDN 大法解决,网上有不少解决方案

优点:

  • 前后端项目分开开发,项目团队好管理
  • 一次加载完以后,网络传输都是纯数据,用户体验好

推广一下 CDN大法,这个非常适合 SPA 应用,价格也不贵(买流量包比移动手机流量还便宜),如果是传统网页应用,动静态是混在一起的,效果不是很好,且一般厂商可能会对动态页面请求单独计费

4年前 评论
GeorgeKing 4年前

首先,不能单一的评论SPA适不适合做电商,而是应用的需求范围有哪些。 我们做了很多有关电商的项目,之前也很纠结要不要通过SPA来做,或者通过MPA来做,哪一种对于电商结构更加适合。但是每一个电商项目的类型不一样,不能统一而论。@Hachiko 所说的优缺点很清晰,比如:

  • spa对于SEO不友好,但是也可以通过其他方式来解决,例如,我们的电商系统,也是通过SPA来创建的,但是我们又同时通过Laravel的路由功能将单页面通过多路由渠道进行访问,然后做了简单的服务端渲染功能。
  • 首次加载慢的问题,你可以通过懒加载或者其他方法来,CDN是一个不错的方法。

所以,我的个人看法是:无论是SPA(单页面)还是MPA(多页面)都适合做电商,哪一个更能够快速高效的开发,在初期来说这个很关键。前后端分离的程度是多少,怎么进行融合,团队怎么进行协作等等,这些是需要考虑的方面。

例如:你可以通过SPA进行单页面开发,通过vue-router来进行功能区分,后端通过服务端渲染的方法,将你的页面融入进去,解决seo的方法,这个在laravel中很好实现,不一定要用laravel的mix方法来进行vue编写,两端可以完全独立开发,然后合并。

另外通过懒加载的方式,可以很好的将包进行拆分,这样在打开首屏的时候可以减少打开加载的时间。或者首屏也通过服务端渲染进行渲染,这样首屏的时间会缩短很多,也会提升后续页面的打开速度。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!