前端架构

前端架构的全潜力:专业前端架构指南 Fabio Nolasco的《Professional Front-End Architecture》是前端开发者提升专业技能、实现前端开发潜力的宝贵资源。本书不仅为读者提供了深入的技术知识,还通过作者的经验分享和对前沿技术的探讨,鼓励开发者们拥抱前端架构的未来。 阅读详情
原文链接:https://www.zhihu.com/question/26646855
架构是一个演变的过程。
它指的不是随着历史的演变,而是随着项目演变。
通常说架构,指的是架构模式,自创的架构很少。
了解架构模式,才能心有余力的应对项目的发展。

前端项目大概会经历以下这些阶段:
1. 整体渲染
2. 结构行为表现分离
3. 隔离逻辑单元
4. 插件
5. 模块
6. 前端MVC/MVVM
7. 组件
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
下面分别介绍一下:
1. 整体渲染


所有页面代码放到了一个html文档中,适合个人实验室项目。
新建一个文件,快速的验证某个功能或者开发某个组件,再移植到开发环境中。
优点:开发速度快,执行过程清晰
不足:不容易分工合作

2. 结构行为表现分离

当页面中有了好几个Script和Style片段,这时候就想着是不是该把它们放到一个文件中了。
不然总在一个页面拖上拖下的改动太麻烦了。
结构:HTML
行为:JavaScript
表现:CSS

优点:关注点分离
不足:职责不明确

3. 隔离逻辑单元

一个JavaScript文件太大了,里面包含了很多不同的逻辑功能。
还是把独立的功能提取出来吧,这样省的每次都在一个文件中改。
优点:面向复用
不足:功能点分散

4. 插件
开闭原则:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
这让我想起了小时候的红白机。

这个借鉴了微内核架构的思想,整个网站由一个很小的核心构成,所有功能都是嫁接上去的。
这样核心基本上稳定了,只剩下增量的插件开发。
优点:对需求的响应快
不足:插件难以规范化

5. 模块
当网站有了很多种独立的部分,微内核已经不能胜任了,因为各个插件之间产生了关联。
就需要一个处理模块依赖的东西出现。
于是人们定义了模块规范,分别有自己的处理模块依赖的办法。

主要以下几种模块规范
(1)AMD规范(用户客户端,RequireJS实现)
(2)CommonJS规范(用于服务端,Browserify实现)
(3)EcmaScript 6 Module



6. 前端MVC/MVVM
不止后端有MVC/MVVM,同样的思想也可以用在前端,并且人们已经实现了。
主要目的是为了处理复杂的单页面应用,让三个层面独立开发,减轻脑力负担。



View:用户界面
Model:数据表的实体类
Controller/ViewModel:处理View和Model之间的关系
主要实现有以下几个:
(1)Backbone

(2)Knockout



(3)AngularJS



7. 组件
组件并不是一个新兴的概念,但是React.js强制组件化,所以看来才那么新颖。
它把JavaScript,CSS,HTML重新打包,当做一个逻辑单元来看待。
有点像中国古代的“活字印刷”,不是吗,我们祖先的智慧啊。
单一职责原则:一个类应该只有一个发生变化的原因。
组合/聚集复用原则:尽量使用合成/聚合,而不是使用继承。

React.js



CarPlay无线连接背后的‘握手’秘密:深入解读iAP2协议与蓝牙/Wi-Fi协同 本文深入解析了CarPlay无线连接背后的技术细节,重点探讨了iAP2协议与蓝牙/Wi-Fi的协同工作原理。从蓝牙层的UUID识别到iAP2协议的握手过程,再到Wi-Fi热点的建立与优化,详细揭示了CarPlay无线连接的安全机制和调试方法,为开发者提供了实用的技术参考。 阅读详情

相关推荐

OpenEarthMap 与 xBD 数据集合并

整合好的数据:链接: https://pan.baidu.com/s/1uJ_Zg6n-s3u1D49OW52D7Q?pwd=2vwx 提取码: 2vwx完整整合步骤与代码如下。

qq_60293814的博客 1598

前端架构是什么?

前端架构是指在前端开发中,设计和组织应用程序的基本结构和组件之间的关系的方法和原则。它涉及到如何组织代码、管理数据、处理业务逻辑以及实现用户界面等方面。一个好的前端架构能够提高开发效率、代码可维护性和项目的可扩展性。以下是一些常见的前端架构模式:MVC(Model-View-Controller):MVC 是一种将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个部分的架构模式。模型负责处理数据逻辑,视图负责呈现用户界面,而控制器负责接受用户输入并处理业务逻辑。

肥晨开发的学习之路 6068

别再被SpringerLink虐了!手把手教你搞定LaTeX源文件提交(附正确文件顺序和类型选择)

本文详细解析了SpringerLink投稿系统中LaTeX源文件提交的常见问题与解决方案,包括文件打包、类型选择和顺序排列等关键步骤。通过实战经验,帮助科研人员避开隐形陷阱,一次性完成LaTeX提交,提升投稿效率。特别针对`.bst`和`.cls`文件的正确处理提供了专业指导。

