kotlin-rest
เนื่องจากต้องการพัฒนา Application ด้วยภาษา Kotlin
ทั้งในฝั่ง Android และ Server (REST API)
ดังนั้นจึงอยากรู้ว่า ในฝั่ง Server จะพัฒนาได้อย่างไร
และง่ายเพียงใด
มาเริ่มกันเลยดีกว่า

ปล. Kotlin มันทำงานบน JVM
ดังนั้นอะไรที่ทำงานบน JVM ก็ทำงานด้วยกันได้


ปกติในการสร้าง REST API ที่ใช้เป็นประจำ ประกอบไปด้วย

ดังนั้นมาดูว่าพัฒนา REST API ด้วย Kotlin ได้อย่างไร ?

โดย software ที่ใช้งานประกอบไปด้วย

  • IntelliJ IDE
  • Gradle

ตามธรรมเนียมต้องเริ่มด้วยการสร้าง HELLO WORLD API กัน
ซึ่งทำงานเหมือนกันหมด

1. Kotlin with Servlet 3.0

เขียน Servlet กันแบบธรรมดานี่เอง ง่ายมาก ๆ

2. Kotlin with Spark Java

เป็น framework ที่ได้รับแรงบันดาลใจมาจาก Sinatra
ทำให้เราสามารถสร้าง Routing ได้ง่ายมาก ๆ

3. Kotlin with Spring Boot

ก็จะเยอะตามระเบียบ นั่นคือต้องมีไฟล์ Application เป็นหลัก
ส่วน Rest Controller ก็เป็น class ธรรมดาเหมือนเดิม
แต่เขียนสั้นกว่าเดิม

4. Kotlin with DropWizard
ต้องทำการ config และสร้างไฟล์เยอะหน่อย
แต่ส่วนตัวชอบโครงสร้าง และ แนวคิดของ DropWizard

เมื่อลองไปค้นหาเพิ่มเติมก็เจอ wasabi และ kara อีก
ซึ่งพัฒนาด้วยภาษา Kotlin เลย
ดังนั้นจึงลองนำมาเล่นสักตัว คือ wasabi
เนื่องจาก kara สร้างมาสำหรับพัฒนา web application มากกว่า API นั่นเอง

โดยสรุปจากทั้ง 5 library พบว่า
ถ้าเขียนด้วย Kotlin มันก็ไม่ได้ยากอะไรมากนัก
เพียงแค่เปลี่ยนรูปแบบการเขียนให้สั้น และ สวยขึ้น
ส่วนจะเลือกอะไรนั้น ผมคิดว่าอยู่ที่ตัวคนใช้แล้วล่ะ
ว่ารัก ชอบ อะไรมากกว่ากัน

ตัวอย่าง source code ทั้งหมดอยู่ที่ Github :: Up1 :: Demo Kotlin REST API