web前端架构是什么
web前端架构是一系列工具和流程的集合,旨在提升前端代码的质量,并实现高效可持续的工作流。web前端架构的核心有4个:1、代码(HTML、CSS、JavaScript);2、流程,怎么用工具和流程构建一个高效且避免出错的工作流是一个重要的思考;3、测试,创建覆盖面广泛的测试方案,能确保老代码还能正常运行;4、文档,设计文档是你同他人交流的工具。
本教程操作环境:windows7系统、Dell G3电脑。
在Web前端技术变化日新月异的今天,Web前端项目变的越来越复杂。前端架构也会随着我们现在千变万化的迭代需求,架构技术的演化,不仅是架构师也是我们每个开发人员都必须去关注的问题。
一、web前端架构的由来
2014年10月13日CSS开发者大会上,在新奥尔良会议中心一个拥挤的房间里“举起前端架构的旗帜”成了在一线奋斗着的开发者们共同的诉求。在那之后,那些想要弄清楚自身定位以及在公司中所扮演的角色的开发者们发现,其实他们一直扮演着前端架构师的角色, 却从来没有拥有过这个头衔,或者没有足够的信心去争取这个职位所应具有的权力。
在大会召几周之后,很多人把他们在Twitter上的个人简介改成了“前端架构师”。
二、你理解的web前端架构是怎样的?
前端架构如同建筑设计,在建设过程中,建筑设计师需要设计和规划方案,并且跟进施工过程。这与前端架构师的工作有着异曲同工之妙,不同的是后者建造的是网站,而不是建筑物。比起浇筑混凝土,建筑设计师会在设计工程构图的工作上倾注更多的精力。同理,相比编写具体的代码,前端架构师更专注于开发工具和优化流程。
前端架构是一系列工具和流程的集合,旨在提升前端代码的质量,并实现高效可持续的工作流。
前端设计架构不是一劳永逸的工作,没有任何设计在一开始就是完美的,也没有任何计划可以一步到位。
前端架构的特殊性
前端不是一个独立的子系统,又横跨整个系统
分散性:前端工程化
页面的抽象、解耦、组合
可控:脚手架、开发规范等
高效:框架、组件库、Mock平台,构建部署工具等
抽象
页面UI抽象:组件
通用逻辑抽象:领域实体、网络请求、异常处理等
三、web前端架构的原则
1. 体系设计
试想一下,如果一栋建筑没有明确的构造设计,所有的重要事项都由建筑工人直接决定,那么就可能会出现这样的情景:一面墙用石头垒,第二面墙用砖头砌,第三面墙用木头搭,第四面墙因为追求时髦而留空。
虽然网站的整体外观和风格基调完全由经验丰富的视觉设计师决定,但前端架构师掌控 着背后的前端开发方法和系统设计哲学。通过设计所有前端开发人员都要遵循的系统规范,前端架构师清晰描绘了产品和代码的最终形态。
一旦前端架构师建立起了系统设计的规范,项目就拥有了可以衡量代码质量的标准,否 则我们如何判断代码是否达标呢?一个精心设计的系统,应当具备完善的检验机制,并做出适当的取舍,以保证系统中的代码有实质的价值,而不是简单的堆砌。
2. 工作规划
有了清晰的结构设计之后,就需要制定开发工作流了。开发人员写一行代码并且提交到线上需要经过什么步骤?举一个最简单的例子,这个过程包括使用 FTP 登录服务器,修改一个文件并保存。然而,对于大多数项目而言,完整的工作流可能会用到多种工具,如版本控制器、任务调度器、CSS 处理器、文档工具、测试组件和服务器自动化工具等。
前端架构师的目标是设计出能流畅运转的系统。这个系统不仅能高效快速地启动,还可以通过语言分析、测试用例、文档记录等方法持续地提供有效的反馈,并且大幅减少由于重复操作而产生的人为错误。
3. 监督跟进
前端架构设计绝不是一劳永逸的工作。没有任何设计在一开始就是完美的,也没有任何计划可以一步到位。客户和开发人员的需求会随着时间改变。在某个阶段运行得很好的开发流程,随后也可能需要重新调整,以便提高效率、减少错误。
前端架构师的一个非常重要的能力,就是能够持续地优化工作流程。如今各种各样的构 建工具可以让我们很方便地改变工作方式,并通知到每一位开发人员。
有些人问前端架构师是否等同于管理角色,不再需要写业务代码。前端架构师不仅要写更多代码,更要会用多种编程语言,还要使用大量的工具。代码量并未减少,只是代码的读者发生了改变。前端开发人员面向终端用户写代码,而前端架构师面向的则是团队里的开发人员。
四、web前端架构的核心
1. 代码
归根结底,所有的网站都是由一堆文本文件和资源文件组成HTML、CSS、JavaScript的。当我们面对制作网站所产生的大量代码时,就会发现为代码和资源设定一个期望是多么重要。
2. 流程
怎么用工具和流程构建一个高效且避免出错的工作流是一个重要的思考。工作流变得越来越复杂,那些用于构建它们的工具也同样如此。这些工具在提高生产力、加快效率和保持代码一致性上带来了惊人的效果,但也伴随着过度工程化和抽象化的风险。
3. 测试
要构建一个可扩展和可持续优化的系统,必须保证新代码与老代码能够很好地兼容,我们的代码不会孤立存在,它们都是大型系统中的一部分,创建覆盖面广泛的测试方案,能确保老代码还能正常运行。
4. 文档
设计文档是你同他人交流的工具,来阐述你的设计决策是什么,来阐明你的设计决策是什么以及为什么你的决策是好的。如果不是团队中的重要成员要离开,几乎都不会意识到文档的重要性。
这四个核心是构建可扩展和可持续优化的系统的基础。
(学习视频分享:web前端入门)
以上是web前端架构是什么的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

