เขียน Android ด้วย Java ในยุคนี้ แถมฟรี Technical Debt

Akexorcist
Black Lens
Published in
2 min readOct 30, 2019

--

ในยุคที่ Kotlin เฉิดฉายบนแอนดรอยด์สุดๆ

ลองมองย้อนกลับไปเมื่ือ 1–2 ปีก่อน ถ้าเราจะต้องเริ่มสร้างแอปแอนดรอยด์ซักตัวหนึ่งขึ้นมา ณ ตอนนั้นก็อาจจะต้องถามตัวเองและคุยกับทีมเพื่อตัดสินใจเลือกว่าจะเลือกใช้อะไรระหว่าง Java กับ Kotlin

แต่ไม่ใช่สำหรับปี 2019 แล้ว

ย้อนกลับไปเมื่อปี 2017 ที่ Google ได้ประกาศว่าจะให้ภาษา Kotlin เป็น First-class Citizen สำหรับ Android ก็ผ่านมาแล้ว 2 ปี ซึ่ง ณ​ ตอนนั้นก็ไม่ใช่เรื่องง่ายนักที่เหล่านักพัฒนาจะตัดสินใจเลือกใช้ Kotlin เพราะทุกอย่างมันค่อนข้างใหม่เหลือเกิน ต้องใช้เวลาปรับตัวมากพอสมควร และอื่นๆอีกมากมาย

ทั้งนี้ก็เพราะว่าการเลือกใช้ Java เพื่อขึ้นโปรเจค ณ ตอนนั้นแลกกับ Technical Debt ที่จะเกิดขึ้นในอีก 1–2 ปีให้หลัง ก็ยังพอยอมรับได้ เพราะแอพส่วนใหญ่มีอายุยืนยาวประมาณ 2 ปีถึงจะทำการโล๊ะทำใหม่ทั้งหมด

What does Kotlin code look like?

“แต่ในยุคนี้คุณจะได้ Technical Debt ในโปรเจคแอนดรอยด์ทันทีที่เลือกใช้ Java”

อย่างที่รู้กันว่า Google สนับสนุนและเลือก Kotlin ให้เป็น First-class Citizen สำหรับแอนดรอยด์ ซึ่งไม่ใช่แค่การประกาศเพื่อให้ดูดีเท่านั้น แล้วปล่อยเฉยไม่ทำอะไร

เพราะคำว่า First-class Citizen มันมีอะไรมากกว่านั้นเยอะ มันรวมไปถึงการทำงานร่วมกันระหว่างทีม Android ของ Google และทีม Kotlin ของ Jetbrain เพื่อทำให้นักพัฒนาสามารถใช้ Kotlin ในการพัฒนาแอปแอนดรอยด์ได้ง่ายขึ้น สะดวกขึ้น ทำอะไรได้มากขึ้น

ในปี 2019 แอพที่เขียนด้วย Kotlin เพิ่มขึ้นเป็น 60% จาก 1,000 แอปยอดนิยมทั่วโลก

ถ้าได้ลองติดตามข่าวสารจาก Android Developer อยู่ตลอดเวลา จะพบว่าทีม Android ได้มีการปล่อยของใหม่ๆมามากมายซึ่งแน่นอนว่าต้องรองรับ Kotlin เป็นอย่างน้อย

โดยเฉพาะ Android Jetpack ที่เป็นตัวชูโรงของทีม Android ที่จะช่วยให้นักพัฒนาให้ทำงานได้ง่ายขึ้น ลดปัญหาเก่าๆที่เคยเจอ แทบทุกตัวจะมี Depedency ของ Kotlin เป็นทางเลือกเสริมอยู่เสมอ นั่นหมายความว่าการใช้ Android Jetpack นอกจากจะสะดวกมากขึ้นแล้ว ถ้าใช้ Kotlin ด้วย ก็จะได้ความสามารถเพิ่มเติมกว่าเดิมอีก

และบางตัวก็ใช้ได้เฉพาะ Kotlin เท่านั้นด้วย เพราะว่าเป็น Component ที่ใช้ความสามารถของ Kotlin ล้วนๆ ซึ่งไม่สามารถทำได้ด้วย Java

ถึงแม้ว่าในตอนนี้เราจะยังคงเห็น Java ตาม Source ต่างๆของ Android อยู่ แต่ถ้าลองติดตามเนื้อหาจากทีม Android อยู่ตลอดเวลาก็จะพบว่าการพูดถึงโค้ดที่เป็น Java ถูกลดทอนลงอย่างเห็นได้ชัด (แต่ใน Documentation จะยังคงอยู่เสมอ)

ล่าสุดในงาน Android Dev Summit 2019 ซึ่งเป็นงานที่ Google จัดขึ้นมาเพื่อให้นักพัฒนาทั่วโลกมาเข้าร่วมเพื่ออัพเดทความรู้ใหม่ๆจากทีม Android ได้มีการพูดถึงโค้ดเป็น Kotlin แทน Java หมดแล้ว

บาง Session ภายในงานก็เป็นเรื่อง Kotlin ล้วนๆ

ถามว่าคนในงานมีใครเรียกร้อง Java มั้ย? ก็ไม่มีนะ

เลือกใช้ Java วันนี้แถมฟรี

  • กิจกรรมแปลงโค้ดจาก Kotlin ให้เป็น Java เพราะว่าเนื้อหาใหม่ๆส่วนใหญ่นั้นกลายเป็น Kotlin หมดแล้ว
  • กังวลกับ Modern Android Development น้อยลง เพราะบางส่วนเป็นของ Kotlin
  • เป็นที่ต้องการสูงสำหรับการ Maintain โปรเจคแอนดรอยด์เก่าๆที่ใช้ Java อยู่จนกว่าจะโล๊ะโปรเจคใหม่
  • ไม่ต้องเรียนรู้สำหรับ Library หรือ Tools ให้เยอะมากนัก เพราะว่าบางตัวก็ใช้ได้กับ Kotlin เท่านั้น

ทั้งนี้ทั้งนั้นการเลือกใช้ Java สำหรับโปรเจคใหม่ๆก็ไม่ใช่ความผิดที่ถึงกับต้องเลิกเป็นนักพัฒนาแอนดรอยด์ไปเลย เพราะ Technical Debt เป็นเรื่องธรรมดาของ Software Development ที่เราเลี่ยงไม่ได้ แต่อย่างน้อยเราก็สามารถเลือกที่จะทำให้มันเกิดขึ้นช้าได้

และหนึ่งในนั้นก็คือการเลือกใช้ Kotlin แทนที่จะใช้ Java แบบเดิมๆที่เราเคยชินจนมอง Hidden Cost ไม่เห็นนั่นเอง

--

--

Akexorcist
Black Lens

Lovely android developer who enjoys learning in android technology, habitual article writer about Android development for Android community in Thailand.