ปัญหา Fragmentation บน Android คืออะไร?


วันนี้ผมนั่งท่องเว็บไปเรื่อย ไปเจอเรื่องของปัญหาว่า ทำไมแอพบางแอพที่มีอยู่บน iOS นั่น กว่าผู้ผลิตจะทำการผลิตเวอร์ชั่นสำหรับ Android นั้นออกมาช้าเหลือเกิน ก็มีการแสดงความเห็นอันหนึ่งว่า “เกิดจากปัญหา Fragmentation” ผมก็เลยติดใจกับคำๆ นี้ เลยไปหาข้อมูลมาเพิ่มเติม เผื่อใครอาจจะสงสัยเหมือนกับผมและจะได้รับคำตอบจากบทความนี้ครับ

ปัญหา Fragmentation บน Android คืออะไร?

ปัญหา Fragmentation ที่เกิดขึ้นกับมือถือหรือแทบเล็ตของ Android นั้น ก็คือปัญหาที่เกิดจากการกระจัดกระจายของอุปกรณ์ Android ที่มีความหลากหลายมากเกินไป จนเกิดปัญหาความเข้ากันไม่ได้ ของอุปกรณ์แต่ละเครื่องกับ Application ที่พัฒนาขึ้น

หากยังนึกภาพไม่ออก ภาพด้านล่างนี้บอกถึงคำจำกัดความนี้ได้ทั้งหมดครับ

นี่เป็นภาพของจำนวนมือถือที่บริษัทผู้ผลิตแอพสำหรับ Android เจ้าหนึ่ง ต้องทำการซื้อมาไว้เพื่อทำการทดสอบแอพของตนเอง เนื่องจากมือถือและแทบเล็ตทางฝั่งของ Andriod นั่นมีหลากหลายรุ่น หลายยี่ห้อ หลายความละเอียดหน้าจอ

ทำไม Android ถึงเกิดปัญหา Fragmentation ?

สำหรับปัญหา Fragmentation บน Android นั้นมีสาเหตุหลักๆ ดังนี้ครับ

  1. Android เป็นระบบปฏิบัติการ OpenSource ซึ่งต่างจากระบบของ iOS ที่เป็นระบบปิด ทำให้มีการพัฒนาออกไปอย่างหลากหลายรูปแบบครับ
  2. มีผู้ผลิตอุปกรณ์จากหลายค่าย ซึ่ง iOS จะเป็นผู้ผลิตเจ้าเดียวคือ Apple ทำให้ควบคุมทิศทางการพัฒนาของแอพได้ดีกว่า
  3. ขนาดจอภาพถูกกำหนดไว้หลายขนาด จะเห็นได้ว่า ในปัจจุบันมีการผลิตมือถือและแทบเล็ต Android ที่มีขนาดหลากหลายมาก ตั้งแต่จอขนาดสามนิ้วกว่าๆ ไปจนถึงจอสิบนิ้ว ทำให้การพัฒนาแอพเพื่อรองรับขนาดหน้าจอทั้งหมดนี้เป็นไปได้ด้วยความยากลำบาก
  4. ไม่มีการกำหนดมาตรฐานปุ่มแผงควบคุม ซึ่งแต่ละยี่ห้อก็จะมีการวางปุ่มแผงควบคุมที่ไม่เหมือนกัน
  5. Firmware มีการ Update ที่ไม่แน่นอน ทำให้อุปกรณ์ไม่สามารถ Upgrade Firmware ได้ตามที่ระบบต้องการ

การแก้ไขปัญหา Fragmentation

สำหรับปัญหาที่เกิดขึ้นนี้ ทาง Google ซึ่งเป็นผู้ผลิตและพัฒนาระบบ Android ก็มิได้นิ่งนอนใจ มีแนวทางการแก้ไขปัญหาดังนี้ครับ

  1. Google ประกาศว่า Android ในรุ่น Ice Cream Sandwich จะเป็นรุ่นที่มีความเข้ากันได้ที่สุดในแง่ของระบบปฏิบัติการ
  2. การทำสัญญาเรื่อง non-fragmentation clauses กับ ผู้ผลิต CPU ทั้ง ARM, MIPS, Texus
  3. Google จะอนุมัติให้ Google Services กับโทรศัพท์รุ่นนั้นๆก็ต่อเมื่อผู้ผลิต ส่งโค้ดให้ Google ตรวจก่อน

หวังว่าบทความนี้จะช่วยให้คุณเข้าใจเรื่องของ Fragmentation บน Android มากขึ้นนะครับ 🙂