Caddy简介Caddy是一款功能强大,扩展性高的Web服务器,目前在Github上已有38K Star。Caddy采用Go语言编写,可用于静态资源托管和反向代理。Caddy具有如下主要特性:对比Nginx复杂的配置,其独创的Caddyfile配置非常简单;可以通过其提供的AdminAPI实现动态修改配置;默认支持自动化HTTPS配置,能自动申请HTTPS证书并进行配置;能够扩展到数以万计的站点;可以在任意地方执行,没有额外的依赖;采用Go语言编写,内存安全更有保证。安装首先我们直接在CentO

JavaAPI开发中使用Jetty7进行Web服务器处理随着互联网的发展,Web服务器已经成为了应用程序开发的核心部分,同时也是许多企业所关注的焦点。为了满足日益增长的业务需求,许多开发人员选择使用Jetty进行Web服务器开发,其灵活性和可扩展性受到了广泛的认可。本文将介绍如何在JavaAPI开发中使用Jetty7进行We

防挡脸弹幕,即大量弹幕飘过,但不会遮挡视频画面中的人物,看起来像是从人物背后飘过去的。机器学习已经火了好几年了,但很多人都不知道浏览器中也能运行这些能力;本文介绍在视频弹幕方面的实践优化过程,文末列举了一些本方案可适用的场景,期望能开启一些脑洞。mediapipeDemo(https://google.github.io/mediapipe/)展示主流防挡脸弹幕实现原理点播up上传视频服务器后台计算提取视频画面中的人像区域,转换成svg存储客户端播放视频的同时,从服务器下载svg与弹幕合成,人像

首先你会有个疑惑,frp是什么呢?简单的说frp就是内网穿透工具,配置好客户端以后,可以通过服务器来访问内网。现在我的服务器,已经用nginx做站了,80端口只有一个,那如果frp的服务端也想使用80端口,那应该怎么办呢?经过查询,这个是可以实现的,就是利用nginx的反向代理来实现。补充一下:frps就是服务器端(server),frpc就是客户端(client)。第一步:修改服务器中nginx.conf配置文件在nginx.conf中http{}里添加以下参数,server{listen80

表单验证是Web应用程序开发中非常重要的一个环节,它能够在提交表单数据之前对数据进行有效性检查,避免应用程序出现安全漏洞和数据错误。使用Golang可以轻松地实现Web应用程序的表单验证,本文将介绍如何使用Golang来实现Web应用程序的表单验证。一、表单验证的基本要素在介绍如何实现表单验证之前,我们需要知道表单验证的基本要素是什么。表单元素:表单元素是指

web标准的好处有提供更好的跨平台兼容性、可访问性、性能、搜索引擎排名、开发和维护成本、用户体验以及代码的可维护性和可重用性。详细说明:1、跨平台兼容性,确保网站在不同的操作系统、浏览器和设备上都能正确显示和运行;2、提高可访问性,可以确保网站对所有用户都是可访问的;3、加快网站加载速度,用户可以更快地访问和浏览网站,提供更好的用户体验;4、提高搜索引擎排名等等。

PHP在Web开发中是属于后端。PHP是一种服务器端脚本语言,主要用于处理服务器端的逻辑,生成动态网页内容。与前端技术相比,PHP更多地用于与数据库交互、处理用户请求以及生成页面内容等后端操作。接下来通过具体的代码示例来说明PHP在后端开发中的应用。首先,我们来看一个简单的PHP代码示例,用于连接数据库并查询数据:

web标准默认的端口有:1、HTTP,默认端口号为80;2、HTTPS,默认端口号为443;3、FTP,默认端口号为21;4、SSH,默认端口号为22;5、Telnet,默认端口号为23;6、SMTP,默认端口号为25;7、POP3,默认端口号为110;8、IMAP,默认端口号为143;9、DNS,默认端口号为53;10、RDP,默认端口号为3389等等。
