web单页应用是什么?

Web单页应用就是指只有一个Web页面作为入口的应用,在浏览器中运行期间不会重新加载页面。也就是说浏览器一开始会加载它必需的thml、css和Js,之后所有的交互操作都在一个页面上完成,这些都是由JavaScript动态的加载合适的内容来响应用户的操作,所以Web单页应用会包含大量的js代码,支持单个页面上与多个组件进行丰富的交互。我们一般可以认为单页应用是一种从Web服务器加载的富客户端。

web单页应用的好处

相比传统网站而已,我们认为单页应用的好处主要有:

1、提供了更加吸引人的用户体验:具有桌面应用的即时性、网站的可移植性和可访问性。

2、单页应用的内容的改变不需要重新加载整个页面,web应用更具响应性和更令人着迷。
 
3、单页应用没有页面之间的切换,就不会出现“白屏现象”,也不会出现假死并有“闪烁”现象。
 
4、单页应用相对服务器压力小,服务器只用出数据就可以,不用管展示逻辑和页面合成,吞吐能力会提高几倍。
 
5、良好的前后端分离。后端不再负责模板渲染、输出页面工作,后端API通用化,即同一套后端程序代码,不用修改就可以用于Web界面、手机、平板等多种客户端。
 

web单页应用的缺点

1、首次加载耗时比较多。
解决办法:可以采用基于HTTP Chunk 的首屏数据渐进式预加载方案,该方案总体减少了单页应用1.2s的首屏呈现时间。首屏数据渐进式预加载的优化思路也得到了体现: 优化首屏数据加载节点的速度。 预先加载首屏数据,使得多个串行节点并行化。
 
 
2、SEO问题,不利于百度,360等搜索引擎收录。

解决办法:可以采用prerender服务,它拿到请求够,直接在服务端的一个js engine里,运行这个HTML(就像浏览器做的那样),直到内容动态填完之后,再广播一个事件告诉phantomjs“内容已经好了,可以返回给爬虫了”,这样爬虫就拿到了一份完整的HTML,就和在浏览器里渲染完的一样。目前流行的框架都有对应的服务器渲染框架,如:

Rect服务器渲染框架:Next.js
vue服务器渲染框架:Nuxt.js

办公资源网址导航
https://www.wode007.com

3、如有造成Css命名冲突。

解决办法:我们可以使用Sass、LESS和Stylus等CSS预处理器,在一定程度上可以解决该问题。

4、前进、后退、地址栏、书签等,都需要程序进行管理,页面的复杂度很高,需要一定的技能水平和开发成本高。

最新文章

  1. 基于 HTML5 的 WebGL 技术构建 3D 场景(一)
  2. HibernateTemplate的一些常用方法总结
  3. PostgreSQL类型转换
  4. CSU 1116 Kingdoms(枚举最小生成树)
  5. 【bzoj1078】[SCOI2008]斜堆
  6. 加密算法使用(一):用CRC32来压缩32uuid字符串
  7. 工作的思考十五:升职前需要做的准备(TeamLeader)
  8. sublime3可用key
  9. 设置go语言语法高亮
  10. knowlege experience
  11. 关于多域名EXCHANGE如何设置PTR的问题
  12. matlab中选择图片路径
  13. MySQL索引的使用方式
  14. 关于在eclipse上部署Tomcat时出现8080等端口被占用问题的解决方法
  15. javascript 实现斐波那契数列的不同姿势
  16. table 的部分使用,固定行,固定列等
  17. git知识整理
  18. js中检测数据类型的几种方式
  19. 区分defer和async
  20. ajax请求完之前的loading加载

热门文章

  1. java实现 蓝桥杯 算法训练 安慰奶牛
  2. (四)rsync未授权访问
  3. C# ASP.NET递归循环生成嵌套json结构树
  4. javascript 面向对象学习(二)——原型与继承
  5. js 不同时间格式介绍以及相互间的转换
  6. 如何在VMware中进行创建CentOS虚拟机
  7. SQL Beautifier & SQL2014自带的格式化工具
  8. Redis在CentOS for LInux上安装详细教程
  9. [apue] 一个快速确定新系统上各类限制值的工具
  10. Hexo快速构建个人小站-Hexo初始化和将项目托管在Github(一)