已关闭。此问题为opinion-based。目前不接受回答。
**要改进此问题吗?**更新此问题,以便editing this post可以使用事实和引文来回答。
昨天就关门了。
Improve this question的
我正在尝试开始我的世界模组的开发。我有一个计算机科学的学位,但在我的时代(2000年代中期),他们教我们用记事本写java(我不是开玩笑的)还有一些亚利桑那大学的本土程序,它们已经在互联网上留下了记忆(JGrasp?也许?)。大学毕业后,我从未听说过,因为这些技能显然很有市场,你可以看到,在一定程度上,为什么我永远不会被雇佣为一个传统的开发人员。2另一个主要部分是渗透到软件开发中的同样的毒性,当这个问题被否决而被遗忘时,这将会显示出来。3(这一段稍后很重要,不要把它编辑掉。4)
我在我的Minecraft服务器上使用的很多mod都有一个Gradle文件夹,所以我想这应该是一个现成的mod开发平台,Minecraft独有。在做了一些搜索和看了一些视频后,我似乎错了,Gradle是所谓的“构建工具”。
这就是我缺乏理解的原因。Gradle Hero on YouTube告诉我Gradle所做的一切,我都希望IDE能做,所以我不知道为什么它是独立的。我做了更多的搜索,没有解释这种区别,甚至在这个SO Q&A asking what Gradle is上也没有。很明显,这不是一个重复,也很明显,这是我认为我的问题合法的理由。尽管它可能会被否决而被遗忘。
我从未见过模块化的IDE,只见过整体式的IDE。然而,由于上面概述的原因,我的经验有限; Excel VBA和其他几种你从未听说过的利基语言是我真正能够接触到的,尽管我试图跟踪开发世界中发生的事情。
Gradle和完整IDE之间有什么区别?为什么IDE不像Gradle那样做?
1条答案
按热度按时间kcwpcxri1#
TL/DR;构建工具用于构建,IDE用于开发
Gradle是一个构建工具。它有一个构建模型,包括任务(例如编译源代码或运行测试)和依赖项(例如第三方jar,如spring)。Gradle可以从命令行调用来编译源代码并将其打包到jar/zip/war等。
IDE是一种GUI,可用于编辑源文件并调用构建任务。Gradle提供了钩子,以便IDE(例如Eclipse或Intellij)可以调用任务(例如编译源代码/运行测试)或检查
build.gradle
中声明的依赖项。Eclipse和Intellij都具有完整的Gradle集成(通过插件),因此IDE完全了解Gradle任务和依赖项。一旦一个项目变得更大(例如,多个团队成员正在处理它),在IDE中,你不会在本地计算机上编译/打包你的应用程序,相反,你可能会在构建服务器上运行Continuous Integration (CI)(如Jenkins)在每次提交被推送到你的中央git仓库时运行。那个构建服务器很可能是headless,所以IDE或GUI在那里没有意义。构建服务器只需要一个命令行界面来编译/运行测试/打包应用程序。因此,构建服务器只需要Gradle,而不需要IDE