Web2.0时代

简介: 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)页面复杂度提高,逻辑复杂程度成倍增加:由于后端只提供数据而不再管理前端的展示逻辑和页面合成,所以这些展示逻辑和页面合成都需要在前端进行编写(前进、后退等),所以会大大提高页面的复杂性和逻辑的难度。

目录
相关文章
|
6月前
|
小程序 Java 关系型数据库
weixin030英语学习交流平台小程序+ssm(文档+源码)_kaic
本文介绍了英语学习交流平台小程序的开发全过程,包括系统分析、设计与实现。该小程序基于Java的SSM框架进行后端管理开发,使用MySQL作为数据库,并借助微信开发者工具确保系统稳定性。小程序设有管理员和用户两个角色,功能涵盖个人中心、每日打卡、学习计划、论坛交流等,具有操作简单、界面清晰、功能齐全的特点。通过技术可行性、经济可行性和操作可行性分析,证明了系统的实用性和高效性,为英语学习者提供了一个便捷的交流平台。
|
6月前
|
机器学习/深度学习 人工智能 机器人
使用DeepSeek必备的10个技巧
使用DeepSeek必备的10个技巧
437 1
|
12月前
|
存储 前端开发 中间件
『软件工程10』结构化系统分析:数据流图和字典案例分析
该文章通过具体案例分析了在软件工程中如何运用数据流图和数据字典来进行结构化系统分析,帮助明确系统的信息流程和数据定义。
『软件工程10』结构化系统分析:数据流图和字典案例分析
|
9月前
|
人工智能 自然语言处理 数据挖掘
从行业痛点到AI前沿:揭秘AGI时代企业培训的终极之选
近几年接触到的各类培训合作方越来越多,从国际咨询巨头、互联网科技培训平台,到本土独角兽型的专业培训公司;从专攻新技术与创新场景的培训团队,到深谙传统行业痛点的咨询顾问。作为一名在央企、国企、上市公司人力资源培训条线深耕多年的HR负责人,深知在这片竞争激烈的培训服务蓝海中,寻找高质、高效的合作伙伴并不简单,因为企业培训的逻辑正在悄然改变。
|
存储 开发框架 JavaScript
在Vue3项目中使用pinia代替Vuex进行数据存储
在Vue3项目中使用pinia代替Vuex进行数据存储
|
10月前
|
缓存 安全 程序员
易语言在跨平台开发中有哪些常见的技术挑战和解决方案
易语言在跨平台开发中有哪些常见的技术挑战和解决方案
219 1
|
C++ Python
量化交易系统开发详细步骤/需求功能/策略逻辑/源码指南
Developing a quantitative trading system involves multiple steps, and the following is a possible development process
|
设计模式 监控 前端开发
从MVC到MVVC:软件架构的演变和迭代(一)
从MVC到MVVC:软件架构的演变和迭代
|
SQL 安全 网络协议
|
机器学习/深度学习 运维 算法
流计算中的流式机器学习是什么?请解释其作用和常用算法。
流计算中的流式机器学习是什么?请解释其作用和常用算法。
263 0

热门文章

最新文章