java環境中基於jvm的兩大語言:scala,groovy

sl521100發表於2015-08-25

一、java環境中基於jvm的兩大語言:scala,groovy

可以在java專案裡混編這兩種語言;

scala:靜態語言,多正規化語言,糅合了物件導向、程式導向;可以與java和net互操作;融匯了眾多的語言特性,包括類似net的閉包、lambda表示式;正是語言特性較多,語言複雜度也較高~~

groovy:動態語言,既可作為面嚮物件語言又可做指令碼語言;擁有動態語言的好處;語法簡單~~

scala、groovy都是作為java的替代語言,基於jdk1.6可以使用起來像jdk1.8的高階語法特性;學習成本上groovy更容易上手;

二、java環境中流行web開發框架

scala流行的web框架:play framework,類似於ror(ruby on rails),快速的web開發框架;自帶了http伺服器、jpa工具、整合了netty支援非同步io,不需要serlvet api;是一個全棧web應用框架,可以獨立部署不基於任何容器;

groovy流行的web框架:grails,類似於ror(ruby on rails),快速的web開發框架;構建於Spring、Hibernate等開源框架之上,是一個高生產力一站式框架。

基於spring的快速web開發框架:spring boot,spring boot是spring4版本之後提供的一個子專案;它充分利用了JavaConfig的配置模式以及“約定優於配置”的理念,能夠極大的簡化基於Spring MVC的Web應用和REST服務開發;再也不用n多的xml配置檔案了;基於maven、gradle的編譯構建;它提倡微服務的概念,既可以以一個可執行jar獨立執行也可以執行於web容器中;

三、專案構建管理工具

maven:基於xml檔案格式描述專案構建的各個生命週期、可從maven本地庫、遠端公共庫下載專案依賴;通過指令碼完成專案編譯、生成、打包、測試、執行等等各項任務;

gradle:類似maven的構建工具,可以自動轉換maven指令碼,可以使用maven的公共庫,由於基於groovy語言,非常的靈活,將作為替代maven的下一代構建工具;

相關文章