weixin_42522964的博客 445

什么是前端架构?

什么是前端架构

ztK63LrD的博客 7635

稳压二极管选型指南:关键参数与电路稳定性优化

本文深入解析了稳压二极管在电路设计中的核心作用与选型要点。文章详细阐述了稳定电压、动态电阻、额定功耗等关键参数对电路稳定性的影响,并结合实战案例,提供了从需求分析到参数验证的系统化选型流程与优化策略,帮助工程师避免常见设计陷阱,实现电路稳定性优化。

weixin_29196891的博客 687

瑞芯微RK3576上手实测:8nm新U配6TOPS NPU,做AIoT项目选它还是RK3588/RK3568?

本文深度评测瑞芯微RK3576芯片在中高端AIoT项目中的表现,对比RK3588和RK3568的性能差异。RK3576采用8nm工艺,配备6TOPS NPU,在解码能力、AI推理效率和功耗控制方面表现均衡,是中端项目的黄金选择。实测数据显示其在多路视频解码和AI加速性能上优势明显,特别适合智能摄像头和工业HMI设备。

weixin_42627853的博客 719

【前端架构】前端架构

前端架构的理解

OrangeChenZ的博客 7376

时间卷积网络(TCN):结构+pytorch代码

文章目录TCNTCN结构1-D FCN的结构因果卷积(Causal Convolutions)膨胀因果卷积(Dilated Causal Convolutions)膨胀非因果卷积(Dilated Non-Causal Convolutions)残差块结构pytorch代码讲解 TCN   TCN(Temporal Convolutional Network)是由Shaojie Bai et al....

Leon_winter的博客 11万+

网站前端架构设计

在原始开发的时候都会遇到以上问题,从这些问题中又发现了使用前端框架的重要性,有些人或多或少地接触过框架,但是对前端框架的认知还不够。大觅项目使用分层架构设计(把功能相似、抽象级别相近的实现进行分层,使逻辑变得清晰,容易理解和维护,也称作多层架构或N层架构),在这里使用的是类MVVM的分层架构方式,但还不完全是 MVVM 的分层架构方式。Visual Studio Code具备优秀的性能,完备的特性,加之针对于Web开发的优化和方便的调试,被评价为最好用的集成开发环境。首先看一下原始开发存在的以下问题。

leva的博客 3950

输入过欠压保护电路分析

输入过欠压保护电路仿真分析

HW-BASE的博客 6916

Airtest进阶使用篇-提高脚本稳定性+批量运行脚本

Airtest进阶篇,主要分享如何提高脚本稳定性+如何批量运行脚本生成测试报告!

程序员小杨哥的博客 2573

前 端 架 构

局部状态管理:如 React 的 Context API、Vue 的 Provide/Inject,适用于较小范围的状态管理。样式管理:CSS-in-JS(如 styled-components)、CSS 模块、Sass/LESS 等。图片和资源优化:压缩图片、使用现代格式(如 WebP)、懒加载图片等。分层架构:将项目分为不同的层次,如视图层、业务逻辑层、数据访问层等。框架和库:React、Vue、Angular、Svelte 等。环境管理:管理不同环境(开发、测试、生产)的配置和部署。

前端小白的博客 1111

一文搞懂蚁群算法Ant Colony Optimization(ACO)!!!(灵感起源+数学原理+代码实现+实战应用)

本文系统介绍了蚁群算法的原理与实现。首先从蚂蚁觅食行为出发,阐释了信息素正反馈机制如何引导群体找到最短路径。随后详细解析了算法的数学模型,包括状态转移规则和信息素更新机制。通过MATLAB代码演示了算法在旅行商问题(TSP)中的应用,展示了路径构建和优化的完整流程。最后讨论了算法的优势、局限性和实际应用场景。蚁群算法通过模拟生物智能,为解决复杂优化问题提供了一种高效方法,其核心在于信息素的正反馈机制与随机探索的平衡。

qq_42212808的博客 888

前端架构是什么,前端有架构可谈吗?

只是前端的“架构”跟后端/传统软件工程的“架构”在表达方式、关注点、粒度上差异非常大,所以很多人(尤其是后端同学)会觉得“前端没啥架构可言”。

likuolei的博客 1062

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

微前端架构

一、前端(架构)发展史 最初,前端是没有架构的,因为功能简单的代码没有架构可言。通过操作DOM就能完成的工作,不需要复杂的设计模式和代码管理机制,也就不需要架构来支撑起应用。前端开发的发展历史分为以下几个阶段: ● 古典时期。由后端渲染出前端 HTML,用 Table 布局,用 CSS 进行简单的辅助。 ● 动效时期。前端开始编写一些简单的 JavaScript 脚本来做动画效果,如轮播广告。 ● Ajax 异步通信时期。2005年,Google 在诸多 Web 应用中使用了异步通信技术如 Google 地

woyebuzhidao321的博客 2万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

前端架构--从入门到微前端

