您当前的位置:首页 > 新闻资讯

前端技术与业务的基础建设,收获超乎想象!

发表时间: 2023-07-04

前言

据说,目前,经过近十年的努力,前端这个职位已经成为百花齐放、诸家百家争鸣,前端也不再是以前那个简单的剪纸少年了。是;

如果你要问为什么不简单,那和前端工程、前端、前端跨端、前端工具、前端CI/CD等技术的出现没有什么区别,前端BFF、微前端。 然而,这些不断变化的技术聚合体可以称为前端基础设施;

事实上,无论你想成为一名高级前端工程师还是一名合格的前端工程师,都离不开前端技术和业务基础建设的积累;

读完全文,相信你的收获远不止于此~

1.什么是基础设施?

基础设施这个词,无论你在哪个行业,基本上都是存在的; 近几年才在软件计算机行业特别流行;

在建筑行业:一栋大楼所需的地基、脚手架、一砖一瓦、一袋水泥、一扇窗户等都可以称为基础设施的一部分;

在汽车行业中:汽车所需的车架、发动机、车轮、方向盘、门窗等也可以称为基础设施的一部分;

那么互联网软件行业又如何呢?

笔者的理解是:在软件行业,从广义上讲,基础设施包括:业务基础设施、工程基础设施、前端基础设施、后端基础设施等; 为准)

商业基础设施?

业务基础设施是指公司一定业务团队层面维护的前端基础设施、后端基础设施、基础规范文档、产品规则、设计规范、研发流程、测试边界、线上标准、业务平台的建设;

业务基础设施服务于整个业务团队

工程基础设施?

工程基础设施是指所有的一些编码规范、API规范、前后端协同、环境部署、微服务、微前端、性能、安全防御、统计监控、可视化等的建设业务团队的工程师;

工程基础设施服务于整个工程团队;

前端基础设施?

前端基础设施是指业务团队中前端工程师进行的一些基础建设,包括前端规范文档、前端脚手架、前端模板、前端组件库、前端工具库、前端- 前端BFF、前端CI/CD构建与部署、前端数据埋藏等;

前端基础设施只为前端团队服务;

后端基础设施?

后端基础设施是指业务团队后端工程师进行的一些基础建设,包括后端规范文档、后端模板、安全、日志、微服务、API、中间件、数据库、分布式、权限控制、性能并发等;

注:后端基础设施仅服务于后端团队;

关系图

看到这里,我们已经了解了公司基础设施的一些基本分类和概括。 接下来我们主要介绍一下本文中前端基础设施的话题;

2.为什么要做前端基础设施?场景重现

场景一:

场景二:

场景三:

前端基础设施的意义和作用三、如何推动前端基础设施落地?技术基础设施简要流程

说到前端基础设施,最重要的难点就是如何推动落地,很多都需要前端同学的贡献、领导的支持等。下面我给大家列出一下大致的步骤(各有不同)按团队)

合适的同学(资源)应该和前端同学一一讨论,或者亲自挑选一个同学等等; 并且要有动力,不要急于求成,半途而废,注重系统性思考,千万不要找不稳定的同学(切记切记)要解决的问题(问题)针对现有公司前端做出相应的规划人员结构、技术结构、业务结构。 这没有固定的套路,不同企业面临的问题也不一致; 解决问题的方案() 到目前为止,我们已经有人(前端同学)有具体想做的事情,所以接下来重要的一步就是拿出解决方案并请领导确认; 其实就类似于你有一个好主意,写下有一个非常详细的商业计划(BP)来寻找投资者来吸引投资是有意义的; 但最终能否打动你的投资人,取决于你的BP是否足够有吸引力; 你需要具体的执行步骤(执行)不是一蹴而就的,工作也是如此,所以对于一个现有的技术团队来说,我们最好是增量式的开始,做增量式的研发,不影响现有的商业; 技术基础设施的四大特征(切记)

至此,相信大家对前端基础设施已经有了初步的了解,可能有些同学已经想尝试一下了,但是前端基础设施到底是什么? 我们一起往下看吧。

4.什么是前端基础设施?

每个公司甚至每个业务团队的前端基础设施都会有所不同,包括技术栈的差异、编码的差异、文档注释的差异等;

为了迎合主要的前端基础设施市场楼宇自控前端设备包括哪些,结合我们公司和大多数公司的基础设施需求,下面将介绍一些符合大众的通用基础设施部分(以后会更新);

