ข้ามไปเนื้อหาหลัก

Codename One อัปเดตใหญ่ รองรับ VoIP และ VPN

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

เรียบเรียงโดย AI
Inewgen
12 Sep 2026ที่มา: Dev.to2 นาทีอ่าน (0 ครั้ง)
แชร์
Codename One อัปเดตใหญ่ รองรับ VoIP และ VPN

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

ขนาดตัวอักษร
  • 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 ที่ต้องจัดการกฎของระบบ

mobile app development screen code editor

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

smartphone app interface design workspace

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

ไม่อยากพลาดข่าวใหม่?

สมัครรับสรุปข่าวสารใหม่ทางอีเมล ไม่บ่อยจนรำคาญ

โฆษณา

เพื่อแก้ปัญหานี้ ทีมพัฒนาได้อาศัยจุดแข็งของ 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

ความคิดเห็น

แสดงความคิดเห็น
0/2000

พบข้อมูลผิดพลาดในบทความนี้? แจ้งปัญหาบทความนี้