เรียนรู้ Gradle part 1: Hello World
หากพูดถึงโปรเจกต์ Java เจ้า Gradle เป็นอีกหนึ่งเครื่องมือที่ผมได้รู้จักถัดจาก Maven เขาว่ามันดีมากมาย ไหนจะใช้กับโปรเจกต์ Android ได้อีกนะเออ
โอกาสนี้จึงจะมาทำความรู้จักกับเครื่องมือตัวใหม่ที่เหล่าจาวาเดฟขาเก่าขี้เกียจเรียน แต่หากเป็นขาใหม่วัยกำลังมันส์ค่อยได้เกาที่คันกันหน่อย
ไม่ต้องพูดถึงพวก Android เดฟนะ เพราะพวกนี้ไม่มีทางเลือก ไงก็ต้องรู้จักน้อง Gradle แหละเน๊อะ
มันเรียกตนเองว่า Build Tool และมันมีพี่น้องที่เกิดขึ้นมาก่อนทั้งยังได้รับความนิยมอย่างมากถึงสองนางด้วยกัน นั่นคือ Ant (ย่ามด) และ Maven (ป้ามา)
ย่ามดกับป้ามาเกิดขึ้นมาคนละยุคสมัย ย่ามดเก่งเรื่องคุยกับระบบมาก ย่าจะบอกกับระบบนั้นๆเสมอว่าจะทำสิ่งนั้นสิ่งนี้ได้อย่างไร (How) ประกอบไปด้วยขั้นตอนอะไรบ้าง หนึ่ง สอง สาม สี่ คือย่าเป็นคนละเอียดอ่อนและอ่อนไหวง่าย
ส่วนป้ามามาแรงกว่า ขั้นตอนว่าทำอย่างไรนั้นป้าไม่สน ป้าสนแค่อยากจะทำอะไร (What) แค่บอกสิ่งที่อยากจัด เดี๋ยวป้าดูแลให้ หนูรักป้ามากกว่าย่าอีกค่ะ
- สิ่งที่ Ant ทำมีศัพท์เรียกว่า Imperative build tools
- ส่วนสิ่งที่ Maven ทำมีศัพท์เรียกว่า Declarative build tools
หลาน Gradle เกิดขึ้นหลังจากนั้นและได้หยิบเอาสิ่งดีๆของย่ามดกับป้ามามาผสมในตัวเอง
Gradle เป็น JVM-langulage build tool หมายความว่า ต้องอาศัยเทคโนโลยี Java Virtual Machine (JVM) มาทำงานตามสั่ง ดังนั้นเครื่องคอมเราจึงต้องติดตั้ง Java Runtime Environment (JRE) หรือ Java Development Kit (JDK) เสียก่อน และขอเป็นเวอร์ชัน 1.8 หรือสูงกว่า
เลือก JDK 1.8 ไปเลยนะ
Gradle เป็น build tool ที่ไม่ใช่แค่การเตรียม library ให้เท่านั้น มันยังรู้จัก life cycle ตลอดจนความเข้าใจในตัวภาษาเป้าหมายหรือเทคโนโลยีที่เราต้องการให้มันดูแล ไม่ว่าจะเป็น
- C++
- Groovy
- Java
- Javascript
- Kotlin
- Scala
- Spring Boot
เอาล่ะแนะนำตัวกันพอหอมปากหอมคอแล้ว เรามา say Hello World ด้วย Gradle กันดีกว่า เรียกว่าไง เป็นธรรมเนียมปฏิบัติใช่ไหม
ไม่มี Gradle ก็ติดตั้งก่อน ค้นหา Google ว่า
gradle install
ได้แล้วลองตรวจสอบเวอร์ชัน
gradle -v
ผมจะใช้ Visual Studio Code เขียนโค้ดนะครับ
อะไรนะ ยังไม่มีเหรอ งั้นค้น Google
vs code download
Hello World
1.สร้าง folder ชื่อ hello
2.สร้างไฟล์ชื่อ build.gradle ไว้ใน folder hello
3.เขียนภาษา Groovy ตามนี้ลงไป
task helloWorld {println 'Hello World!'}
4.แล้วรันด้วย Terminal ที่คุ้นเคย
cd hello
gradle helloWorld
ไม่ยากใช่ไหม? ไหนจะสังเกตได้ว่า Gradle นี้ใช้ภาษา Grovvy เป็นแกน สืบเนื่องจากภาษานี้มีวลีและถ้อยคำสละสลวย เขียนง่าย สะอาด มันจึงถูกเลือกให้เป็น Domain Specific Language (DSL) ให้ Gradle ไงล่ะ
เอาล่ะโม้พอแล้ว โอกาสหน้าเราจะมาทำความเข้าใจน้อง Gradle กันต่อแบบค่อยเป็นค่อยไป หวังว่าช้าๆจะได้พร้าเล่มงามนะครับ สาธุ