ช่วงนี้มีโอกาสมาสอนการพัฒนา Android app สำหรับมือใหม่
เหมือนกับการมาแบ่งปันประสบการณ์ในการพัฒนาระบบงาน
ว่ามีสิ่งใดที่ต้องศึกษา ต้องรู้
ว่ามีสิ่งใดที่ควรศึกษา
ว่ามีสิ่งใดที่ไม่ควรทำ
เลยสรุปไว้เป็นข้อ ๆ ไว้นิดหน่อย
เผื่อจะมีประโยชน์กันบ้าง
1. ต้องรู้และเข้าใจในสิ่งที่นำมาใช้งาน นั่นคือการทำงานภายในของ Android
ตัวอย่างเช่น จะใช้งาน Activity/Fragment ก็ต้องเข้าใจ และจัดการ Lifecycle ของมันได้ การทำงานของ Main Thread และ Background Thread ว่ามันทำงานอย่างไร ว่ามันมีปัญหาอย่าง ว่ามันมีวิธีการแก้ไขปัญหาอย่างไร ดังนั้นเอกสารต่าง ๆ จาก Android Developer มันก็สำคัญมาก ๆ ดังนั้นจำเป็นต้องอ่านกันบ้างนะ แต่การจะเรียนรู้ทั้งหมด มันเป็นไปไม่ได้เลย ดังนั้นให้เรียนรู้เท่าที่จำเป็นและเพียงพอต่อการใช้งาน สำหรับพัฒนา app2. เริ่มต้นด้วยการไปอ่านและศึกษาจาก code ของคนอื่น
เพียงแค่การเขียนอย่างเดียวยังไม่เพียงพอ สิ่งที่ต้องทำเพิ่มคือ ไปอ่านและศึกษาจาก code ของคนอื่น ซึ่งมีให้ศึกษาเยอะเลย ยกตัวอย่างเช่น Opensource Android App จะทำให้เราเห็นรูปแบบการเขียน code ทั้งโครงสร้างของ app ทั้งแนวคิดต่าง ๆ ซึ่งทำให้เราพัฒนาความสามารถได้อย่างต่อเนื่อง3. รีดความสามารถของ IDE ที่ใช้ออกมาให้ได้เยอะ ๆ
เครื่องมือที่นำมาใช้งานนั้น เพื่อช่วยทำให้เราสะดวกและง่ายต่อการพัฒนา IDE ก็เช่นกัน ยกตัวอย่างเช่น Android Studio เราก็สามารถปรับแต่งค่าต่าง ๆ และใช้ความสามารถที่มันมีมาให้เยอะ ๆ ลองศึกษาเพิ่มเติมได้ที่ Use Android Studio like a pro จะช่วยเพิ่ม productivity ในการพัฒนาได้อย่างมาก4. ให้ความสำคัญต่อการเลือกโครงสร้างของระบบ
บ่อยครั้งเรามักพบว่า class ต่าง ๆ ของระบบงานนั้น มีจำนวนบรรทัดต่อ class เยอะมาก ๆ (God class) ซึ่งมันส่งผลต่อเวลาในการพัฒนาอย่างมาก รวมไปถึงยากต่อการดูแลรักษา และ ทดสอบอีกด้วย โดยโครงสร้างของระบบมีมากมาย เช่น- MVP
- MVC
- MVVM
- VIPER
- Clean Architecture
- Redux
- Architecture Component
5. ต้องทำการศึกษาแนวปฏิบัติที่ดีสำหรับการพัฒนา Android app
หลังจากที่พัฒนาระบบงานได้ดีแล้ว สิ่งที่ต้องทำการศึกษาเพิ่มเติมคือ แนวปฏิบัติที่ดีต่าง ๆ ว่าอะไรบ้างที่ควรทำ ว่าอะไรบ้างที่ไม่ควรทำ ยกตัวอย่างเช่น Better Practices in Android Development- การใช้งาน Gradle
- การจัดการ sensitive data
- การจัดการข้อมูล JSON
- การจัดการข้อมูลผ่านระบบ network
- การระมัดระวังเรื่อง 65k method limit
- การจัดการ layout
- การใช้งาน shared preference
- การใช้งาน Leak canary สำหรับหาจุดที่ทำให้เกิด memory leak