- บทความนี้เป็นกรณีศึกษาเกี่ยวกับความท้าทายในการดูแลรักษาแอป Android แบบเลกาซีเมื่อ Google อัปเดตข้อกำหนด
- ทีมของผู้เขียนรับผิดชอบแอป Android ที่มีความเสถียรมาหลายปี และไม่มีการพัฒนาอย่างต่อเนื่อง
- Google ส่งอีเมลกำหนดให้ทุกแอปต้องกำหนดเป้าหมาย API ระดับ 31 ขึ้นไป เพื่อให้ผู้ใช้บนอุปกรณ์ที่รัน Android OS เวอร์ชันสูงกว่าระดับ API เป้าหมายของแอปยังสามารถใช้งานแอปต่อไปได้
- ผู้เขียนอัปเดต
targetSdkVersion จาก API ระดับ 30 เป็น 33 และนำ dependency ที่เข้ากันไม่ได้ซึ่งเกี่ยวข้องกับการวิเคราะห์ออก
- แอปที่อัปเดตแล้วถูกอัปโหลดขึ้น Google Play Store สำเร็จ และในตอนแรกก็ดูเหมือนจะทำงานได้ตามคาด
- อย่างไรก็ตาม ลูกค้ารายงานว่ามีปัญหาในการเข้าสู่ระบบบัญชีด้วยแอปเวอร์ชันล่าสุด แอปแครชหลังจากล็อกอินบนอุปกรณ์ Android จริง
- ปัญหานี้เกิดขึ้นเฉพาะกับ Android เวอร์ชันล่าสุดในขณะนั้น (13) และผู้เขียนตระหนักว่าตนไม่ได้ทดสอบแอปบนเวอร์ชันนี้
- ผู้เขียนพยายามย้อนกลับไปใช้เวอร์ชันก่อนหน้าที่ยังทำงานได้จาก Google Play Store แต่ทำไม่ได้เพราะข้อจำกัดของ Google
- จากนั้นผู้เขียนพยายามย้อน
targetSdkVersion กลับไปเป็น API ระดับ 30 และสร้างรีลีสใหม่บน Play Store แต่ก็ทำไม่ได้อีกเช่นกันเพราะ Google บังคับให้ต้องใช้ API ระดับ 33
- ทางออกเดียวคือแก้ปัญหาแครชบน Android เวอร์ชันล่าสุดและสร้างรีลีสใหม่
- ผู้เขียนแก้ปัญหาแครชที่ทราบแล้วและปล่อยเวอร์ชันใหม่ แต่แอปกลับค้างอยู่ในสถานะ "อยู่ระหว่างการตรวจสอบ" เป็นเวลานาน
- ผู้เขียนวิจารณ์การควบคุมของ Google และ Apple ที่มีต่อการพัฒนาแอปมือถือ โดยมองว่าสิ่งนี้อาจขัดขวางไม่ให้นักพัฒนาแก้ปัญหาในระบบผลิตได้
- ผู้เขียนเสนอให้กลับไปหา open web standards เพื่อทวงคืนการควบคุมการพัฒนาผลิตภัณฑ์/บริการ
- ประสบการณ์ของผู้เขียนเน้นให้เห็นถึงกับดักที่อาจเกิดขึ้นจากการพึ่งพาแพลตฟอร์มของบุคคลที่สามในการแจกจ่ายแอป และความสำคัญของการทดสอบอย่างรอบด้านในทุกสภาพแวดล้อมการใช้งานที่เป็นไปได้
1 ความคิดเห็น
ความเห็นบน Hacker News