日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

适用于Java开发人员的Groovy吗? 认识Gradle,Grails和Spock

發布時間:2023/12/3 java 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 适用于Java开发人员的Groovy吗? 认识Gradle,Grails和Spock 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java開發人員最感興趣的Groovy用例有哪些?

盡管已經存在了一段時間,但是似乎只有Groovy最近才開始使用Groove。 對于某些人來說,它基本上只是另一種深奧的JVM語言,但是由于一些流行的工具可以幫助您使用Java,因此它比您想象的要流行。

在下面的文章中,我們將檢查Groovy和Java之間的聯系是什么,并盡力抓住groovy雙關語。 我們提前致歉。

幾乎和Java一樣時髦

是什么讓Groovy變得如此時髦呢? 這是一種面向對象的JVM語言。 這種動態語言是開源的,并得到Apache和Groovy社區的支持。 這意味著您將找到圍繞它的選項,功能和工具,包括Web框架,桌面應用程序框架,并發/異步/并行庫,測試框架等等。

Groovy使用大括號語法,這使Java開發人員更容易學習和使用。 但是,它包含一系列使其與Java區別開來的功能,例如:

  • 靜態和動態類型化(在運行時解釋變量的類型時)
  • 運算符重載
  • 關聯數組
  • 嵌入字符串中的表達式
  • 安全導航操作員“?”。 自動檢查null –這很有意義,因為NullPointerException是生產中最常見的異常類型
  • 沒有分號(!)

在Groovy官方網站上,指出該語言旨在通過簡潔,熟悉和易于學習的語法來提高開發人員的工作效率。 換句話說,如果您了解Java,就可以立即學習和使用Groovy。

您可以將Groovy與任何Java程序集成在一起以獲得腳本功能,特定領域的語言編寫,運行時和編譯時元編程以及函數式編程。 其他功能包括閉包,構建器,類型推斷和靜態編譯。

Groovy還具有“腳本和測試膠”。 這意味著Groovy是編寫“緊湊”和可維護測試以及構建和自動化任務的理想選擇。 但是這里最大的問題是特定領域語言創作(DSL),它使您可以創建關鍵字和語法來表達問題域的更高抽象表示形式。

將其視為非程序員獲取信息的解決方案更容易。 如果公司中有需要提取數據,創建剪切或執行其他任何任務的分析師,則可以為他們創建自定義語言。 這樣,他們不必知道如何編程,而只需熟悉所需測試所需的語法。

以下是一些DSL示例,可使其更加清晰:

// equivalent to: turn(left).then(right) turn left then right// equivalent to: take(2.pills).of(chloroquinine).after(6.hours) take 2.pills of chloroquinine after 6.hours// equivalent to: select(all).unique().from(names) select all unique() from namesshow = { println it } square_root = { Math.sqrt(it) }def please(action) {[the: { what ->[of: { n -> action(what(n)) }]}] }// equivalent to: please(show).the(square_root).of(100) please show the square_root of 100 // ==> 10.0

如果您想開始使用Groovy,我們建議您查閱官方文檔 。

數字不說謊

萬一您仍然對Groovy 持反對態度 ,還可以快速了解一下TIOBE索引,該索引用于衡量編程語言的普及程度。 在其中,您會發現Groovy是2016年7月最受歡迎的20種編程語言之一。

在就業市場上也有興趣。 在我們的最新職位之一中, 我們處理了351,799個職位空缺 ,并發現對Groovy開發人員的需求不斷增長。

美國JVM語言工作趨勢

Groovy在我們的Java項目中適合什么地方?

當開始一個全新的Java項目時,我們大多數人選擇的第一個入門工具是Maven和JUnit。 但是隨著項目的發展一段時間后,需求發生了變化,我們發現自己想要比以前更多的自定義。 那時,Maven通常被Gradle取代。 或者至少這就是我們在開發Takipi時經歷的旅程。

Gradle是Groovy內置的工具,可幫助我們使用Java。 聽起來很棘手,但實際上使用一種語言與另一種語言一起工作確實很有趣。 而且,在使用了一段時間并了解了Groovy之后,我們可以使用一種新的語言,這對我們總是很有趣。 現在唯一剩下的問題是我們還能將其用于什么? 簡單的答案就是工具。 但是哪一個呢?

從Gradle開始

