Codename One อัปเดตใหญ่ รองรับ VoIP และ VPN
Codename One เปิดตัว PR #5604 และ #5693 เพิ่มระบบจัดการสายโทร VoIP พุชพุช และ VPN ข้ามแพลตฟอร์มผ่านระบบ Build Server โดยไม่ต้องเขียนโค้ดเนทีฟแยก

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
- Codename One เพิ่มการรองรับ VoIP และ VPN ข้ามแพลตฟอร์มอย่างเป็นทางการ
- ใช้ระบบ Build Server ในการสร้างและกำหนดค่าส่วนเสริมเนทีฟอัตโนมัติ
- แยกแพ็กเกจการใช้งานเพื่อให้แอปไม่ต้องแบกรับโค้ดส่วนเกินที่อาจโดน Apple ปฏิเสธ
ในปี 2019 แพลตฟอร์มโอเพนซอร์ส Codename One สำหรับสร้างแอปพลิเคชันเนทีฟด้วยภาษา Java หรือ Kotlin เคยปฏิเสธคำถามเรื่องการรองรับ VoIP เนื่องจากระบบต้องอาศัยการผสานการทำงานระดับเนทีฟที่มีความซับซ้อนเกินกว่าโปรเจกต์จะรับไหว แต่ล่าสุดสถานการณ์ได้เปลี่ยนไปแล้ว
การทำงานอย่าง VoIP และ VPN ไม่ได้อยู่แค่ภายในกระบวนการของแอปพลิเคชัน ตัวอย่างเช่น บนระบบ iOS การแจ้งเตือน VoIP push อาจเข้ามาล่วงหน้าก่อนที่แอปจะติดตั้ง Java listener เสียอีก ขณะที่ CallKit บังคับให้สายเรียกเข้าต้องแสดงบนหน้าจอล็อกสกรีนทันทีตามกำหนดเวลา ส่วน Android ก็มีทั้ง ConnectionService, VpnManager และ VpnService ที่ต้องจัดการกฎของระบบ

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง

ภาพประกอบจากคลังภาพสต็อก ไม่ใช่ภาพจากเหตุการณ์จริง
เพื่อแก้ปัญหานี้ ทีมพัฒนาได้อาศัยจุดแข็งของ Build Server ซึ่งทำหน้าที่ประกอบร่างแอปพลิเคชันเนทีฟอยู่แล้ว โดยระบบจะปรับเปลี่ยนรูปร่างของแอปตามแพ็กเกจ Java ที่ใช้งานจริง ไม่ว่าจะเป็นการเชื่อมโยงเฟรมเวิร์ก การฉีดสิทธิ์ หรือการสร้างส่วนขยายเป้าหมายเมื่อจำเป็น ผ่านการอัปเดตใน PR #5604 และ PR #5693
การที่ฟรมเวิร์กข้ามแพลตฟอร์มสามารถจัดการระบบเนทีฟที่ซับซ้อนอย่าง VoIP หรือ Network Extension ได้โดยอัตโนมัติผ่าน Build Server ถือเป็นจุดเปลี่ยนสำคัญ เพราะช่วยลดภาระของนักพัฒนาในการดูแลโปรเจกต์ Xcode และ Android Studio แยกต่างหาก ซึ่งมักเป็นอุปสรรคใหญ่ในการพัฒนาแอปพลิเคชันข้ามแพลตฟอร์ม
แนวทางใหม่นี้ยังช่วยให้การจัดการแพ็กเกจมีความหมายยิ่งขึ้น เช่น com.codename1.call.session สำหรับระบบโทรพื้นฐาน, com.codename1.call.voip สำหรับ PushKit และโหมดเบื้องหลังบน iOS รวมถึง com.codename1.call.directory สำหรับระบบไดเรกทอรี โดยการไม่นำเข้าโค้ดที่ไม่จำเป็นช่วยลดโอกาสที่แอปจะถูก Apple ปฏิเสธเนื่องจากการประกาศสิทธิ์ VoIP เบื้องหลังโดยไม่ได้ใช้งานจริง
ที่มา: Dev.to
พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้
ความคิดเห็น
แสดงความคิดเห็น