
Safari serait devenu le navigateur le plus détesté sur le marché
Safari est le navigateur Web par défaut de l'iPhone, de l'iPad et de macOS, publié pour la première fois par Apple en 2003 et brièvement proposé sur Windows de 2007 à 2012. La popularité de Safari a explosé avec l'iPhone et l'iPad, et il détiendrait actuellement une part de marché d'environ 54 % de l'utilisation des navigateurs mobiles aux États-Unis. Construit à l'aide du moteur WebKit, Safari a été l'un des premiers navigateurs Web à prendre en charge la nouvelle norme HTML 5. Il a également été l'un des premiers navigateurs à désactiver la prise en charge d'Adobe Flash par défaut, les versions mobiles de Safari n'ayant jamais pris en charge Flash.
Seulement, des développeurs pensent qu'au fil des ans, le navigateur d'Apple a énormément pris du retard sur ses concurrents au point de paraître dorénavant "merdique" et "dépassé". Tout comme comme IE 11 avant sa récente disparition, Safari serait aujourd'hui "le navigateur le plus détesté" sur le marché. En son temps, IE était détesté en raison d'un nombre important de problèmes, à savoir : des API modernes et technologies Web inexistantes ou leur prise charge tardive, des failles de sécurités pouvant conduire à des cyberattaques d'escalade de privilèges, etc. Microsoft a commencé à supprimer le support d'IE 11 en août dernier.
Le travail se poursuit et à compter du 17 août 2021, tous les applications et services Microsoft 365 ne prendront plus en charge IE 11. Dans le même ordre d'idée, Safari aurait toujours été à la traîne par rapport aux navigateurs concurrents pour ce qui est de la prise en charge des API et des fonctionnalités Web modernes. Dans un billet de blogue sur le sujet, Perry Sun, un professionnel du marketing produit pour les produits électroniques et technologiques, estime que cet état de choses pose des problèmes considérables aux développeurs désireux de créer des produits fonctionnant de manière cohérente sur tous les principaux navigateurs (Chrome, Edge, Firefox et Safari).
Mais ce n'est pas tout ; il a ajouté que l'ennui avec Safari est plus profond et plus nuancé. Voici quelques-unes des lacunes de Safari qu'il a soulignées :
Mauvaise prise en charge des applications Web progressives
Les applications Web progressives (ou PWA) sont des applications construites à l'aide de technologies Web, comme HTML, CSS et JavaScript. Mais elles ont la sensation et la fonctionnalité d'une véritable application native. En d'autres termes, une application PWA est formée d'un ensemble de technologies de navigation modernes qui, ensemble, vous permettent de créer un site dont l'apparence, la convivialité et les performances sont similaires à celles d'une application native sur votre smartphone, votre tablette ou votre ordinateur de bureau. Les PWA vous donnent les capacités suivantes :
- exécution en plein écran (aucune interface utilisateur de navigateur visible) ;
- notifications et alertes au niveau du système d'exploitation ;
- possibilité d'utiliser l'application lorsque l'appareil est hors ligne ;
- stockage et récupération des données sur l'appareil ;
- ajout d'une icône d'application sur l'écran d'accueil de votre smartphone, tablette ou PC ;
- accès aux fonctions matérielles telles que l'appareil photo, le microphone, le port USB, etc. ;
- les PWA ne nécessitent pas de compilation ni de soumission aux app stores pour approbation.
Selon Sun, Apple a traîné les pieds avant d'ajouter le support des PWA dans Safari, et lorsqu'il l'a finalement fait, il a limité les capacités des PWA de sorte que les fonctionnalités des applications natives, comme les notifications ou un raccourci de l'icône de l'écran d'accueil, ne soient pas possibles. En outre, sur iOS le seul moteur de rendu Web autorisé est WebKit d'Apple, qui fait fonctionner Safari. Les navigateurs iOS tiers, tels que Chrome, ne peuvent utiliser que WebKit, et non leurs propres moteurs (comme cela serait autorisé sous Windows, Android ou macOS). Et c'est WebKit qui régit les capacités des PWA.
Alors, est-ce la raison des limitations que s'impose Apple sur les API Web liées aux PWA ? Sun dit non et allègue que les limitations des PWA sur iOS sont liées à l'App Store d'Apple et l'argent qu'elle génère. « Il vous dira que c'est pour des raisons de confidentialité des utilisateurs, ce qui peut être valable dans certains cas. Mais la plupart d'entre nous savent que la raison principale est que des PWA entièrement compatibles feraient concurrence à l'App Store d'iOS, privant ainsi Apple d'une part de 30 % des revenus qu'il perçoit lorsqu'une application est achetée ou qu'un achat in-app est effectué », a déclaré Sun.
« Jusqu'à récemment, la controverse concernant l'arrêt de la prise en charge des PWA par Apple était relativement confinée à la communauté des développeurs Web. Mais aujourd'hui, elle a été révélée au grand public, grâce à l'affaire Epic contre Apple et à la possibilité d'actions réglementaires antitrust. Apple pourrait finalement être contraint d'étendre complètement la prise en charge des PWA ou des navigateurs iOS tiers, en guise de concession pour satisfaire les régulateurs. Nous verrons bien ce qui se passera », a-t-il ajouté. Voici quelques-unes des nombreuses restrictions imposées par Apple aux PWA sur iOS :
- les PWA ne peuvent pas accéder aux composants natifs des téléphones comme ARkit, Face ID, ou Bluetooth. Cela les empêche d'être dynamiques ;
- les PWA ne présentent pas un comportement homogène et cohérent sur plusieurs plateformes. Pour chaque plateforme, la PWA peut avoir un vocabulaire, une présentation et surtout une icône différents ;
- les PWA ont du mal à se synchroniser en arrière-plan. Alors que les applications natives se synchronisent en arrière-plan et offrent aux utilisateurs une expérience transparente, sur iOS, une PWA ne peut pas se substituer à l'application native tant qu'elle ne permet pas une synchronisation facile ;
- les PWA ont un problème particulier d'accès aux données de l'appareil. Qu'il s'agisse de votre carnet de contacts ou de la localisation actuelle – ou de toute autre donnée sensible à laquelle les applications natives peuvent accéder – c'est une véritable plaie pour les PWA sur Safari ;
- les PWA n'ont pas le droit de stocker autant de données qu'elles le souhaitent sur un dispositif Apple. L'entreprise a alloué seulement 50 Mo aux PWA. C'est la raison pour laquelle on demande aux développeurs de créer des magasins de PWA supercompacts ;
- etc.
Prise en charge tardive de WebRTC et d'autres fonctionnalités
Selon Sun, les développeurs Web se plaignent depuis longtemps de la lenteur ou de l'absence de la prise en charge des principales API Web et des fonctionnalités CSS qui sont généralement disponibles sur d'autres navigateurs. L'un des principaux exemples serait WebRTC. WebRTC est largement utilisé dans les communications vidéo et audio sur le Web. Il est également utilisé pour envoyer des fichiers et partager du contenu d'écran. Apple aurait mis des années avant d'ajouter enfin le support de WebRTC à Safari, au point où cela serait devenu une plaisanterie entre les développeurs et même les observateurs du secteur.
En outre, malgré le support désormais disponible, il semblerait que WebRTC soit plus problématique sur la version bureau de Safari que sur les autres navigateurs. Les développeurs auraient trouvé que la prise en charge de WebRTC dans iOS était un véritable casse-tête et que l'effort n'en valait pratiquement pas la peine. Sun estime également que par le passé, des critiques ont été formulées à l'encontre de Safari, qui ne prenait pas en charge le codec vidéo ouvert VP9 (développé par Google) ou le format de compression d'image WebP. Safari a ajouté le support de ces technologies...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.