制作,假,Cmake,Rake或Jake:如何选择正确的构建系统
钥匙要点
- 每个构建系统都有其优势:GNU提供了一个抽象层,可以加速软件构建流程,CMAKE提供了一个真正的跨平台解决方案,可以自动检测依赖性,Rake是Ruby Developer的标准工具,Fake使用功能强大的功能功能语言并与.NET单元测试框架集成,Jake是用JavaScript编写的构建工具,可快速执行和并发回调。
- 构建系统的选择应考虑到团队对使用的编程语言和每个系统的独特产品的熟悉,这是在决定之前考虑多个候选人至关重要的。
- >如果我们想超越专门的任务跑步者和Web构建系统,我们可能会想到原始品牌。 Make是一个非常简单但功能强大的应用程序,遵循清晰而简洁的设计。 >
gnu make
> Make的初始版本是为UNIX操作系统编写的,但后来发生了其他实现和重写,包括GNU Make。构建Linux内核是必需的。此实现提供了原始版本所拥有的所有内容,以及其他扩展和改进。
>
基本概念是编写一个特殊文件,称为“ makefile”,该文件描述了构建应用程序的规则。每个规则可能依赖于其他给定的规则,形成层次结构。规则通常以构建目标或输出文件的形式存在。这个想法是,一个规则定义了如何从一个或多个必需的输入文件创建输出文件。>
这个概念听起来很简单,但是保存使开发人员无法创建自己的系统来评估是否需要创建输出文件。 MAKE给我们一个抽象层,该层自动执行所需的检查。隐式检查规则的每个依赖性,以确定自上次输出文件生成以来的输入文件是否更改。这通过省略冗余汇编来加速软件构建过程。cmake
>最早的继任者之一是Cmake,“ C”代表跨平台。它具有用于构建软件的真正跨平台解决方案。因此,它主要在应该在不同平台上部署的项目中很受欢迎。配置文件可以用脚本语言编写,该语言具有大量命令列表。
>>单独的cmake无法运行构建过程。它将创建一个特定于平台的文件,这将是Linux上的MakeFile。在Windows上,将创建Visual Studio兼容的项目文件,但是还有其他选项,例如使用MakeFile。但是,Cmake不仅仅是原始品牌顶部的一层。它还可以自动检测到C和Java等语言中的依赖性。这使得构建过程更加可靠。
CMAKE随附的另一个很酷的功能是其以各种格式创建包装的能力。如果我们想到部署,那么创建一个软件包听起来像是最后一步,也可能是最烦人的一步。为该过程提供预定义的解决方案,可以给我们带来很多舒适感。rake
为什么不专门为编程语言创建构建工具?我们可以命名MSBUILD或其他工具,可以将其视为这种尝试。但是,如果我们想更进一步并将该编程语言用于配置文件,该怎么办?进入耙子的世界。
Rake不是第一个使用现有脚本语言来设置构建过程的构建工具。然而,它的影响是不可否认的。这是Ruby开发人员的事实上的标准,自Ruby 1.9以来,Rake也是标准库的一部分。
“ Rake的主要优势是什么?”你可能会问。首先,默认情况下可以处理Ruby源文件。此外,Ruby开发人员可以立即使用它,因为它不需要任何新的语言或框架。仅该工具的API是新的,但其余的是熟悉的,并且遵循已知的模式和原理。最后,Rake使用Ruby的高级模式匹配,将正则表达式形成用于规则的过滤器。有关Rake的更多信息,请在SitePoint上查看本文。假
>遵循耙子的方法还有许多其他构建工具,但我想突出的一种是假的。原因很简单:它使用了一种功能强大的功能语言,该语言可以访问整个.NET框架。为了充分理解虚假背后的想法,重要的是要知道假是在特定域(DSL)似乎是终极武器的时候创建的。假货的基本原理可能与杰克非常相似。伪造与竞争对手区别的是使用F#管操作员。该操作员使整个构建配置具有流利的触感。与(.NET)单位测试框架集成,将测试添加为(后)构建过程的关键部分。
>杰克
>在node.js环境中使用JavaScript编写的构建工具听起来像是一个好主意。由于Node.js在各种平台上运行,因此构建工具也将在这些平台上运行。此外,我们将获得快速执行,并发回调和出色的调试经验的好处。
> 我在SitePoint上的第一篇文章中讨论的结论
如今,我们为应用程序构建过程软件有各种各样的可能性。即使Make仍然是在某些情况下自动化构建过程的最常用程序,但其他应用程序也提供了有趣的功能,这可能会经常简化我们所需的任务。>要考虑的另一个重要因素是熟悉使用的编程语言。例如,由JavaScript开发人员组成的团队应该对Jake非常满意。每个团队成员都可以根据需要阅读,理解甚至修改构建过程绝对重要。
>>决定要考虑哪种工具是我们的工作,本文应该说服您在决定使用哪种工具之前要看多个候选人,因为它们都有独特的东西。
>您最喜欢的构建系统是什么?您还有其他建议吗?
>关于构建系统的常见问题(常见问题解答)>作为构建系统的耙子和制造之间的关键差异是什么?
rake and Make and Make俩都是流行的构建系统,但它们具有一些关键差异。 Rake用Ruby编写,经常用于Ruby Projects。它具有清晰的语法,易于读写。它还支持并行执行任务。另一方面,Make是一个较旧的系统,用C编写。它在C和C项目中广泛使用。制作文件(制作用途的脚本)可能很难读写,但它们非常强大和灵活。 MAKE还支持并行执行任务。
> cmake比较制造和耙式?cmake是跨平台构建系统生成器。与Make and Rake本身构建系统不同,CMAKE会为其他系统(包括制造和Visual Studio)生成构建文件。这使其非常灵活和强大,因为它可以与各种编译器和环境一起使用。但是,使用或拍摄可能更复杂。
>>使用构建系统的优点是什么?
构建系统自动化编译和链接代码的过程,这可以节省开发人员大量的时间和精力。它们还确保构建过程是一致的,这可以帮助防止错误和错误。此外,构建系统通常支持并行执行任务,这可以显着加快构建过程。我可以在一个项目中使用多个构建系统吗?单个项目中的多个构建系统。但是,这可能会增加复杂性,并可能使构建过程更难管理。通常最好选择一个适合您需求并坚持下去的构建系统。>我如何为项目选择正确的构建系统?>
各种因素,包括您使用的语言,项目的复杂性以及您的个人喜好。您应该考虑每个系统的功能,灵活性和易用性。查看在类似项目中通常使用哪些构建系统的构建系统也可能会有所帮助。什么是构建脚本?
>构建脚本是包含构建系统指令的文件。它告诉构建系统要执行哪些任务以及按什么顺序执行。构建脚本的确切格式和语法取决于您正在使用的构建系统。以上是制作,假,Cmake,Rake或Jake:如何选择正确的构建系统的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

该试点程序是CNCF(云本机计算基础),安培计算,Equinix金属和驱动的合作,简化了CNCF GitHub项目的ARM64 CI/CD。 该计划解决了安全问题和绩效

该教程通过使用AWS服务来指导您通过构建无服务器图像处理管道。 我们将创建一个部署在ECS Fargate群集上的next.js前端,与API网关,Lambda函数,S3桶和DynamoDB进行交互。 Th

与这些顶级开发人员新闻通讯有关最新技术趋势的了解! 这个精选的清单为每个人提供了一些东西,从AI爱好者到经验丰富的后端和前端开发人员。 选择您的收藏夹并节省时间搜索REL