以下所有类别仅作简单介绍,详细相关文章将在“前端基础设施建设”栏目发布(敬请期待……);

1.前端规范()

俗话说:前端不规范,以后才见~

我相信规范这个词是所有学生的噩梦。 我怕他不规范,又怕他太规范。 这真的很难忍受。

假设招聘三位候选人,你会选择哪一位?

答案已经很明显了~

前端规范的含义:

前端规格是什么?

2. 前端文档()

事实上,在很多小公司,缺乏文档是一个本质问题; 无论是商业文件、技术文件还是其他文件等;

问题:

因此,一份合格的公司文件必不可少,无论是新人自治、老旧新人、业务转让等;

前端文档的意义:

前端文档是什么?

3.前端项目模板管理()

说白了,前端项目模板就是公司前端对应的项目模板,以便快速创建项目;

场景一:

前端项目模板的主要意义:

前端项目模板有哪些?

4.前端脚手架(CLI)

前端脚手架作为前端团队成熟的衡量标准。 相信很多前端er已经非常了解他了;

但我相信目前市面上90%以上使用脚手架的团队都仅限于快速创建项目,即使用现成的模板通过命令行快速构建;

那么,我们通过制作这个脚手架是否最大化了资源?

显然不是,具体怎么做我会在后续文章中详细讲解,敬请期待……

场景一:

前端脚手架的含义:

什么是前端脚手架?

5.前端组件库(UI)

前端UI组件库:开源社区里有无数的组件库,比如Ant、UI、Vant UI等(太多了),如果你觉得某个组件库非常适合你的项目,那么你会损失一半 发育时间是钓鱼的一半吗?

但在一些中大型公司,他们有他们的标准,不可能使用一些现成的组件库;

而且,一些现成的开源组件库中的样式和交互并不能满足公司设计人员的要求,所以这个时候,为了统一业务的设计规范和风格,我们可以快速向领导提一下建立一个组件库并尝试一下。 哎呀!

场景再现:

前端组件库的意义:

什么是前端组件库?

6.前端响应式设计或自适应设计

响应式设计( )是指网站的同一页面在不同的屏幕尺寸下有不同的布局; 一组代码可以在所有终端上正常显示,并且不是针对每个终端的特定版本。 响应式浏览器是为了解决移动互联网而诞生的。

自适应设计(web)需要开发多套界面。 通过检测视口和设备,可以判断当前访问的设备是PC端还是移动端,从而返回不同的页面。

前端响应式设计:

楼宇自控前端设备包括哪些_进大厂前端要具备什么水平_前端进大厂

前端自适应设计:

注意:

一个项目是采用响应式设计还是自适应设计,取决于项目的排版和设计;

因此,如果公司PC端与H5端的排版设计存在较大差异,建议采用自适应设计; 否则可以考虑响应式设计;

切入盲目选择;

7. 前端工具库(如Hooks / Utils)

开源社区有无数的前端工具库,比如Day.js、axios等,但功能可能不是你想要的;

而且很多前端工具库考虑范围很大,增加了库的体积。 显然我想要的只是一个简单的功能,但我还是引入了整个库,这样得不偿失;

有同学可能会说,没有Tree,我们按需引入Tree是不是可以为所欲为呢?

为了复用某些工具和方法,提高研发效率,一些大中型企业团队通常会封装一个工具库。 作为一名合格的基础设施搬砖工,前端工具库怎么能少呢?

前端工具库的意义:

什么是前端工具库?

8.前端工具自动化(Tools)

有同学可能会疑惑,这个前端工具不是和上面的前端工具一样吗?

场景再现:

前端工具自动化的意义:

什么是前端工具自动化?

9、接口数据聚合(BFF)

前端BFF(For)是为前端服务的后端,也称为聚合层或中间层;

主要将复杂的后端微服务聚合成对各种客户端(无线/Web/H5/第三方等)友好且统一的API;

场景再现:

前端BFF的含义:

前端BFF的简单架构:

10.前端SSR提升

服务器端渲染(-Side)是指服务器完成页面的HTML结构拼接,发送给浏览器,然后与其绑定状态和事件,成为一个完全交互的页面过程的页面处理技术。

简单的理解就是html是由服务器编写的,可以动态改变页面的内容,也就是所谓的动态页面。 早年的php、asp、jsp的页面都是SSR。

由于公司主要是C端用户,SEO要求极高,所以前后端分离的情况下SSR必不可少~

场景一:

前端SSR的目的:

11.前端自动化构建部署(CI/CD)