Gradle是一個開放源碼的構建自動化系統,它使用用Groovy編寫的特定領域語言而不是Maven的XML配置。 它可以幫助您自動化不同的任務,例如構建,測試,發布,部署等。 您還可以創建其他類型的項目來生成靜態網站,文檔或其他任何內容。

它是為有可能增長并變得相當大的多項目構建而設計的,同時仍然為增量構建提供支持,在其中您可以添加一些小軟件直到達到最終目標。 Gradle可以確定構建樹的哪些部分是最新的,因此依賴于那些部分的任何任務都無需重新執行。

這樣,Gradle消除了代碼凍結,并允許QA團隊在處理另一個零件時檢查某個零件。 您甚至可以使用它來協調單個開發人員構建到IDE級別的持續集成(CI)構建。

如果您發現隊友們用他們的nerf槍弄亂或者只是放松一下 ,那么Gradle也可以在該領域提供幫助。 有了它,您可以快速發貨,而不會在辦公室中浪費太多的“編譯”時間,因此您實際上可以完成一些工作。

如果您是Maven愛好者,或者仍然不確定遷移到Gradle對您的項目有什么幫助,后者將在下面的鏈接中創建兩者之間的完整功能比較。

不只是DSL:Grails Web框架

Grails Web框架希望通過Convention-over-Configuration范式幫助您提高生產率。 怎么樣? 通過為您提供一個獨立的開發環境,同時隱藏了大部分配置細節,使您可以專注于重要的事情。 或者換句話說; 它旨在使開發盡可能簡單。

它支持在單個界面上重用Hibernate和Spring等現有Java技術,提供可自定義和可擴展的Ajax支持,并且基本上提供了完整的開發模式,包括Web服務器和資源的自動重載。

在官方網站上,您可以找到選擇Grails的主要網站,包括Netflix Asgard,用于Amazon Web Services,Vodafone 等應用程序部署和云管理的Netflix開源Web界面。

轉向Spock

如果Gradle已經是您公司的一部分,那么該該看看Groovy提供哪些其他工具了。 Spock最近成為許多Java開發人員選擇的模擬和測試框架的領先者。

Spock由Peter Niederwieser和Luke Daley于2008年創建,適用于Java和Groovy應用程序。 該單元測試工具與大多數IDE,構建工具和持續集成服務器兼容,能夠處理軟件應用程序的整個生命周期。 它擴展了JUnit運行器,該運行器用于運行測試類,因此它可以與您在JUnit框架中使用的當前工具配合使用。 如果您要從一個框架遷移到另一個框架,那將是一個非常平穩的過程。

DSL在此框架中起著很大的作用,使您可以使用簡單的語法編寫測試。 這意味著測試可以由公司中的任何人進行,而不僅僅是開發人員。 您可以通過Spock的Web控制臺對其進行測試。

也檢查這些

盡管我們只選擇關注這3個與Groovy相關的項目,但還有許多其他選項值得一看。 感謝社區,您可以找到與Groovy相關的項目的一長串,例如:

  • GPars –直觀,安全的方式同時處理Java或Groovy任務
  • Ratpack –用于創建高性能Web應用程序的工具包
  • Griffon –用于在JVM中開發桌面應用程序的應用程序框架
  • Sdkman –一種用于在大多數基于Unix的系統上管理多個軟件開發套件的并行版本的工具

這些只是冰山一角,而且還有更多的Groovy項目。 最好的開始方法是在Github上查看趨勢發展的Groovy項目 。

最后的想法

當涉及到可用的框架,工具和實用程序時,Java開發人員有很多選擇,而并非全部都是用Java編寫的。 實際上,由于Java開發人員編寫了令人印象深刻的工具,因此他們在一個或另一個項目中有很好的機會接觸Groovy。

由于該語言與Java非常相似,因此,它的優點是立即可以輕松學習和使用。 牢記所有這些,根據您當前項目的需求,最終選擇使用Gradle,Spock,Grails還是任何其他Groovy或非Groovy框架。

如果您遇到任何其他Groovy(或簡單的groovy)框架,我們很樂意在下面的評論中聽到它們。

翻譯自: https://www.javacodegeeks.com/2016/08/groovy-java-developers-meet-gradle-grails-spock.html

總結

以上是生活随笔為你收集整理的适用于Java开发人员的Groovy吗? 认识Gradle,Grails和Spock的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。