VLC — это бесплатный кроссплатформенный мультимедийный проигрыватель с открытым исходным кодом, разработанный проектом VideoLAN. Полная совместимость со всеми файлами и экранами лежит в основе дизайна VLC. VLC способен воспроизводить большинство локальных видео- и аудиофайлов, а также различные протоколы потоковой передачи, а большое количество сторонних приложений используют движок VLC для управления воспроизведением видео. В конечном счете, разработчики VideoLAN хотят, чтобы пользователи могли воспроизводить все и везде — независимо от того, какое устройство или размер экрана они предпочитают.
Первоначально команда разработала приложение VLC для Android, и вскоре пользователи начали требовать аналогичных возможностей на Chromebook. Именно тогда VideoLAN увидела возможность предложить пользователям возможности настольного компьютера, внедрив VLC в ChromeOS.
Оптимизировав приложение Android для ChromeOS и экранов большего размера, а также с самого начала поддерживая x86 и 64-битный ARM, VideoLAN обеспечила пользователям VLC возможность наслаждаться одинаковым захватывающим опытом на различных устройствах и форм-факторах.
Что они сделали
Команда начала с того, что отметила, какие функции пользователи VLC предпочитают на рабочем столе, такие как ввод с помощью мыши, меню, вызываемое правой кнопкой мыши, и убедилась, что внешнее хранилище (например, жесткие диски и флэш-накопители USB) работает правильно. После этого они начали корректировать макет и функциональность приложения, чтобы пользователи могли пользоваться теми же функциями в среде, похожей на настольный компьютер.
Поддержка клавиатуры и мыши
Одной из наиболее важных оптимизаций команды была поддержка ввода с клавиатуры и мыши. Поддержка клавиатуры позволяла людям использовать сочетания клавиш и кнопки направления для легкой навигации по приложению, а ввод с помощью мыши позволял выполнять команды щелчка правой кнопкой мыши и перетаскивать файлы в проигрыватель VLC и обратно.
Динамическое изменение размера
VideoLAN разработала несколько версий макета, чтобы пользователи могли легко масштабировать и изменять размер приложения. Поскольку команда уже разработала макет VLC для планшетов, размещение более крупных и широких макетов было довольно простым процессом. Они также изменили настройки звука плеера, чтобы использовать дополнительные возможности, доступные на больших экранах.
Раньше для тестирования каждого макета команде приходилось использовать отдельные эмуляторы или отдельные устройства. Но благодаря поддержке Android для ChromeOS команда смогла протестировать макет пользовательского интерфейса для настольных компьютеров, планшетов и мобильных устройств одновременно, на одном устройстве и без необходимости использования эмулятора. Это существенно ускорило время проектирования и испытаний.
А теперь, благодаря Linux (бета-версия) на ChromeOS , разработчики могут использовать Android Studio для создания и тестирования приложений Android, создавая устройства Chromebook, готовые к разработке.
Написание кода на Котлине
Самое приятное то, что команда выполнила всю работу на Kotlin — мощном языке программирования, который помог им повысить производительность за счет написания более безопасного и лаконичного кода. Сократив кодовую базу приложения, они смогли тратить меньше времени на устранение неполадок и больше времени на оптимизацию макета и функциональности приложения.
«Обычно мы не хотим серьезно реструктурировать или переписывать наш код, потому что рискуем потерять функциональность», — сказал Джеффри Метаис, ведущий разработчик Android в VideoLAN. «Мы были рады обнаружить, что переход с Java на Kotlin прошел очень гладко благодаря встроенному в Android Studio инструменту миграции, а платформа сопрограмм Kotlin помогла нам повысить производительность».
Результаты
VideoLAN использовал один и тот же APK для мобильных устройств, ChromeOS и Android TV, поэтому ведущему разработчику потребовалось всего два месяца, чтобы оптимизировать приложение для каждой платформы. Пользователи уже несколько месяцев просили о поддержке VLC в ChromeOS, особенно для воспроизведения DVD, и на данный момент команда получила исключительно положительные отзывы. Кроме того, последняя версия ChromeOS полностью поддерживает внешнее хранилище, поэтому каждый пользователь Android теперь пользуется теми же преимуществами.
«Наша команда всегда ищет новые возможности, чтобы оказать наибольшее влияние на наших пользователей», — сказал президент VideoLAN Жан-Батист Кемпф. «Оптимизация для Chromebook помогла нам распространить наше приложение на огромное количество устройств и форм-факторов, и очевидно, что мы добились цели, основываясь на отзывах пользователей со всего мира».
Начать
Ознакомьтесь с некоторыми рекомендациями по оптимизации приложений для ChromeOS .