什么是工程化

什么是工程化,第1张

工程化是在较短的时间内多人合作,做出一个功能强大、健壮性好的项目事件。

随着人类文明的发展,人们可以建造出比单一产品更大、更复杂的产品,这些产品不再是结构或功能单一的东西。

而是各种各样的所谓“人造系统”(比如建筑物、轮船、铁路工程、海上工程、地下工程、飞机等等),于是工程的概念就产生了,并且它逐渐发展为一门独立的学科和技艺。

工程的所有各分支领域都有如下主要职能:

1、研究:应用数学和自然科学概念、原理、实验技术等,探求新的工作原理和方法。

2、开发:解决把研究成果应用于实际过程中所遇到的各种问题。

3、设计:选择不同的方法、特定的材料并确定符合技术要求和性能规格的设计方案,以满足结构或产品的要求。

4、施工:包括准备场地、材料存放、选定既经济又安全并能达到质量要求的工作步骤,以及人员的组织和设备利用。

5、生产:在考虑人和经济因素的情况下,选择工厂布局、生产设备、工具、材料、元件和工艺流程,进行产品的试验和检查。

前端工程本质上是软件工程的一种。软件工程化关注的是性能、稳定性、可用性、可维护性等方面,注重基本的开发效率、运行效率的同时,思考维护效率。一切以这些为目标的工作都是'前端工程化'。工程化是一种思想而不是某种技术。

前端工程化需要考虑哪些因素?

1. 模块

简单来说,模块化就是将一个大文件拆分成相互依赖的小文件,再进行统一的拼装和加载。(方便了多人协作)。

分而治之是软件工程中的重要思想,是复杂系统开发和维护的基石,这点放在前端开发中同样适用。模块化是目前前端最流行的分治手段。

模块化开发的最大价值应该是分治!

不管你将来是否要复用某段代码,你都有充分的理由将其分治为一个模块。

JS模块化方案

AMD/CommonJS/UMD/ES6 Module等等。

CommonJS的核心思想是把一个文件当做一个模块,要在哪里使用这个模块,就在哪里require这个模块,然后require方法开始加载这个模块并且执行其中的代码,最后会返回你指定的export对象。

module.export = function() { hello: function() { alert('你好')}}var a = require('./xxx/a.js')a.hello()// ==>d窗“你好”

CommonJS 加载模块是同步的,所以只有加载完成才能执行后面的 *** 作,不能非阻塞的并行加载多个模块。

AMD(异步模块定义,Asynchronous Module Definition),特点是可以实现异步加载模块,等所有模块都加载并且解释执行完成后,才会执行接下来的代码。

// 通过AMD载入模块// define(// module_id /*可选*/, // [dependencies] 可选, // definition function /*回调 用来初始化模块或对象的函数*/// )define(['myModule', 'myOtherModule'], function(myModule, myOtherModule) {console.log(myModule.hello()) //会先并行加载所有的模块a b 并执行其中模块的代码后,在执行逐步执行下面的 consolerequire('a') console.log('a required') require('b') console.log('b required') console.log('all modules have been required')})

在一些同时需要AMD和CommonJS功能的项目中,你需要使用另一种规范:Universal Module Definition(通用模块定义规范)。UMD创造了一种同时使用两种规范的方法,并且也支持全局变量定义。所以UMD的模块可以同时在客户端和服务端使用。

幸运的是在JS的最新规范ECMAScript 6 (ES6)中,引入了模块功能。

ES6 的模块功能汲取了CommonJS 和 AMD 的优点,拥有简洁的语法并支持异步加载,并且还有其他诸多更好的支持(例如导入是实时只读的。(CommonJS 只是相当于把导出的代码复制过来))。

工程化方法

广义的工程化能力包括信息情报、国际化采购能力、新材料、新工艺、新技术应用能力、样机的工程实现与测试能力等。

工程化研究体系

工程化研究体系指通过专项研究提升工程化能力的研发,包括原理样机、临床样机、工程样机的研究,最后由工程样机的开发研究来确定批量生产技术参数与加工工艺以及持续改进等产业化技术条件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5785306.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-01-31
下一篇 2023-01-31

发表评论

登录后才能评论

评论列表(0条)

保存