前端CI/CD一般指持续集成、部署、发布的过程;

用白话来说,就是你每次git代码,它都会自动帮你把项目部署到测试环境、预生产环境、生产环境,而不必每次都手动打包、cv到多个服务器和环境;

前端CI/CD的意义:

什么是前端 CI/CD?

12、全链路前端监控/数据嵌入系统

在大多数To C项目中,我认为无论是产品还是运营都需要统计用户线上产品的行为和使用情况,因为这样可以快速了解用户群体的使用情况,从而对产品进行升级迭代,使其更贴近用户的需求。用户。

场景一:

场景二:

前端监控/数据埋藏的目的是:

前端监控/数据埋点有哪些数据?

13.前端可视化平台

前端可视化的字面理解就是肉眼可见的叫前端可视化; 即所见即所得;

笔者这里对前端可视化的理解包括数据可视化、图形可视化、VR全景可视化、中后台视觉可视化等;

每一项都需要大量的人力和精力。 如果你想从入门到精通各个方面,可以看看月影的可视化教程。

目前公司是基于前端基础设施,可视化主要是基于大家的工作流程和工作效率的工程可视化平台;

场景一:

场景二:

前端工程可视化平台的目的:

什么是前端工程可视化平台?

14.前端性能优化

性能优化这个词,相信只要是程序员,都或多或少听说过,也经历过;

如果你的项目是ToB项目,性能优化可能并不完美;

但你的项目是一个ToC项目,那么性能优化是你必须考虑的一点吗?

场景再现:

好家伙,用户直接崩溃了,这是什么破网站,所以;

前端性能优化的意义:

什么是前端性能优化?

15、前端低代码平台搭建(建设中)

维基百科定义:低代码开发平台(LCDP)本身也是一种软件,为开发者提供创建应用软件的开发环境; 与用于编写代码的传统 IDE 不同,低代码开发平台提供更易于使用的可视化 IDE。

简单来说,低代码(Low Code)是一个可视化构建系统。 从字面上看,一是观想;二是观想。 二是少写代码。

无代码(No Code)也从字面上理解,一是可视化,二是不写代码。

场景一:

前端低代码平台的意义:

注意:

低代码平台一般都是针对业务用量较大的平台,且多为ToB平台,因此判断当前系统是否需要使用低代码平台,建议支持业务量较大,否则得不偿失;

有了新技术,更多不是因为它先进,而是因为它适合。

16.微前端(微应用)

微前端(Micro-)并没有定义一个框架或者API,它实际上是一个类似于微服务架构的概念; 它将微服务的概念延伸到前端世界;

说起微服务,对于一些前端同学来说可能比较陌生。 从我们前端的角度来说,可以用一句话来概括:把你的大型前端应用拆分成多个小型前端应用,让每个小型前端应用都有自己的仓库,可以集中精力on 表示单个功能;

需要强调的是,虽然我们将前端应用拆分为多个项目,但它们最终都会集成为一个单页面前端应用; 因此,使用微前端架构,你不会有任何用户体验。 失去只会更糟;

场景一:

为什么使用微前端:

微前端的价值:

前端进大厂_楼宇自控前端设备包括哪些_进大厂前端要具备什么水平

微前端的问题

想一想:通过微前端的常见解决方案,我们其实可以总结出微前端存在的一些问题,比如风格冲突、消息通信、脚本互斥、公共依赖加载等; 由于这些问题,所以应该使用微前端框架。 并诞生了。

1.应用隔离

应用程序隔离有两种类型:

应用之间的隔离主要是沙箱隔离和CSS样式隔离;

CSS 样式隔离

由于在微前端场景中,不同技术栈的子应用会被集成到同一个运行时中,因此我们必须在框架层保证各个子主应用的风格互不干扰;

