VLC เพิ่มประสิทธิภาพแอป Android เพื่อประสบการณ์การรับชมวิดีโอที่สมจริงบนหน้าจอขนาดใหญ่

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

เดิมทีทีมได้ออกแบบแอป VLC สำหรับ Android และไม่นานผู้ใช้ก็เริ่มขอประสบการณ์การใช้งานเดียวกันนี้ใน Chromebook VideoLAN จึงเห็นโอกาสในการมอบประสบการณ์การใช้งานแบบเดสก์ท็อปให้แก่ผู้ใช้ด้วยการนำ VLC มาสู่ ChromeOS

การเพิ่มประสิทธิภาพแอป Android สำหรับ ChromeOS และหน้าจอขนาดใหญ่ รวมถึงการรองรับ x86 และ ARM 64 บิตตั้งแต่เริ่มต้นช่วยให้ VideoLAN มั่นใจได้ว่าผู้ใช้ VLC จะได้รับประสบการณ์ที่สมจริงเหมือนกันในอุปกรณ์และรูปแบบต่างๆ

สิ่งที่พวกเขาทำ

ทีมเริ่มต้นด้วยการสังเกตว่าผู้ใช้ VLC ชอบฟีเจอร์ใดบนเดสก์ท็อป เช่น อินพุตของเมาส์ เมนูคลิกขวา และการตรวจสอบว่าที่เก็บข้อมูลภายนอก (เช่น ฮาร์ดไดรฟ์และแฟลชไดรฟ์ USB) ทำงานได้อย่างถูกต้อง จากนั้น ทีมก็เริ่มปรับเลย์เอาต์และฟังก์ชันการทำงานของแอปเพื่อให้ผู้ใช้ สามารถเพลิดเพลินกับฟีเจอร์เดียวกันในสภาพแวดล้อมที่คล้ายกับเดสก์ท็อป

รองรับแป้นพิมพ์และเมาส์

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

การปรับขนาดแบบไดนามิก

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

ก่อนหน้านี้ ทีมต้องใช้โปรแกรมจำลองแต่ละรายการหรืออุปกรณ์แยกต่างหากเพื่อ ทดสอบเลย์เอาต์แต่ละรายการ แต่ด้วยการรองรับ Android สำหรับ ChromeOS ทีมจึงสามารถ ทดสอบเลย์เอาต์ UI สำหรับเดสก์ท็อป แท็บเล็ต และอุปกรณ์เคลื่อนที่ได้พร้อมกันในอุปกรณ์เครื่องเดียวกัน และไม่ต้องใช้โปรแกรมจำลอง ซึ่งช่วยเร่งเวลาในการออกแบบ และการทดสอบได้อย่างมาก

และตอนนี้ด้วย Linux (เบต้า) ใน ChromeOS นักพัฒนาแอปสามารถใช้ Android Studio เพื่อสร้างและทดสอบแอป Android ได้โดยตรง ทำให้ Chromebook เป็นอุปกรณ์ที่พร้อมสำหรับการพัฒนา

รูปภาพที่แสดงเลย์เอาต์หลายเวอร์ชัน ตัวอย่างการปรับขนาดแบบไดนามิกในอุปกรณ์เคลื่อนที่ แท็บเล็ต และแล็ปท็อป

การเขียนโค้ดใน Kotlin

ที่สำคัญที่สุดคือทีมได้ทำงานทั้งหมดใน Kotlin ซึ่งเป็นภาษาโปรแกรมที่มีประสิทธิภาพที่ช่วยให้ทีมปรับปรุงประสิทธิภาพการทำงานได้ด้วยการเขียน โค้ดที่ปลอดภัยและกระชับยิ่งขึ้น การลดโค้ดเบสของแอปช่วยให้ทีมใช้เวลาในการแก้ปัญหา น้อยลงและมีเวลาเพิ่มประสิทธิภาพเลย์เอาต์และฟังก์ชันการทำงานของแอป มากขึ้น

"โดยปกติแล้วเราไม่ค่อยอยากจะปรับโครงสร้างหรือเขียนโค้ดใหม่ครั้งใหญ่เพราะเราเสี่ยงที่จะสูญเสียฟังก์ชันการทำงาน" Geoffrey Métais หัวหน้านักพัฒนา Android ของ VideoLAN กล่าว "เรายินดีที่พบว่าการเปลี่ยนจาก Java ไปเป็น Kotlin นั้นราบรื่นมาก เนื่องจากเครื่องมือการย้ายข้อมูลในตัวของ Android Studio และเฟรมเวิร์ก Coroutines ของ Kotlin ช่วยให้เราปรับปรุงประสิทธิภาพได้"

ผลลัพธ์

VideoLAN ใช้ APK เดียวกันสำหรับอุปกรณ์เคลื่อนที่, ChromeOS และ Android TV จึงใช้เวลาเพียง 2 เดือนสำหรับนักพัฒนาแอปหลักในการเพิ่มประสิทธิภาพแอปสำหรับแต่ละแพลตฟอร์ม ผู้ใช้ได้ขอให้รองรับ VLC ใน ChromeOS มาหลายเดือนแล้ว โดยเฉพาะสำหรับการ เล่น DVD และทีมก็ได้รับความคิดเห็นเชิงบวกอย่างท่วมท้นจนถึงตอนนี้ นอกจากนี้ ChromeOS เวอร์ชันล่าสุดยังรองรับพื้นที่เก็บข้อมูลภายนอกอย่างเต็มรูปแบบ ดังนั้นผู้ใช้ Android ทุกคนจึงได้รับสิทธิประโยชน์เดียวกัน

"ทีมของเรามองหาโอกาสใหม่ๆ อยู่เสมอเพื่อสร้างผลลัพธ์ที่ยิ่งใหญ่ที่สุด สำหรับผู้ใช้" Jean-Baptiste Kempf ประธาน VideoLAN กล่าว "การเพิ่มประสิทธิภาพสำหรับ Chromebook ช่วยให้เราขยายแอปไปยังอุปกรณ์และรูปแบบต่างๆ จำนวนมาก และความคิดเห็นจากผู้ใช้ทั่วโลกก็แสดงให้เห็นอย่างชัดเจนว่าเราทำได้ตามเป้าหมาย"

เริ่มต้นใช้งาน

ดูแนวทางปฏิบัติแนะนำบางส่วนเพื่อเพิ่มประสิทธิภาพแอปสำหรับ ChromeOS