编程中的脚手架是什么意思

脚手架(scaffolding)指的是创建项目时,自动完成的创建初始文件等初始化工作。这些工作往往是每次新建工程都要进行的重复性工作。如创建Maven 项目时使用的原型(archetype)等。脚手架是一种由一些 model–view–controller 框架支持的技术。

编程中的脚手架是什么意思-Worktile社区

脚手架(scaffolding)指的是创建项目时,自动完成的创建初始文件等初始化工作。这些工作往往是每次新建工程都要进行的重复性工作。如创建Maven 项目时使用的原型(archetype)等。脚手架是一种由一些 model–view–controller 框架支持的技术,程序员可以在其中指定应用程序数据库的使用方式。

脚手架这个词在编程领域初次看到是在使用前端框架时。许多团队在制定前端工程方案时会加入脚手架模块。虽然不同的团队对工程化的理解和实施有所差异,但是对于脚手架的定位基本是一致的:创建项目初始文件。这是一条看起来十分简单地准则,但是对于这条准则应该如何理解,如何实施却并不是一件很简单地事情。

在探索这条准则的深度之前,我们不妨看看类似的一些成熟方案,比如Eclipse。这个大名鼎鼎的IDE软件被很多Java和Android开发者使用。通过Eclipse创建一个新项目时,它提供了丰富的配置项,这些配置项可以归纳简化为以下流程:选择项目类型 -> 选择项目目录 -> 配置项目细节 -> 最终确认 -> 完成。这是脚手架最基本也是必须具备的流程。从这个流程中可以总结出脚手架的本质:方案的封装。

由此,我们明确了脚手架的定义:脚手架作用是创建项目的初始文件,本质是方案的封装。

脚手架在前端工作流中负责项目起始阶段创建初始文件。与其他功能模块不同的是,脚手架是一个完全“启下”的模块,它没有任何前置依赖。创建完成项目初始文件之后,脚手架就再无用武之地了。

 “用完即弃”的工作模式令脚手架的实现由很大的跃迁性。你可以用最简单的复制粘贴就能完成脚手架的工作,而一个完备、成熟的脚手架即使提供了非常丰富的交互配置,最终目的也“只”是创建了一堆初始的项目文件。既然结果一样,那为什么还要花费时间和人力成品去开发复杂的脚手架方案呢?

这是一个非常现实的问题,互联网产品迭代的快速节奏下,开发团队最注重的就是投入产出比,而脚手架的投入产出比“看上去”是最低的。环顾目前前端的工具生态,最多的是构建工具,当然我们不可否定构建确实是最复杂的功能。而脚手架工具是最少的,前端社区对脚手架的讨论也非常稀少。你可能听说过大名鼎鼎的yeoman,但是很难再想出第二个脚手架工具了。

单独来看,脚手架可能并不具备很高的“性价比”,但如果你的团队有一套完整的前端工程体系,脚手架的作用就会被放大。前端工程体系的功能涵盖范围广,封装的方案类型多,对应的配置项也非常复杂。而且,大多数前端工程体系的开发者并不是一线的业务开发者。对于业务开发者来说,这套工程体系就是一个黑盒,他们不需要了解其中的复杂原理,只需要知道如何配置即可。所以业务开发者的需求就是快速开发快速配置,并且生成的配置项跟项目要对应,既要满足项目的功能需求,又不能有“混淆视听”的冗余功能。

前端工程体系不是Vue、React这种开发框架,工程体系只是一种“服务”,是辅助性质的。学习曲线应该平缓,即使文档再清晰易懂,也不应该要求业务开发者去花时间学习各种细节。这就是脚手架要解决的切实问题,简单说就是:

快速生成配置;

降低框架学习成本。

随着前端工程体系越来越复杂,脚手架的角色会越来越重要。

延伸阅读:

什么是编程?

编程是编定程序的中文简称,就是让计算机代码解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

为了使计算机能够理解人的意图,人类就必须将需解决的问题的思路、方法和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算体系之间交流的过程就是编程。

编程:设计具备逻辑流动作用的一种“可控体系”【注:编程不一定是针对计算机程序而言的,针对具备逻辑计算力的体系,都可以算编程。】

在计算机系统中,一条机器指令规定了计算机系统的一个特定动作。一个系列的计算机在硬件设计制造时就用了若干指令规定了该系列计算机能够进行的基本操作,这些指令一起构成了该系列计算机的指令系统。在计算机应用的初期,程序员使用机器的指令系统来编写计算机应用程序,这种程序称为机器语言程序。使用机器语言编写的程序,由于每条指令都对应计算机一个特定的基本动作,所以程序占用内存少、执行效率高。缺点也很明显,如:编程工作量大,容易出错;依赖具体的计算机体系,因而程序的通用性、移植性都很差。

