VLC یک پخش کننده چند رسانه ای کراس پلتفرم متن باز و رایگان است که توسط پروژه VideoLAN توسعه یافته است. سازگاری یکپارچه با همه فایلها و صفحههای نمایش، هسته اصلی طراحی VLC است. VLC قادر است اکثر فایلهای ویدیویی و صوتی محلی و همچنین پروتکلهای پخش مختلف را پخش کند و تعداد زیادی از برنامههای شخص ثالث از موتور VLC برای مدیریت پخش ویدیو استفاده میکنند. در نهایت، توسعهدهندگان VideoLAN میخواهند کاربران بتوانند همه چیز را در همه جا پخش کنند – مهم نیست چه دستگاه یا اندازه صفحهای را که ترجیح میدهند.
این تیم ابتدا برنامه VLC را برای اندروید طراحی کرد و مدت زیادی نگذشت که کاربران شروع به درخواست تجربه مشابه در کروم بوک کردند. در آن زمان بود که VideoLAN فرصتی را دید تا با آوردن VLC به ChromeOS، تجربه ای به سبک دسکتاپ را به کاربران ارائه دهد.
با بهینه سازی برنامه Android برای ChromeOS و صفحه نمایش های بزرگتر - و همچنین پشتیبانی از x86 و 64 بیتی ARM از ابتدا - VideoLAN تضمین کرد که کاربران VLC می توانند از تجربه همهجانبه یکسانی در طیف وسیعی از دستگاه ها و عوامل فرم مختلف لذت ببرند.
کاری که آنها انجام دادند
این تیم با اشاره به ویژگیهایی که کاربران VLC روی دسکتاپ ترجیح میدهند، شروع کردند، مانند ورودی ماوس، منوهای کلیک راست، و اطمینان از اینکه حافظه خارجی (یعنی هارد دیسکها و درایوهای کوچک USB) درست کار میکنند. از آنجا، آنها شروع به تنظیم طرح و عملکرد برنامه کردند تا اطمینان حاصل شود که کاربران می توانند از همان ویژگی ها در یک محیط دسکتاپ مانند لذت ببرند.
پشتیبانی از صفحه کلید و ماوس
یکی از مهم ترین بهینه سازی های تیم پشتیبانی از ورودی صفحه کلید و ماوس بود. پشتیبانی از صفحه کلید به افراد امکان می داد از میانبرها و دکمه های جهت استفاده کنند تا به راحتی در برنامه حرکت کنند، در حالی که ورودی ماوس دستورات کلیک راست و کشیدن و رها کردن فایل را به و از پخش کننده VLC فعال می کرد.
تغییر اندازه پویا
VideoLAN چندین نسخه از این طرح را طراحی کرد تا به کاربران امکان دهد به راحتی برنامه را مقیاس و اندازه آن را تغییر دهند. از آنجایی که تیم قبلاً طرحبندی VLC را برای تبلتها طراحی کرده بود، تطبیق طرحبندیهای بزرگتر و وسیعتر فرآیند نسبتاً سادهای بود. آنها همچنین تنظیمات صوتی پخش کننده را تغییر دادند تا از املاک اضافی موجود در صفحه نمایش های بزرگتر استفاده کنند.
پیش از این، تیم نیاز به استفاده از شبیه سازهای فردی یا دستگاه های جداگانه برای آزمایش هر طرح داشت. اما، با پشتیبانی اندروید از ChromeOS، این تیم قادر به آزمایش طرحبندی رابط کاربری برای دسکتاپ، تبلت و موبایل بهصورت همزمان، در یک دستگاه و بدون نیاز به استفاده از شبیهساز بود. این به طور قابل توجهی زمان طراحی و آزمایش را تسریع کرد.
و اکنون با لینوکس (بتا) در ChromeOS ، برنامهنویسان میتوانند از Android Studio برای ساخت و آزمایش برنامههای Android بهطور بومی استفاده کنند و دستگاههای Chromebook را آماده توسعه کنند.
کد نوشتن در کاتلین
بهتر از همه، این تیم تمام کارها را در Kotlin انجام داد، یک زبان برنامه نویسی قدرتمند که به آنها کمک کرد با نوشتن کد ایمن تر و مختصر، بهره وری را بهبود بخشند. با کاهش پایگاه کد برنامه، آنها توانستند زمان کمتری را برای عیب یابی و زمان بیشتری برای بهینه سازی چیدمان و عملکرد برنامه صرف کنند.
Geoffrey Métais، توسعهدهنده اصلی Android VideoLAN گفت: «ما معمولاً تمایلی به تغییر ساختار یا بازنویسی کد خود نداریم، زیرا در معرض خطر از دست دادن عملکرد هستیم. ما خوشحالیم که انتقال از جاوا به کاتلین به لطف ابزار انتقال داخلی اندروید استودیو واقعاً روان بوده است و چارچوب کوروتینهای کاتلین به ما در بهبود عملکرد کمک کرد.
نتایج
VideoLAN از همان APK برای تلفن همراه، ChromeOS و Android TV استفاده میکرد، بنابراین توسعهدهنده اصلی تنها دو ماه طول کشید تا برنامه را برای هر پلتفرم بهینه کند. کاربران ماهها درخواست پشتیبانی VLC در ChromeOS داشتند، بهویژه برای پخش DVD، و تیم تاکنون بازخورد بسیار مثبتی دریافت کرده است. به علاوه، آخرین نسخه ChromeOS به طور کامل از فضای ذخیرهسازی خارجی پشتیبانی میکند، بنابراین هر کاربر Android اکنون از همین مزیت برخوردار است.
Jean-Baptiste Kempf، رئیس VideoLAN، گفت: «تیم ما همیشه در جستجوی فرصتهای جدید است تا بیشترین تأثیر را برای کاربرانمان داشته باشد. "بهینه سازی برای کروم بوک ها به ما کمک کرده است برنامه خود را در تعداد زیادی از دستگاه ها و عوامل شکل گسترش دهیم، و واضح است که ما بر اساس بازخورد کاربران در سراسر جهان به این امتیاز رسیدیم."
شروع کنید
برخی از بهترین روشها را برای بهینهسازی برنامههای خود برای ChromeOS بررسی کنید.