Web2.0时代


Web早已进入2.0时代,如今的网页大有向系统应用级别方向发展的趋势,再也不是以前简单展示信息的界面了。如今很多Web App已经做到了原生应用的功能,并且运用自身的优

新前端网页开发

势逐步取代之。HTML5也很强大,对多平台,以及多屏幕设备的良好兼容使得前端工程师在各种平台上大显身手。

单页面SPA应用是一种特殊的Web应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript和CSS。一旦页面加载完成,SPA就不会因为用户的操作而进行页面的重新加载或跳转。取而代之的是利用JavaScript动态地变换HTML的内容,从而实现UI与用户的交互。由于避免了页面的重新加载,SPA可以提供较为流畅的用户体验。得益于Ajax,我们可以实现无跳转刷新,又得益于浏览器的histroy机制,我们可以利用hash的变化推动界面变化。模拟元素客户端的单页面切换效果,如图
在这里插入图片描述
一种开发模式流行起来之后,对应的框架也会随之而起。正像近几年比较流行的Vue.js,它是目前最流行的MVVM框架之一,非常适合用于SPA,本书会重点讲解Vue.js的基础知识和项目构建及开发。时下SPA单页面应用如火如荼,被人追捧是有道理的,当然它也有不足之处,正如任何东西都有两面性。

优点

(1)良好的交互体验:前端进行的是局部的渲染,避免了不必要的跳转和重复的渲染。
(2)前后端职责分离(前端负责View,后端负责Model),架构清晰:单页Web应用可以和RESTful规约一起使用,通过REST API提供接口数据,并使用Ajax异步获取,这样有助于分离客户端和服务器的工作。
(3)减轻服务器的压力:服务器只需提供数据,而不需要管理前端的展示逻辑和页面合成,提高了性能。SPA应用中服务器可以先将一份包含静态资源(HTML、CSS、JS等)的静态数据(payload)发送给客户端,之后客户端只需获取渲染页面或视图数据。
(4)共用一套后端程序代码:不用修改后端程序代码就可以同时用于Web界面、手机、平板端等多种客户端。

缺点:

(1)SEO(搜索引擎优化)难度高:由于所有内容都在一个页面中进行动态替换,也就是利用hash片段实现路由,而利用hash片段不会作为HTTP请求中的一部分发送给服务器,所以在SEO上有着天然的弱势。而SPA使用hash片段的目的是在片段内容发送变化时浏览器不会像URL发送变化时那样发送请求,这样就可以只请求页面或渲染所需的数据,而不是每一个页面获取并解析整份文档。
(2)首次加载时间过长:为实现单页Web应用功能及显示效果,需要在加载页面时将JS、CSS统一加载,部分页面按需加载。
(3)页面复杂度提高,逻辑复杂程度成倍增加:由于后端只提供数据而不再管理前端的展示逻辑和页面合成,所以这些展示逻辑和页面合成都需要在前端进行编写(前进、后退等),所以会大大提高页面的复杂性和逻辑的难度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr Robot

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值