编译方式下,首先通过一个对应于所用程序设计语言的编译程序对源程序进行处理,经过对源程序的词法分析、语法分析、语意分析、代码生成和代码优化等阶段将所处理的源程序转换为用二进制代码表示的目标程序,然后通过连接程序处理将程序中所用的函数调用、系统功能调用等嵌入到目标程序中,构成一个可以连续执行的二进制执行文件。调用这个执行文件就可以实现程序员在对应源程序文件中所指定的相应功能。

文章标题:编程中的脚手架是什么意思,发布者:小编,转载请注明出处:https://worktile.com/kb/p/35938

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年1月27日 下午7:56
下一篇 2023年1月27日 下午8:01

相关推荐

  • 科学与技术的区别是什么

    科学与技术的区别有以下几方面:1、性质不同;2、解决的问题不同;3、研究过程不同;4、衡量标准不同。性质不同是指,科学是反映和认识客观的过程;而技术则是要有所发明、实现发明的手段。

    2023年2月13日
    1900
  • data architecture 和 data structure 的区别是什么

    data architecture 和 data structure 的区别有:1、概念不同;2、应用场景不同;3、本质不同。概念不同是指data architecture是一种具有一定逻辑关系并且封装了相应操作的数据元素集合,而data structure描述了如何管理从收集到转换、分发和使用的数…

    2023年4月2日
    2700
  • 产品经理可以使用什么软件

    产品经理可以使用的软件有:1、Excel和PPT;2、PingCode;3、Worktile;4、BoardMix;5、ProductPlan。最早期的Excel、PPT,作为万金油的工具它同样能实现路线图制作,好处是简单易用,很多人都熟悉基本操作。 一、Excel和PPT 最早期的Excel、PP…

    2023年4月21日
    1600
  • 项目时间管理包括哪些方面

    包括:一、项目进度计划;二、项目时间估算;三、项目进度控制;四、项目里程碑管理;五、风险管理;六、项目沟通。项目进度计划是项目时间管理的核心。它是一个详细的时间表,标明项目每个阶段的开始和结束时间,以及每个阶段所需的资源和任务。 一、项目进度计划 项目进度计划是项目时间管理的核心。它是一个详细的时间…

    2023年4月30日
    1600
  • html 伪类有哪些

    html常用的伪类有:1、:active;2、:hover;3、:link;4、:visited;5、:first-child。:active用来向活动的链接添加特殊的样式,当你点击一个链接时它变成活动链接。设置对象在被用户激活(在鼠标点击与释放之间发生的事件)时的样式表属性。

    2023年1月16日
    36300
  • 企业研发管理工具有哪些

    企业研发管理工具有:一、PingCode;二、JIRA;三、tracup;四、coding。PingCode是国内软件研发项目管理软件。功能以及解决的问题有:能够支持看板、敏捷等多种项目的管理;管理团队目标,监控单或多项目的进度、管理计划分配资源、管理团队或个人的工作效率。 一、PingCode P…

    2023年4月16日
    2100
  • 迭代深度优先搜索与深度有限搜索有什么区别

    迭代深度优先搜索与深度有限搜索的区别:1、概念不同;2、深度不同;3、原理不同。概念不同是指迭代深度优先搜索是一个用来寻找最合适的深度限制的通用策略,而深度有限算法是在深度优先搜索的基础之上,限制搜索深度。 一、迭代深度优先搜索与深度有限搜索的区别 1、概念不同 迭代深度优先搜索:迭代深度优先搜索是…

    2023年3月30日
    2400
  • while和do while的区别是什么

    while和do while的区别在于以下几个方面:1、循环结构的表达式不同;2、执行时判断方式不同;3、执行次数不同;4、执行末尾循环体的顺序不同。循环结构的表达式不同是指,while循环结构的表达式为while(表达式){循环体}。 一、循环结构的表达式不同 while循环结构的表达式为:whi…

    2023年2月21日
    5300
  • saas和paas区别

    SaaS和PaaS的区别主要体现在:1、服务形式不同;2、用户关注点不同;3、实现目标不同;4、使用场景不同;5、成本控制不同。总的来说,SaaS是针对最终用户的应用服务,而PaaS则是为开发者提供的平台服务。 一、服务形式不同 SaaS(Software as a Service)即软件即服务,是…

    2023年5月24日
    2200
  • 测试用例如何评审

    测试用例通过以下三种方法评审:1、完全评审;2、有选择性的评审;3、指标评审法。完全评审是指对整个项目中的所有测试用例进行评审。这种评审方式的优点是可以对所有的用例都进行评审,进而完善测试用例质量;但同样缺点也很明显,完全评审需要更多的时间和精力。

    2022年12月27日
    7900

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部