VLC est un lecteur multimédia multiplate-forme sans frais et Open Source développé par le projet VideoLAN. La compatibilité parfaite avec tous les types de fichiers et écrans est au cœur de la conception de VLC. Ce lecteur est capable de lire la plupart des fichiers vidéo et audio en local, ainsi que divers protocoles de streaming. De nombreuses applications tierces utilisent le moteur VLC pour lire des vidéos. À terme, les développeurs de VideoLAN souhaitent permettre aux utilisateurs de lire tous types de contenus multimédias partout où ils sont, et quels que soient l'appareil et la taille d'écran utilisés.
L'équipe a initialement conçu l'application VLC pour Android, mais les utilisateurs ont très rapidement demandé à ce qu'elle soit également disponible sur Chromebook. Les équipes VideoLAN ont donc décidé de proposer VLC sous ChromeOS afin d'offrir aux utilisateurs une expérience comparable à celle d'un ordinateur de bureau.
En optimisant l'application Android pour ChromeOS et les écrans plus grands, et en ajoutant dès le départ la compatibilité avec les architectures x86 et ARM 64 bits, les équipes du projet VideoLAN ont permis aux utilisateurs de bénéficier de la même expérience immersive sur différents appareils et facteurs de forme.
Ce qu'ils ont fait
Les équipes ont d'abord répertorié les fonctionnalités les plus appréciées des utilisateurs de VLC sur ordinateur (comme les commandes par souris et les menus contextuels). Ensuite, elles se sont assuré que les périphériques de stockage externes (comme les disques durs et les clés USB) fonctionnaient parfaitement. À partir de là, elles ont commencé à ajuster la mise en page et les fonctionnalités de l'application afin d'offrir aux utilisateurs les mêmes fonctionnalités que celles disponibles sur ordinateur.
Compatibilité avec le clavier et la souris
L'une des optimisations les plus importantes a été l'ajout des commandes par clavier et souris. Les commandes par clavier permettaient aux utilisateurs de naviguer facilement dans l'application à l'aide de raccourcis et des touches fléchées, tandis que les commandes par souris offraient la possibilité d'utiliser le clic droit et l'action glisser-déposer pour déplacer des fichiers depuis et vers le lecteur VLC.
Redimensionnement dynamique
VideoLAN a conçu plusieurs versions de la mise en page pour permettre aux utilisateurs de redimensionner facilement l'application. L'équipe ayant déjà conçu la mise en page de VLC pour les tablettes, l'adaptation à des mises en page plus grandes et plus larges a été relativement simple. Elles ont également ajusté les paramètres audio du lecteur pour exploiter l'espace supplémentaire disponible sur les écrans plus grands.
Auparavant, des émulateurs individuels ou des appareils distincts étaient nécessaires pour tester chaque mise en page. Mais, grâce à la compatibilité d'Android avec les systèmes ChromeOS, les mises en page d'interface utilisateur conçues pour les ordinateurs de bureau, les tablettes et les mobiles ont pu être testées simultanément, sur le même appareil, et sans avoir à utiliser d'émulateur. Cela a permis d'accélérer considérablement les phases de conception et de test.
Avec Linux (version bêta) sur ChromeOS, les développeurs peuvent désormais utiliser Android Studio pour créer et tester des applications Android en mode natif, ce qui fait des Chromebooks des appareils prêts pour le développement.

Écrire du code en Kotlin
Mieux encore, l'équipe a effectué tout le travail en Kotlin, un langage de programmation puissant qui l'a aidée à améliorer sa productivité en écrivant du code plus sûr et plus concis. En réduisant le codebase de l'application, ils ont passé moins de temps à essayer de résoudre des problèmes, et se sont davantage consacrés à l'optimisation de la mise en page et des fonctionnalités de l'application.
"Habituellement, nous sommes plutôt réticents à l'idée de restructurer ou de réécrire en grande partie notre code, car il existe un risque de perte de fonctionnalités." a indiqué Geoffrey Métais, lead développeur Android chez VideoLAN. "Nous avons été ravis de voir que le passage de Java à Kotlin s'est déroulé à la perfection grâce à l'outil de migration intégré d'Android Studio. De plus, le framework de coroutines de Kotlin nous a permis d'améliorer nos performances."
Résultats
Le même APK était utilisé pour les mobiles, ChromeOS et Android TV. Ainsi, il a fallu seulement deux mois au lead développeur pour optimiser l'application pour chaque plate-forme. Cela faisait des mois que les utilisateurs demandaient que le lecteur VLC soit proposé sous ChromeOS, surtout pour la lecture de DVD, et les équipes ont reçu des commentaires extrêmement positifs jusqu'à présent. En outre, la dernière version de ChromeOS accepte tous les types de périphériques de stockage externes. L'ensemble des utilisateurs bénéficie donc désormais des mêmes fonctionnalités.
"Nos équipes sont toujours à la recherche de nouvelles opportunités susceptibles d'avoir un impact majeur pour nos utilisateurs", a déclaré Jean-Baptiste Kempf, président de VideoLAN. "Grâce à l'optimisation pour Chromebook, nous avons pu proposer notre application sur un grand nombre d'appareils et de facteurs de forme, et les commentaires de nos utilisateurs du monde entier sont la preuve que nous avons atteint nos objectifs."
Commencer
Découvrez quelques bonnes pratiques pour optimiser vos applications pour ChromeOS.