前端工程化的理解

简介: 前端工程化是一个新兴的词语,改变了前端的开发模式,《前端工程化体系设计与实践》系统的阐述了前端工程化的方方面面。

前端工程化是一个新兴的词语,改变了前端的开发模式,《前端工程化体系设计与实践》系统的阐述了前端工程化的方方面面。

一、前端工程简史

1. 前端工程师的技能栈

(1)硬技能:HTML、CSS、JavaScript,三者相互耦合,并非独立。

(2)软技能:用户体验,保证内容的快速呈现、减少等待时间等。快速展现、快速迭代。

(3)扩展技能:以Node.js为代表的Web服务器端知识。有助于编写更合理的客户端逻辑,以及对产品出现的问题及时定位。

2. 前后端分离的基本模式

(1)CSS以及相关的图片等媒体资源

(2)JavaScript逻辑

(3)HTML文档,HTML源文件、HTML模版等

后端工程师的唯一产出就是数据。

3. 前端工程化

最终目的之一便是实现更合理、更便利的前后端分离开发环境。两者相互依赖、紧密耦合在一起。

主要目标是解放生产力、提高生产效率。通过指定一系列的规范,借助工具和框架解决前端开发以及前后端协作开发过程中的痛点和难点问题。

具体衡量标准:快、准、稳。

4. 前端工程的3个阶段

(1)本地工具链,以工具为实现媒介,规范为蓝本。使用统一的工具链、遵循统一的规范进行业务代码的编写,利于多人协作与程序的维护。

(2)管理平台,进一步淡化差异、加深规范。

(3)持续集成,融入整体。与整体工作流结合,作为持续集成方案中的一环。

5. 设计原则

规范设计原则——用户至上。编码规范的设计原则着重于代码的可移植性,减少对代码的捆绑性。

架构设计原则——扩展至上。前端资源以及技术选型的多样性,令扩展性对于前端工程化方案来说尤为重要。应当秉持“内核轻量,扩展丰富”的原则。

二、脚手架、构建

1. 脚手架

脚手架作为一种创建项目初始文件的工具被广泛地应用于新项目或迭代初始阶段。避免人为失误引起的低级错误,同时结合整体前端工程化方案,快速生成功能模块配置、自动安装依赖,降低了时间成本。

脚手架的功能用一句话概括就是:创建项目初始文件。

一款优秀的脚手架必须兼具功能性、开放性以及动态性。

工具栈的集成统一降低了部署、学习和使用成本,并且加深了规范意识。

Yeoman是目前市场上最好的脚手架框架,功能丰富、便于扩展并且兼容不同的操作系统和执行环境。

2. 构建

构建或者叫做编译,承担着从源代码到可执行代码的转换者角色,其核心是资源的管理,产出资源包括JS、CSS、HTML等。

缓存的合理利用是衡量部署策略合理性的要素之一。

webpack功能丰富可以满足绝大多数的需求,但是配置非常复杂,需要一定地学习成本。

前端的工作产出均直接面向用户,前端工程师需要坚持如下两项原则。

(1)于产品而言,须保证性能和体验。

(2)于开发而言,须保证快速与严谨。

相关文章
|
9月前
|
资源调度 前端开发 测试技术
前端工程化实践:从零搭建现代化项目构建流程
【4月更文挑战第6天】本文介绍了前端工程化的概念和重要性,包括模块化、自动化、规范化和CI/CD。接着,讨论了选择合适的工具链,如包管理器、构建工具和测试框架。然后,详细阐述了如何从零开始搭建一个基于React的现代化项目构建流程,涉及初始化、代码规范、测试、CSS处理、代码分割和CI/CD配置。最后,提到了持续优化与迭代的方向,如性能优化、类型检查和微前端。通过这样的实践,开发者可以提升开发效率和代码质量,为项目长远发展奠定基础。
393 0
|
9月前
|
前端开发 测试技术 持续交付
版本控制和团队协作:前端工程化的关键要素
版本控制和团队协作:前端工程化的关键要素
|
9月前
|
自然语言处理 前端开发 测试技术
前端工程化最佳实践:项目结构、代码规范和文档管理
前端工程化最佳实践:项目结构、代码规范和文档管理
|
7月前
|
JSON 前端开发 JavaScript
前端工程化:Webpack配置全攻略
【7月更文挑战第14天】
90 6
|
7月前
|
JSON 缓存 前端开发
前端工程化:Webpack配置全攻略
【7月更文挑战第18天】
72 1
|
8月前
|
缓存 前端开发 JavaScript
前端性能优化实践与工程化
前端性能优化实践与工程化
|
9月前
|
资源调度 JavaScript 前端开发
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
【前端开发---Vue2】史上最详细的Vue入门教程(六) --- 工程化开发和脚手架、组件注册
|
8月前
|
前端开发 安全 JavaScript
前端工程化实战 - 日程管理
前端工程化实战 - 日程管理
56 0
|
8月前
|
存储 JavaScript 前端开发
前端工程化
前端工程化
64 0
|
8月前
|
运维 前端开发 JavaScript
什么是前端工程化❓
什么是前端工程化❓
92 0

热门文章

最新文章

  • 1
    【Java若依框架】RuoYi-Vue的前端和后端配置步骤和启动步骤
  • 2
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 3
    【05】flutter完成注册页面完善样式bug-增加自定义可复用组件widgets-严格规划文件和目录结构-规范入口文件-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 4
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
  • 5
    详解智能编码在前端研发的创新应用
  • 6
    巧用通义灵码,提升前端研发效率
  • 7
    智能编码在前端研发的创新应用
  • 8
    【04】flutter补打包流程的签名过程-APP安卓调试配置-结构化项目目录-完善注册相关页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程
  • 9
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
  • 10
    抛弃node和vscode,如何用记事本开发出一个完整的vue前端项目
  • 1
    以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
    26
  • 2
    大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
    47
  • 3
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    25
  • 4
    巧用通义灵码,提升前端研发效率
    86
  • 5
    【11】flutter进行了聊天页面的开发-增加了即时通讯聊天的整体页面和组件-切换-朋友-陌生人-vip开通详细页面-即时通讯sdk准备-直播sdk准备-即时通讯有无UI集成的区别介绍-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    137
  • 6
    详解智能编码在前端研发的创新应用
    93
  • 7
    智能编码在前端研发的创新应用
    80
  • 8
    【09】flutter首页进行了完善-采用android studio 进行真机调试开发-增加了直播间列表和短视频人物列表-增加了用户中心-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    36
  • 9
    【08】flutter完成屏幕适配-重建Android,增加GetX路由,屏幕适配,基础导航栏-多版本SDK以及gradle造成的关于fvm的使用(flutter version manage)-卓伊凡换人优雅草Alex-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草Alex
    116
  • 10
    【07】flutter完成主页-完成底部菜单栏并且做自定义组件-完整短视频仿抖音上下滑动页面-开发完整的社交APP-前端客户端开发+数据联调|以优雅草商业项目为例做开发-flutter开发-全流程-商业应用级实战开发-优雅草央千澈
    73