Architecture Component, Next generation of Android development

ในงาน Google I/O 2018 ที่ผ่านมา สำหรับ Android User ทั่วไปก็คงจะตื่นตาตื่นใจกับฟีเจอร์ต่างๆที่จะมาใหม่ใน Android P หรือ Google Assistant แต่สำหรับ Android Developer นั้นก็คงไม่พ้น Architecture Components ที่ถูกรวมอยู่ใน Android JetPack

Architecture Components คือเหล่า Library ที่ถูกเปิดตัวมาตั้งแต่ปีที่แล้ว โดยทีม Google พัฒนาขึ้นมาเพื่อช่วยแก้ปัญหาต่างๆที่ Android Dev ต้องเจอกันมานมนาน (อีกนิดนึงก็จะครบทศวรรษละ) ซึ่ง Library แต่ละตัวก็จะมีหน้าที่ในแต่ละส่วนแตกต่างกันไปตั้งแต่ระดับโครงสร้างไปจนถึงการทำงานในระดับ High-level

ในวันนี้ Dev อาจจะมองว่า Architecture Components เป็นแค่ทางเลือกในการพัฒนาก็ได้ แต่ต้องตระหนักไว้ว่า Architecture Components จะมา Standardize ในการเขียนแอพแอนดรอยด์ในอนาคตอย่างแน่นอน

ถ้ามั่นใจว่า Structure ของแอพที่ทำอยู่นั้นดีอยู่แล้ว จะใช้ต่อไปก็ได้ แต่ต้องแน่ใจว่า

  • สามารถแก้ปัญหาแบบที่ Architecture Components ทำได้
  • Maintain ง่าย, เขียนเทสได้ และ Scale ได้
  • ทุกคนในทีมเข้าใจและทำงานไปในทางเดียวกัน (รวมไปถึงคนที่เข้าทีมมาใหม่ในอนาคตด้วย)

แต่ถ้าไม่ตอบโจทย์ แนะนำให้เรียนรู้ Architecture Components ซะ ดูวิธี Implement ให้เข้ากับ Product ของเรา และวางแผนเพื่อเตรียมตัวย้ายไปใช้ Architecture Components ซะ (ถ้าขึ้นโปรเจคใหม่เลยก็ง่ายดี แต่ถ้าเป็นโปรเจคเก่าที่ต้องดูแลระยะยาวก็ค่อยๆทยอยทำ) อย่าปล่อยให้ Structure ที่ยังไม่ดีพอนั้นไปต่อเรื่อยๆ จน Architecture Components นำหน้าไป แล้วบ่นทีหลังว่า “ถ้าใช้ Architecture Components ก็เสร็จนานไปแล้ว”

Session ในงาน Google I/O 2018 ที่ชื่อว่า “Android Jetpack: what’s new in Architecture Components” ได้บอกใบ้เราแล้วว่าแนวทางของ Architecture Components จะกลายเป็นพื้นฐานใหม่ในการพัฒนาแอพ ฟีเจอร์ใหม่ๆจะเอื้ออำนวยต่อ Library ชุดนี้ (ไม่ก็ Library จัดการให้) และรวมไปถึงเนื้อหาบางส่วนใน Documentation หรือ Sample Code เหมือนกับที่ Kotlin เข้ามาเป็นส่วนหนึ่งของแอนดรอยด์ในตอนนี้

ในอนาคตเราอาจจะได้เห็นคำว่า “รู้จักและใช้งาน Architecture Components เป็น” เพิ่มเข้ามาใน Job Description ของ Android Developer

และไม่ใช่แค่ Android Dev ที่อยู่ในวงการเท่านั้น แต่หลักสูตร Android Development ที่ใช้สอนกันในทุกวันนี้ก็จะต้องปรับตัวตามในอนาคตด้วย ไม่ว่าจะเป็นการสอนในวิชาระดับมหาลัยหรือคอร์สออนไลน์บนอินเตอร์เน็ตหรือแม้แต่หนังสือ ไม่เช่นนั้นคนที่เรียนมาก็จะไม่ได้อะไรนอกจากเสียเวลา เพราะเรียนไปแล้วชาวบ้านเค้าไม่ได้ใช้กัน เหมือนตอนเรียนวิธีใช้ ListView แต่พอตอนทำงานจริงเค้าใช้ RecyclerView กัน

แต่ถึงกระนั้น Architecture Components ก็ไม่ใช่เรื่องที่ต้องเปลี่ยนกระทันหัน ระยะเวลาในการเปลี่ยนผ่านยังเป็นหน่วยปีอยู่ ดังนั้นใจเย็นๆค่อยๆเรียนรู้ค่อยๆปรับกันไปครับ

เราอยู่ในยุคที่โลกนั้นเปิดกว้าง ขับเคลื่อนไปได้ไวกว่าที่เคยเป็นมา เพราะงั้นอย่าหยุดที่จะเรียนรู้ครับ (เดี๋ยวตกงาน ><)

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

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