年中,自己做规划(2019Thinking(上) – 一个前端开发者的个人思考)时,考量了一段时间「微前端」,也关注到了《微前端的那些事儿》的文章,从而了解了作者「黄峰达」,也就购买了下面将要聊的书《前端架构:从入门到微前端》 本书围绕前端架构的实施,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。 设计:架构设计的模式,以及设计和制定前端工作流 基础:通过深入构...

李刚的学习专栏 5308

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

前端架构:从入门到微前端》—— 带你成为前端架构师

前端的入门书籍已经很多了,从《JavaScript 高级程序设计》到《精通 CSS:高级 Web 标准解决方案》 前端的框架书籍已经很多了,从《深入浅出 Node.js》(笑~)到《JavaScript 框架设计》 所以,两年前当我想总结我的前端相关经验时,已经找不到一个合适的话题,所以我就写了那本开源的电子书《我的职业是前端工程师》。 可直到 2017 年底,我开始接触一...

编程知识分享 8955

前端架构学习

各大厂普遍采用微前端解决复杂业务系统的开发效率问题。核心收益:技术栈无关:各子应用可选用最适合的技术栈独立部署:子系统独立上线,互不影响团队自治:各团队技术决策自由度高渐进升级:老系统可逐步迁移,降低风险核心设计原则:渐进式演进:架构升级采用渐进式,保证业务稳定性标准化先行:工程规范、代码规范等基础工作先行自动化覆盖:重复性工作自动化,提升效率质量数据驱动:架构决策基于数据而非直觉用户体验优先:技术方案始终服务于用户体验提升。

警警的博客 1902

《前端架构:从入门到微前端》目录

本书是一本围绕前端架构的实施手册,从基础的架构规范,到如何设计前端架构,再到采用微前端架构拆分复杂的前端应用。本书通过系统地介绍前端架构世界的方方面面,来帮助前端工程师更...

Phodal's zenthink 1691

【前端架构】微前端架构设计

一、微前端 微前端架构 应用自治 单一职责 技术栈无关 为什么需要微前端 遗留系统迁移 后端解耦,前端聚合 热闹驱动开发 二、微前端的技术拆分方式 路由分发式:通过HTTP服务器的反向代理功能,将请求路由映射到对应的应用上 前端微服务化:在不同的框架之上设计通信和...

881

《前端架构:从入门到微前端》—— 带你成为前端架构师

前端的入门书籍已经很多了,从《JavaScript 高级程序设计》到《精通 CSS:高级 Web 标准解决方案》前端的框架书籍已经很多了,从《深入浅出 Node.js》(...

Phodal's zenthink 3355

微前端架构初探以及我的前端技术盘点

前言最近几年微前端一直是前端界的热门议题, 它类似于微服务架构, 主要面向于浏览器端,能将一个复杂而庞大的单体应用拆分为多个功能模块清晰且独立的子应用,且共同服于务同一个主应用。各个子...

趣谈前端 7772

前端架构:前端架构有哪些核心问题?

今天从宏观的角度介绍了前端架构相关的知识,我重点介绍了“组件化”“适配性”“单页应用”三个前端架构需要解决的核心问题,组件化在社区有很多现成的方案,我们需要做的主要工作是框架选型。适配性需要用到 CSS 的几种特性:vw 单位、viewport 规则和 media 规则,单页应用重点是逻辑页面解耦、独立开发和发布和保持前进后退历史。前端架构在传统桌面软件开发中扮演着重要角色,但在前端领域却存在着不同的挑战和需求。

qq_37756660的博客 1156

前端架构师是做什么的_前端架构师之路:普通前端工作和前端架构师有什么区别?...

前端架构师,听起来就是一个很高大上的名称,在大多数程序员的眼中,架构师一般从事后端开发,Java或者C++出身,他们往往拥有着十八般武艺,可以解决业务中出现的各种问题。但是自从前端架构师的概念出现在前端工程师的视线中的时候,每当初入行的前端工程师,被面试官问道你的未来规划是什么?很多人都会很顺口地回答:“朝着架构的方向。”要想真正的了解前端架构师,就继续往下看。为什么要有前端架构师?前端架构师,源...

weixin_33210666的博客 6487

前端简洁架构

在本文中,我概述并稍微扩展了我在前端领域关于清洁架构的演讲。这不是一个黄金标准,而是基于我在不同项目、范式和语言中的经验总结而成。我认为这是一种方便的方案,可以将代码解耦,并创建独立的层、模块和服务,这些不仅可以单独部署和发布,而且在需要时还可以从项目转移到项目。我们没有涉及面向对象编程(OOP),因为架构和OOP是正交的。是的,架构谈论了实体组合,但它并没有规定组合的单位应该是对象还是函数。你可以在不同的范式中使用这个方法,正如我们在示例中看到的那样。

2401_83384536的博客 858
上一篇: [Golang]Map的一个绝妙特性
下一篇: 分布式系统MIT 6.824学习资源
hellochenlu
博客等级 码龄14年 97粉丝 184原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值