Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

เกร็ดเล็กเกร็ดน้อยสำหรับ Android Developer มือใหม่

$
0
0

ช่วงนี้มีโอกาสมาสอนการพัฒนา Android app สำหรับมือใหม่ เหมือนกับการมาแบ่งปันประสบการณ์ในการพัฒนาระบบงาน ว่ามีสิ่งใดที่ต้องศึกษา ต้องรู้ ว่ามีสิ่งใดที่ควรศึกษา ว่ามีสิ่งใดที่ไม่ควรทำ เลยสรุปไว้เป็นข้อ ๆ ไว้นิดหน่อย เผื่อจะมีประโยชน์กันบ้าง

1. ต้องรู้และเข้าใจในสิ่งที่นำมาใช้งาน นั่นคือการทำงานภายในของ Android

ตัวอย่างเช่น จะใช้งาน Activity/Fragment ก็ต้องเข้าใจ และจัดการ Lifecycle ของมันได้ การทำงานของ Main Thread และ Background Thread ว่ามันทำงานอย่างไร ว่ามันมีปัญหาอย่าง ว่ามันมีวิธีการแก้ไขปัญหาอย่างไร ดังนั้นเอกสารต่าง ๆ จาก Android Developer มันก็สำคัญมาก ๆ ดังนั้นจำเป็นต้องอ่านกันบ้างนะ แต่การจะเรียนรู้ทั้งหมด มันเป็นไปไม่ได้เลย ดังนั้นให้เรียนรู้เท่าที่จำเป็นและเพียงพอต่อการใช้งาน สำหรับพัฒนา app

2. เริ่มต้นด้วยการไปอ่านและศึกษาจาก 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
สามารถเริ่มได้จาก Android Architecture อีกทั้งยังมี guildeline สำหรับการเขียน code ที่ดีอีกด้วย Android guildeline

5. ต้องทำการศึกษาแนวปฏิบัติที่ดีสำหรับการพัฒนา Android app

หลังจากที่พัฒนาระบบงานได้ดีแล้ว สิ่งที่ต้องทำการศึกษาเพิ่มเติมคือ แนวปฏิบัติที่ดีต่าง ๆ ว่าอะไรบ้างที่ควรทำ ว่าอะไรบ้างที่ไม่ควรทำ ยกตัวอย่างเช่น Better Practices in Android Development
  • การใช้งาน Gradle
  • การจัดการ sensitive data
  • การจัดการข้อมูล JSON
  • การจัดการข้อมูลผ่านระบบ network
  • การระมัดระวังเรื่อง 65k method limit
  • การจัดการ layout
  • การใช้งาน shared preference
  • การใช้งาน Leak canary สำหรับหาจุดที่ทำให้เกิด memory leak

6. จำเป็นอย่างมากที่ต้องศึกษาเรื่องการออกแบบ (UX/UI)

โดยปกติแล้วผมจะเน้นที่การเขียน code ให้ดีมากกว่า การออกแบบ UI ที่สวยงามและใช้งานได้ง่าย ดังนั้นสิ่งที่ยังขาดคือ เรื่องของการออกแบบ ที่ Android developer ควรที่จะเข้าใจ

7. เริ่มเขียนชุดการทดสอบขึ้นมาเรื่อย ๆ แต่ให้เริ่มนับ 1 ก่อนนะ

สิ่งที่มักจะแนะนำคือ อะไรที่เราทดสอบด้วยมือหรือ manual test ได้ ให้ทำการจดบันทึกไว้เพื่อนำมาทดสอบอีกครั้งให้ได้ นั่นคือการเขียนชุดของการทดสอบ หรือ automated test ไว้ เพื่อช่วยบอกว่า เราทดสอบอะไรบ้าง เพื่อช่วยบอกว่า เราไม่ทดสอบอะไรบ้าง เพื่อช่วยทำให้เรามีความเชื่อมั่นต่อ code ที่เขียน ที่สำคัญ เราจะไม่ผิดซ้ำที่เดิม ๆ

8. ซื้อเครื่องดี ๆ สำหรับการพัฒนานะครับ

เพราะว่าในการพัฒนานั้น เครื่องมือต่าง ๆ มันใช้งาน resource เยอะเหลือเกิน ทั้ง CPU และ Memory เช่น Android Studio ก็กิน Memory ในช่วงเริ่มต้น 1 GB แล้ว ถ้าใช้ Emulator อีกก็ 1 GB ทางที่ดีก็ใช้มือถือจริง ๆ ดีกว่า !!

สุดท้ายแล้ว Android developer ต้องฝึกเขียนกันบ่อย ๆ

ทำทุกอย่างให้สม่ำเสมอ นั่นคือค่อย ๆ ศึกษาทีละเรื่องในทุก ๆ วัน ถ้าเป็นไปได้ การเริ่มต้นทำบางสิ่งนั้นมันง่าย แต่การทำสิ่งเหล่านั้นต่อไปอย่างต่อเนื่องมันยากมาก ๆ ดังนั้นแนะนำให้ทำแบบค่อยเป็นค่อยไป

Viewing all articles
Browse latest Browse all 1997

Trending Articles