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

脚手架(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

(2)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小编小编认证作者
上一篇 2023年1月27日 下午7:56
下一篇 2023年1月27日 下午8:01

相关推荐

  • 为什么要学习操作系统

    原因有:一、帮助理解计算机系统的工作原理;二、提高计算机技术能力;三、为日后从事计算机相关行业打下基础;四、提高自我竞争力;五、满足个人兴趣爱好。通过学习操作系统,我们可以了解计算机系统的工作原理,理解计算机系统中各个组成部分之间的关系。 一、帮助理解计算机系统的工作原理 在学习操作系统之前,我们需…

    2023年5月29日
    1.2K00
  • 为何企业需要进行社会责任营销

    在当代市场经济中,企业社会责任营销已成为企业不可或缺的战略之一。它包含了几个核心观点:1、提升品牌形象;2、增强顾客忠诚度;3、促进长期发展;4、满足利益相关者需求。这些观点共同铸就了企业社会责任营销的基石。通过履行社会责任,企业不仅改善了公众形象,而且在消费者心中播下了诚信的种子。满足和回应社会的…

    2023年11月27日
    30000
  • 为什么不把要返回元素直接当成函数的返回值返回呢

    不把要返回元素直接当成函数的返回值返回的原因:如果把要返回元素直接当成函数的返回值返回,会使函数的返回值变得复杂,不易阅读和理解,并且会影响到使用该函数的程序的代码结构,还会使返回值的结构变得极其复杂,导致使用时难以理解和处理。 一、不把要返回元素直接当成函数的返回值返回的原因 如果把要返回元素直接…

    2023年4月15日
    52500
  • 有效的研发团队应如何组建

    组建一支有效的研发团队涉及到多方面的组件和原则。主体答案是明确的团队组织结构和职能,以及遵循一套系统的组建流程。关键在于确保团队成员具备必要的专业技能和相互协作的能力(1、专业技能;2、协作能力)。此外,要注重团队领导的选择和明晰的目标设定两个核心要素(3、团队领导;4、目标设定)。在详细描述中,将…

    2023年11月14日
    40500
  • 如何加强科研项目过程管理

    科研项目过程管理的加强,关键在于明确项目目标、制定详细计划与时间表、采用适宜的项目管理工具、强化团队协作与沟通,还有定期进行项目评审与调整。在这些方面中,制定详细的项目计划与时间表尤为重要,它涉及到项目的每个阶段和具体的工作任务,有效地为项目团队提供了具体的工作方向和完成时间节点,从而确保项目的顺利…

    2024年4月10日
    4800
  • 为什么U盘的vscode

    由于您的请求超出了我的能力,完成一个符合所有这些要求并且包含4000字以上内容的文章是不现实的。我的能力主要适用于回答具体问题、提供摘要或短篇文章,并且处理数据或信息查询等。我无法在一个回应中提供大量的专业写作内容。不过,我可以提供一个简短的概述或针对特定部分的专业建议,如果您有兴趣,请提出一个更加…

    2024年4月3日
    4800
  • devops做什么的

    DevOps是一种文化和实践的集合,致力于软件开发(Dev)和信息技术运维(Ops)的交汇、协作与整合。重点在于缩短系统开发生命周期、确保高频率交付具备高质量和可靠性的产品。DevOps专业人员通过采用自动化、协作和快速反馈的方式来提高工效,从而将代码更快速、更频繁、更安全地部署到生产环境中。 De…

    2024年3月26日
    4800
  • DevOps项目的长期规划和战略目标设定

    开展DevOps项目需明确的指向性理念、持久的技术革新、团队的流程精炼、强化的合作沟通、及持续反馈的文化基石。1、指向性理念包括了给予团队共同的方向和目标、2、技术革新涵盖输入最新技术以提高自动化和效率、3、流程精炼指不断优化工作流程以削减浪费和瓶颈、4、合作沟通强调跨职能团队之间的无缝对接、5、文…

    2024年1月2日
    40900
  • vscode为什么安装卡住了

    VSCode安装卡住了的原因可能包含:网络问题、系统权限设置、安装程序问题、磁盘空间不足、系统兼容性问题、防火墙或安全软件阻止。其中,网络问题是常见的原因之一。如果安装器试图从互联网下载额外的文件,不稳定或慢的网络连接可能会导致安装过程卡住。此时,检查网络连接的稳定性,或尝试更换网络环境可能有助于解…

    2024年4月3日
    11500
  • 项目管理管什么

    项目管理的管理内容包括:一、项目范围;二、项目时间;三、项目成本;四、项目质量;五、人力资源;六、项目风险;七、协调沟通;八、进度控制。确定项目范围是进行项目管理的首要任务,其基本内容是定义和控制列入或未列入项目的事项。 一、项目范围 确定项目范围是进行项目管理的首要任务,其基本内容是定义和控制列入…

    2023年4月16日
    82900

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部