单页应用有哪些优缺点?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

单页应用有哪些优缺点?

大河人家 2018-11-05 22:35:07 4034

单页应用有哪些优缺点?

分享到
取消 提交回答
全部回答(7)
  • 景凌凯
    2019-07-17 23:12:13
    已采纳

    单页Web应用(single page web application,SPA),就是只有一张Web页面的应用。单页应用程序 (SPA) 是加载单个HTML 页面并在用户与应用程序交互时动态更新该页面的Web应用程序。 浏览器一开始会加载必需的HTML、CSS和JavaScript,所有的操作都在这张页面上完成,都由JavaScript来控制。因此,对单页应用来说模块化的开发和设计显得相当重要。
    速度:更好的用户体验,让用户在web app感受native app的速度和流畅,
    MVC:经典MVC开发模式,前后端各负其责。
    ajax:重前端,业务逻辑全部在本地操作,数据都需要通过AJAX同步、提交。
    路由:在URL中采用#号来作为当前视图的地址,改变#号后的参数,页面并不会重载。
    单页Web应用(single page web application,SPA)是当今网站开发技术的弄潮儿,很多传统网站都在或者已经转型为单页Web应用,新的单页Web应用网站(包括移动平台上的)也如雨后春笋般涌现在人们的面前,如Gmail、Evernote、Trello等。如果你是一名Web开发人员,却还没开发过或者甚至是没有听说过单页应用,那你已经Out很久了。
    单页Web应用和前端工程师们息息相关,因为主要的变革发生在浏览器端,用到的技术其实还是HTML+CSS+JavaScript,所有的浏览器都原生支持,当然有的浏览器因为具备一些高级特性,从而使得单页Web应用的用户体验更上一层楼。关于单页应用的优点和缺点,网上讲解的文章有很多,这里就不展开论述了。 单页Web应用,顾名思义,就是只有一张Web页面的应用。浏览器一开始会加载必需的HTML、CSS和JavaScript,之后所有的操作都在这张页面上完成,这一切都由JavaScript来控制。因此,单页Web应用会包含大量的JavaScript代码,复杂度可想而知,模块化开发和设计的重要性不言而喻。
    优点:
    分离前后端关注点,前端负责界面显示,后端负责数据存储和计算,各司其职,不会把前后端的逻辑混杂在一起;
    减轻服务器压力,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍;
    同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端;
    缺点:
    SEO问题,现在可以通过Prerender等技术解决一部分;
    前进、后退、地址栏等,需要程序进行管理;
    书签,需要程序来提供支持;

    1 0
  • 一只刺猬
    2020-03-30 23:10:25

    优点: 1、具有桌面应用的即时性、网站的可移植性和可访问性. 2、用户体验好、快,内容的改变不需要重新加载整个页面,web应用更具响应性和更令人着迷。 3、基于上面一点,SPA相对对服务器压力小。 4、良好的前后端分离。SPA和RESTful架构一起使用,后端不再负责模板渲染、输出页面工作,web前端和各种移动终端地位对等,后端API通用化。 5、对前端人员javascript技能要求更高,促使团队技能提升。

    缺点:

    1、分功能模块的鉴权不好实现。

    2、不利于SEO。

    3、初次加载耗时相对增多。

    4、导航不可用,如果一定要导航需要自行实现前进、后退。

    5、对开发人员技能水平、开发成本高。

    0 0
  • dickeylth
    2020-03-30 20:51:09

    优点主要是体验上转场效果更顺滑,对 PWA 的支持更好,页面切换无需重新加载 html 速度能更快,缓存策略更好做;缺点主要就是 SEO 了,再就是页面之间会有耦合容易出现一个页面挂了导致全都不可用。

    0 0
  • 游客i5g3a6y2opiqw
    2020-03-27 11:10:45

    因为没有项目结构,只能说下通用的问题: 一块是SPA在接入二方或者三方模块的时候,容器隔离需要注意,样式和全局变量可能会受到污染,导致运行时的问题比较多 一块是SEO由于SPA都是Web端路由,只有一个页面能做SEO 一块是路由,由于一些三方包也会去修改页面hash或者参数,可能破坏整个上下文,或者在业务上需要解析url时内容过期

    0 0
  • 承荫
    2019-07-17 23:12:13

    优点

    1. 代码仓库收敛
    2. 代码复用容易
    3. 切换页面不会有真实页面跳转的闪烁

    缺点

    1. 请求资源大小增加,可以通过拆分加载解决
    2. 不利于SEO
    3. 对稳定性要求较高,一旦有基础能力的修改问题,将影响所有页面
    0 0
  • wangccsy
    2019-07-17 23:12:13

    单页应用的优点与缺点

    相比传统的开发方式,单页应用有如下几方面的显著优点:

    1. 页面切换速度快。视觉上页面的切换,只是技术上同一页面两个区块之间的切换
    2. 页面之间的可传递所有js支持的数据类型,甚至是一个DOM元素
    3. 可为页面切换过程添加转场动画

    与此同时,单页应用也存在如下几方面的缺点:

    1. 所有页面的样式、DOM和JS需要完全加载
    2. 页面打开速度稍慢

    对于缺点1,开发者可借助如下手段解决或优化:

    1. 借助gulp.js等构建工具,将所有视图的样式、DOM结构和脚本分别合并之单独的文件中压缩,以降低影响。以复杂类型中等的电商为例,如果一个界面含有80个视图,那么通过构建工具合并压缩之后的脚本也只有1.1M左右
    2. 拆解客户端功能,仅将共属于同一操作范畴的视图构建至同一html中。不同操作范畴的视图隶属于不同html文件

    对于缺点2,开发者可以通过配置web服务器,为页面加上缓存控制,从而降低影响,使得页面的第二次及其后的加载速度更快。

    0 0
滑动查看更多
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章