La promesse de Firefox OS

La promesse du système d’exploitation mobile libre Firefox OS réside moins dans Firefox OS lui-même que dans le parti pris Web (et ouvert) de ses applications.

C’est d’ailleurs plus qu’une promesse : c’est un défi et une nécessité si l’on souhaite conserver ici comme ailleurs l’ouverture et la liberté.

Un billet un peu technique, mais s’il peut contribuer à ce que les développeurs (et utilisateurs) d’applications mobiles se posent de bonnes questions…

La promesse de Firefox OS

The promise of Firefox OS

Sergi Mansilla – 9 février – Blog personnel
(Traduction : + anonymes)

« Mais comment va t-il faire pour battre Android ou iOS ? »

C’est la réaction qu’ont beaucoup de personnes quand je leur dis que je travaille sur Firefox OS, le nouveau système d’exploitation mobile de Mozilla. C’est une réaction logique. Après tout, nous vivons une période où toutes les grandes entreprises informatiques n’ont qu’un mot à la bouche : sortir un système mobile tout en s’efforçant d’attirer les développeurs pour qu’ils utilisent leur nouvel écosystème propriétaire, les APIS, les bibliothèques, etc. Et en effet, bon nombre de ces entreprises réussissent un peu, voire pas du tout.

Mais Firefox ne se battra pas directement contre les autres plateformes mobiles. Son objectif principal est de modifier la manière dont sont développées les applications mobiles, et même dans la triste éventualité où Firefox OS disparaîtrait durant le processus, si les web-apps devenaient dominantes sur le marché, ce sera un succès.

Le fait que n’importe quel site web puisse devenir une application ne doit pas être sous-estimé. En utilisant des technologies flexibles et populaires comme HTML5, CSS3 et javascript, Firefox OS a promu instantanément des millions de développeurs web et javascript en développeurs d’applications. Tout ce qu’ils ont à faire est de télécharger un module complémentaire de simulation gratuit (et ce n’est même pas nécessaire si votre application n’utilise pas les API des téléphones). Les développeurs connaissent déjà l’environnement du navigateur et ses outils, et il ne leur est pas nécessaire d’apprendre un nouveau langage ou une nouvelle architecture.

Je vous entends déjà. Juste quand vous veniez d’en finir avec le bazar que suppose la manipulation de DOM et de ce sournois de JavaScript. Juste quand vous aviez appris à aimer les classes et gestionnaires d’Android tellement hiérarchisés ou la magnifique méthode de nommage d’iOS, pourquoi retourneriez-vous au désordre qu’est l’écriture des applications web ? N’étions-nous pas d’accord pour dire que le HTML n’était pas, après tout, assez bien pour faire de vraies applications performantes ?

Bon, ça a peut-être été vrai il y a quelque temps, mais nous vivons désormais dans un monde meilleur. Pour que les développeurs conçoivent des applications web robustes et réellement fonctionnelles, plusieurs approches sont possibles, via des architectures de grande qualité. Chez Telenor/Comoyo, où je travaille, nous nous penchons sur l’utilisation de l’architecture AngularJS pour construire nos applications, néanmoins il existe de multiples architectures fiables et bien conçues qui s’appuient sur des années d’expérience dans le domaine du développement d’applications. Et si vous considérez que vous avez un problème avec JavaScript en tant que langage, vous pouvez d’ores et déjà utiliser une myriade de langages qui le compilent de manière fiable. Vous avez l’habitude de travailler avec Java ? Vous allez probablement apprécier Dart, de Google. Vous avez un style plus “fonctionnel” ? Pourquoi ne pas essayer ClojureScript qui est une implémentation de Clojure s’appuyant sur du JavaScript, qui est impressionnante, vraiment bien documentée et vraiment bien maintenue. Vous utilisez Ruby ? Vous vous sentirez comme à la maison avec CoffeeScript. Vous voyez ce que je veux dire[1].

Alors que d’autres constructeurs comme Blackberry fournissent eux aussi des moyens de développer des applications en HTML5 pour leurs systèmes, Mozilla va plus loin en encourageant la standardisation de la WebAPI par le W3C, garantissant ainsi que votre application fonctionnera sur n’importe quel appareil respectant le standard WebAPI.

À mon humble avis, cela rend les choses plus claires dans ce casse-tête qu’est devenu le développement pour appareils mobiles, pour lequel le développeur doit connaître plusieurs langages, architectures et APIs, sans oublier de payer des frais, dans certains cas, pour créer des applis. Cela ressemble à un grand pas en arrière de la philosophie actuelle de l’open web vers les années 90 infestées de verrous payants mais avec la bonne musique en moins.

Mozilla a fait ses preuves en tant que protecteur du web, et ses utilisateurs lui font confiance. Par le passé, l’entreprise a joué un rôle important dans l’initiation d’un mouvement pour de meilleurs standards web auquel se sont rattachés des navigateurs comme Chrome, contribuant à un web meilleur, plus rapide et plus accessible pour chacun. Nous devrions nous efforcer d’en faire de même pour ce qui est des environnements mobiles. Moins de remparts, plus de standards et d’ouverture.

Telle est la promesse faite par Firefox OS.

Crédit photo : Rob Hawkes (Creative Commons By-Sa)

Notes
[1] Après hein, ça ne vous fera pas de mal d’apprendre un peu de JS pour savoir ce qu’il y a sous le capot, parce qu’après tout, c’est un langage puissant qui le sera encore plus avec la sortie d’ES6.