示例:一个团队的微应用的样式表为 h2 { color: black; 另一个团队的微应用有 h2 { color: blue; },并且两个选择器都附加到同一页面,会发生冲突;

为了避免这个问题,常见的解决方案是:

沙箱隔离

每当微应用加载并运行时,其核心其实就是全局对象的修改以及一些全局事件的改变。 比如这个js运行后,上面会挂载一个.$对象。 对于其他库 React,Vue 也不例外。

为此,在加载和卸载各个微应用时,需要尽可能地消除此类冲突和影响。 最常见的方法是使用沙箱机制();

沙箱机制的主要特点如下:

实现沙箱的常见方法:

2. 应用程序间通信

微前端最常见的问题之一是如何使微应用程序能够相互通信。

一般来说,我们建议让微应用尽可能少地相互通信,因为这通常会重新引入我们最初试图避免的不适当耦合的代码。 也就是说,通常我们只需要某种程度的跨应用程序通信。

常用的通讯方式:

正式因为这些问题的存在,一系列的微前端框架应运而生。 下面主要介绍一些国际上比较有名的框架。

微前端框架1.-spa

-spa是最早的微前端框架,兼容多种前端技术栈;

概念:-spa是一个微前端框架,将多个单页面应用聚合成一个整体应用;

我们都知道spa应用的理念是让独立的应用组成一个完整的页面,-spa不依赖于单一框架和每一个功能,而是可以在不同的新框架中自由使用;

简单来说,就是一个聚合。 使用这个库可以让你的应用程序使用多种不同的技术栈(vue、react等)同时开发,最终使用通用的路线实现完美切换;

快速体验入口

优势:

缺点:

正是因为-spa,大部分的微前端框架才能出现,所以下面提到的微前端框架几乎都具备-spa的优点。

2.

它是一个基于-spa的开源微前端框架,旨在帮助大家更轻松无痛地构建一个可投入生产的微前端架构系统。

设计理念:

网上案例:

/

优势:

缺点:

除此之外,阿里体系中还有另外两个微前端框架:

,是针对大型系统的微前端解决方案; Cloud Alfa是阿里云控制台系统孵化的微前端解决方案,定位为企业级微前端系统解决方案;

相比这两个框架,社区活跃度和demo较少,所以不建议使用这个框架,了解一下即可。

3. 微应用

Micro App是京东开发的基于Web原生组件进行渲染的微前端框架。 与目前流行的开源框架不同,它从组件化的思维来实现微前端,旨在降低入门难度,提高工作效率。

是目前市面上成本最低的微前端接入框架,提供了JS沙箱、样式隔离、元素隔离、预加载、资源地址补全、插件系统、数据通信等一系列全面的功能。

优势:

4.电磁脉冲

EMP是欢乐时代基于构建的微前端解决方案;

因为它是基于 构建的,所以相对来说与微前端跨框架和状态解决方案混淆较多,而 EMP 解决的是项目解耦而不是多系统聚合,以及比特(下面讨论)跨项目组件复用的平台相对较多相似的;

优势:

缺点:

5.

它是字节跳动开源的一套微前端解决方案。 主要用于解决前端生态繁荣、Web应用日益复杂的背景下,现代Web应用带来的跨团队协作、技术体系多元化、应用日益复杂等问题。 经过大量在线应用的打磨和测试,功能稳定可靠。

框架特点:

高可扩展的核心模块 高可扩展的插件机制

设计理念:

此外,字节跳动开源的.js,号称“现代Web工程体系”,也是解决微前端的框架。 如果有兴趣,可以去官网查看,因为这个框架是一套完整的工程系统解决方案,所以大家可以酌情选择;

6. 位

国外bit开发团队开源的跨项目组件复用平台框架; 将独立组件构建并集成在一起进行管理;

优势:

严格来说,Bit 和微前端有很大的区别,所以 Bit 更适合使用组件开发项目、有统一技术栈的项目;

7.刘吉

Liugi是国外SAP团队开源的微前端框架;

Luigi 框架提供配置选项、API 函数和开箱即用的功能,使迁移到微前端架构变得更加容易。 Luigi 在所有微前端提供一致的用户导航,确保更好的用户体验。

优势:

8.OC()

Open(或简称 OC)项目宣布了其在前端领域实现无服务器的目标。

更具体地说,OC 的目标是成为一个一站式微前端框架,使其成为一个丰富而复杂的系统,包括从组件处理到注册表到模板甚至 CLI 工具的所有内容。

有两部分:

9. 皮拉尔

Piral是国外团队开发的基于React的微前端解决方案,可以无限扩展开发工作、渐进式部署、基于基础设施。

它定义了两个概念:

优势:

与国外其他微前端框架相比,Piral 拥有更好的社区、文档和团队。 如果你还在考虑使用哪个微前端框架,Piral 是一个不错的选择;

10.其他需要了解的框架

当然,以上只是对一些比较常见的微前端框架的概述,还有一些比较优秀和开源的,欢迎补充;

当然,无论选择哪种方案,都可以选择更适合的框架,但是为了满足自己的项目和业务场景,可能需要一个一个的踩坑来实现。

终于

最后我想说:新技术的使用不是因为它先进,而是因为它适合。

本系列是一个由浅入深的专栏,让您从微前端选型、定型、建模三个方面入手,全面了解微前端的原理和概念,以及如何应对一个企业——从提案到实施的微前端服务水平;

感兴趣的朋友可以关注我的专栏《微前端从入门到进阶》,如果想和更多前端高手交流,可以进入我的掘金主页添加vx吹水;

总结

关于前端基础设施,每个公司的基础设施都会有差异,有纯自动化的一站式,有的是半自动化的等等;

但如果我们细心的话,我们会发现,几乎所有的大中型工厂,基础设施部分都不会缺少前端规范、前端文档、前端脚手架、前端组件库和前端——结束工具库。 因此,如果确实受限于公司资源和业务,这些还是值得一看的。

事实上,很多企业的基础设施建设并不是一蹴而就的。 基本上,他们在多年的业务中发现问题、定位问题、最后解决问题。 那么,在这个过程中,自然就沉淀出了各方面的前端基础设施。 团队成员也会在这个过程中找到适合自己的前端领域,并持续深耕。

本系列将是一个持续更新的系列。 关于前端基础设施,笔者主要从以下几个方面进行讲解。 如果你想第一时间看到我更新的文章,可以关注我和我的《前端基础设施建设》专栏

终于

关注我,带你一起建设基础设施~

随着科学技术的不断发展,建筑施工也迅速走向智能化,智能建筑的概念日益引起人们的关注。 智慧建筑是综合运用物联网、大数据、人工智能等技术手段,结合建筑设备、设施、管理服务,通过信息技术、智能设备和数据分析,提高建筑资源的利用效率和运营成本 控制能力和人员舒适度和安全性。 那么,智能建筑都包含哪些系统呢?

1、电源及照明控制系统

智能建筑最基本的设施是电力和照明系统。 传统的电力和照明系统往往存在设备老化、能耗高等诸多问题。 智能建筑采用更先进的技术,通过传感器、智能调光器等设备的使用,实现电力和照明的动态控制和优化管理。

2、安全监控系统

随着社会的不断发展,建筑安全问题逐渐凸显。 智能建筑采用先进的安全监控系统,如视频监控、门禁管理、消防系统等。 智能建筑在保证建筑安全的同时,还可以及时进行漏洞修复、应急响应,并将数据上传云端实时分析,更好地保障人员和设备的安全。

3、环境控制系统

智能建筑将环境控制系统与能源消耗管理相结合。 通过实时监测室内温度、湿度、光照等参数,可以精准控制环境的温度、湿度和空气质量,提高办公人员的工作效率和生产效益,降低设备能耗。 消耗,节省维护成本。

4、能源管理体系

智能建筑通过建立完善的能耗监测系统,可以对建筑内的各种用电设备进行实时监控和管理,从而及时发现能耗问题并加以解决。 通过调整能源消耗策略,可以实现节能降耗,降低能源消耗和运行成本。 同时,通过数据分析和建筑模拟,预测节能效果,从细节严密监控能量损失。

5、智能物业管理系统

在智慧建筑中,物业管理和服务非常重要。 智能物业管理系统可实现全面的楼宇设备管理,如人员进出、公共设施维护等服务。 利用物联网技术、云计算等技术手段对楼宇进行监管,提供更加便捷的物业服务,提高物业管理效率,缩短工作流程,提高服务质量和满意度。

6、信息通讯系统

智能建筑通过建立信息通信系统,实现建筑物内部的信息互联互通。 不仅可以提高企业的办公效率和信息服务质量,还可以提高客户服务水平,让客户通过信息沟通系统获得更好的服务印象。

智能建筑的系统构成不仅是以上几个方面,还包括更加复杂的设备和技术,如智能建筑综合控制平台、智能建筑立面等。智能建筑的普及不仅提高了建筑设备的智能化水平,降低了企业的运营成本楼宇照明自控系统,也提高了员工的工作和生活质量,为城市和社会的发展做出了重要贡献。

联系我们

电话:0791-87879191 邮箱:sales@ctrlworks.cn 地址:江西省南昌市红谷滩新区凤凰中大道926号中洋大厦写字楼21楼
地址:江西省南昌市红谷滩新区凤凰中大道926号中洋大厦写字楼21楼 电话:0791-87879191 邮箱:sales@ctrlworks.cn
琼ICP备2021009423号-1 Copyright 2021 康沃思物联 版权所有