Pour les développeurs d'un moteur HTML5, Safari est un enfer

Pierre Dandumont |

Visiblement, la façon dont Apple gère Safari énerve certains développeurs. En effet, alors que les navigateurs majeurs sont développés au fil de l'eau avec des mises à jour très régulières et des évolutions étalées dans le temps, Apple continue à travailler avec des mises à jour majeures plutôt espacées. Et pour les concepteurs de Construct, un moteur de rendu pour les jeux vidéo qui emploie le HTML5, c'est un problème.

Construct permet de créer des jeux en HTML5.

Safari est un enfer

Ashley Gullen, un des développeurs de Construct, a posté un long message assez énervé sur le sujet, lié à la sortie de Safari 16.4. Il explique qu'une mise à jour — la première bêta de Safari 16.4 — a cassé une fonction utilisée par le moteur de rendu. Et le problème, selon lui, c'est qu'il y a finalement peu de moutures intermédiaires : la version 165 de Safari Technology Preview, sortie entre la première bêta et la version finale, souffrait du même bug. Il a fallu attendre la 166 pour que le bug soit corrigé, et elle est arrivée un jour avant la publication de Safari 16.4.

L'icône de Safari Technology Preview n'a pas été imaginée par Anthony Nelzin-Santos.

Comme il l'explique, la façon de développer un peu erratique d'Apple pose du coup beaucoup de problèmes pour les personnes qui dépendent du navigateur, surtout en prenant en compte le fait que les versions de développement (Safari Technology Preview) n'existent que sur Mac.

La version de test en action (image Apple).

Il donne un autre exemple, lié lui aussi à Safari 16.4 : un bug a été découvert au dernier moment. Il ne venait pas d'Apple, mais de Google, et la correction dépendait donc in fine des développeurs de Construct. Et une question s'est posée : quand fallait-il corriger le bug ? Avec les navigateurs concurrents, la date de sortie des nouvelles versions est connue, et régulière. Une fois un bug trouvé avec la version bêta de Chrome, par exemple, les développeurs ont une bonne idée du temps dont ils disposent pour corriger le problème. Mais avec Safari, ce n'est absolument pas le cas : Apple peut sortir la mise à jour le lendemain… ou dans un mois. Et un simple bug devient donc une urgence ou — plus exactement — peut-être une urgence.

Apple traîne… et casse

Un troisième exemple donné est encore pire. Apple a ajouté une fonction avec Safari 16.4 (OffscreenCanvas), mais elle n'est pas totalement complète : certains cas précis sont absents, comme la prise en charge de WebGL. Comme l'explique le développeur, ce point n'est pas stricto sensu un problème, et le souci vient du fait qu'il a été assumé que la fonction était utilisable dans tous les cas. Mais il précise aussi qu'Apple a implémenté la fonction 4 ans et 6 mois après Google, et qu'attendre 4 ans et 9 mois pour éviter de casser l'existant en fournissant une fonctionnalité exhaustive aurait été une bonne idée.

Ce n'est pas nouveau

Il explique aussi que ce problème n'est absolument pas nouveau : dans le cas de Construct, le programme a été rendu inutilisable en partie par Safari 11.1, 11.2.2, 14, 15, 15.x (jusqu'à 15.5) et 16. Il évoque par ailleurs que certaines fonctions sont présentes sous macOS mais pas sous iOS ou iPadOS, par exemple.

Que faire ?

Ashley Gullen suggère plusieurs solutions. La première serait un peu de transparence, tant sur les corrections de bugs que sur les dates de sortie. La seconde serait de séparer le développement de Safari de celui de l'OS, et de proposer des versions de test pour iOS et iPadOS. Car en l'état, il explique que pour tester son programme avec les versions bêta de Safari, il doit aussi installer les versions bêta des différents OS. Des points qui permettraient à Safari de devenir un meilleur navigateur.

Source
Image d'ouverture : < href="https://pixabay.com/fr/illustrations/l-enfer-feu-brûlant-château-guerre-7802018/">Secoura
Tags
avatar cecile_aelita | 

@fte

« Même si c’est le jeu »

Voilà 🙂, totalement d’accord avec vous 🙂.

avatar Dimemas | 

@cecile : c'est énorme, mais là à ta place, je ne dirais rien, tu parle d'un sujet qui te dépasse complètement et on est pas dans la gueguerre entre 2 mondes, on parle de dev et des difficultés à avoir un rendu équivalent qui devrait pourtant être assuré par le respect des règles du web

mention spéciale à ta réponse au message de fte, on dirait que tu n'as pas compris son message ^^

bref

avatar cecile_aelita | 

@Dimemas

Vous avez probablement raison. Je ne fais que donner mon avis 🙂.

Mais en même temps, si il fallait supprimer tous les commentaires gens qui parlent de sujets qui les dépassent … autant retirer la section commentaires 😅… parce que cela correspond environ à 99,9999999999999999% des commentaires 😋.

avatar fte | 

@cecile_aelita

Je suis vexé. T’as gagné. Je boude.

avatar lebaigneur | 

Le monsieur continue de développer pour de multiples plateformes, et il indique qu’il y a des solutions/réponses élégantes, efficaces, possibles aux problèmes remontés à l’origine.

Google c’est pas plus facile ou mieux qu’Apple, les APIs de la maison sur workspace ou GCP, on te les change sans aucun préavis ou indications, et du tout au tout. Donc un matin tu arrives, toute ta prod est cassée, les utilisateurs/clients sont dans la panade, et c’est tout à reprendre en rush. Ben oui c’est nul aussi.
Des exemples comme ça et plus récents, il y en a partout.
J’aurais presque tendance à dire que Microsoft est presque le plus attentionné aux développeurs, à son écosystème et à la compatibilité ascendante. Comme ça je me mettrais encore plus de monde à dos dans cette chaîne de commentaire.

Sinon si vous voulez être moins soumis au sujet de plateforme, il y a toujours le Java, l’électron, fluttr… là aussi je vais me faire de potes.

Je ne saisis pas pourquoi tous ces échanges doivent finir en polarisation, et clivages, en clash comme dirait les jeunes. Je ne pensais pas mon post si inflammatoire. Je remontais un avis qui n’existait pas dans les commentaires précédents.

Ah well, sinon oui c’est pas bien Apple, tu pourrais faire mieux pour tes devs qui souffrent, notamment ceux qui sont collés aux APIs basses et hautes performances de ton navigateur. C’est dit.

avatar fte | 

@lebaigneur

"J’aurais presque tendance à dire que Microsoft est presque le plus attentionné aux développeurs, à son écosystème et à la compatibilité ascendante. Comme ça je me mettrais encore plus de monde à dos dans cette chaîne de commentaire."

C’est absolument le cas. C’est un fait vérifiable depuis plusieurs décennies.

avatar fte | 

@cecile_aelita

"Vous critiquez le développeur ? Cela pourrait sous entendre que vous défendez Apple ?😵‍💫…"

Ah ? Critiquer A signifie forcément être copain avec B ? C’est un raccourci peut-être un brin rapide non ?

Je n’ai aucun mal à trouver des points critiquables dans la posture de ce développeur. Critiquer ne veut pas dire au bûché mécréant, ça peut être constructif aussi… et tu t’en doutes, concernant Safari, j’ai encore moins de mal à trouver des critiques constructives à exprimer. Ça ne veut pas non plus dire que A et B sont les deux ses demon kings qu’un hero overpowered massacrera pour sauver le monde. Oui, j’ai regardé plusieurs isekai à la chaîne récemment.

avatar cecile_aelita | 

@fte

Ouf ça me rassure alors 🤭! J’ai eu peur un instant que vous puissiez suggérer que l’on puisse faire des compliments sur Apple 😱.
(Ça va être d’une tristesse sans nom mais je vais devoir préciser que c’est de l’humour 🤦‍♀️)

avatar fte | 

@cecile_aelita

"J’ai eu peur un instant que vous puissiez suggérer que l’on puisse faire des compliments sur Apple 😱."

C’est interdit pas la Loi. Anticonstitutionnel.

avatar cecile_aelita | 

@fte

Le plus triste c’est que pour beaucoup, ça y ressemble 😅

avatar occam | 

@lebaigneur

« Get over it » est une fonction récursive, qui s’applique également à qui l’invoque. Donc, get over it.

Sérieusement, quand on appelle à tolérer l’intolérable, on entre dans une spirale sans fin. Get over it et get used to it sont les deux injonctions les plus détestables que je connaisse.

avatar hptroll | 

@occam

“Get over it et get used to it sont les deux injonctions les plus détestables que je connaisse”
Et pourtant c’est la voie du bonheur. Ni plus ni moins. Le tout étant de faire la part des choses entre ce qu’on peut améliorer sans contrepartie (ou avec des contreparties minimes au regard du gain) et ce qu’on ne peut pas modifier sans tomber dans un autre indésirable.

avatar fte | 

@hptroll

"Et pourtant c’est la voie du bonheur."

Non. Ce n’est pas La Voie. C’est peut-être ta voie. Clairement pas ma voie.

Ma voie est de rendre autant que possible mon monde et mon environnement beau. Safari -> poubelle. Et mon monde est plus beau.

avatar hptroll | 

@fte

Il me semblait suffisamment évident qu’on était dans le domaine du philosophique et du subjectif pour ne pas le préciser.
Tu as raison. Ce n’est pas la voie. C’est ma voie.

avatar fte | 

@hptroll

"Il me semblait suffisamment évident"

Comme toutes les choses évidentes, ça va mieux en le disant.

Parlant d’énoncer une évidence, et ça ira mieux une fois dite, rien n’est évident sur internet. Il paraît en effet que la terre est plate et que le covid se transmet par la 5G.

avatar hptroll | 

@fte

Note bien que mom post ne portait absolument pas sur Safari mais sur une façon de voir le monde. C’était un simple hors sujet que m’inspirait la remarque d’occam.
Il y a une tension entre le risque d’amélioration continue (ce qui est forcément subjectif), positive, et le risque de ne plus pouvoir se satisfaire de rien.

avatar fte | 

@hptroll

"Il y a une tension entre le risque d’amélioration continue (ce qui est forcément subjectif), positive, et le risque de ne plus pouvoir se satisfaire de rien."

Tout est équilibre. Le risque de se satisfaire de tout (et donc de n’importe quoi) est tout aussi réel et tout aussi néfaste que de ne se satisfaire de rien.

Supporter l’insupportable n’est parfois pas un choix, et cela conduit à des traumatismes bien souvent. Supporter l’insupportable alors qu’on a le choix est autodestructeur, au mieux.

Pour reconnecter avec Safari, et pour la nécessaire pointe d’ironie, j’ai choisi d’éviter le traumatisme.

avatar cecile_aelita | 

@lebaigneur

Je vous avais prévenu 🤭😉

avatar misterbrown | 

@lebaigneur

Assez d’accord.
Avant c’était IE 6 qui était le problème ou Netscape.. Il y a aura toujours un problème, et des râleurs

avatar fte | 

@lebaigneur

"mais oui c’est un métier, get over it."

Un métier n’a pas besoin d’être rendu chiant par les insuffisances de corpos d’ailleurs pour rester un métier "sérieux". Je l’ai tellement entendu celle-là…

La plus commune : c’est un logiciel pro, l’interface est merdique, c’est pour les pros deal with it.

Fuck that.

Quelqu’un ne fait pas un bon job. Des logiciels pro sont merdiques en conséquence. Safari est merdique en conséquence.

Dealer avec la merde ne rend pas un professionnel sérieux. Get over it ne fait pas le professionnel. Ça fait le résigné, le misérable peut-être même. Et ça n’a aucune chance de faire changer les choses. Le merdique restera merdique si personne ne s’en débarrasse.

Dans les grandes structures dans ma région, les weberies sont aujourd’hui très souvent développées et testées sur Firefox et Chromium. Safari est ignoré. Je le regrette. Mais j’approuve également. Si assez de problèmes de compatibilité s’accumulent, si les parts de marché plongent, Apple finira peut-être par changer ses méthodes.

Exemples : Internet Explorer, Flash, l’ancien Edge… gone. For good. Safari’s next.

avatar bozzo | 

Sur le fond, je n’ai aucune compétence pour juger. Il semble que ce développeur se plaigne d’un manque de transparence ou d’un manque de rigueur des développeurs d’Apple, ce qui rendrait son travail plus difficile qu’il ne devrait.
Ce qui m’interpelle, c’est qu’on entend souvent parler de problèmes en rapport avec la position dominante d’Apple. Cela donne l’impression qu’ils font ce qu’ils veulent et que les autres n’ont qu’à suivre… s’ils le peuvent.
Cela semble avoir été le cas à propos de Premium Reseller, concernant le NFC et les transports en commun, et on peut trouver de multiples exemples.
Ne serait-ce pas la dérive naturelle d’une entreprise lorsqu’elle devient dominante sur un marché ?
Maintenant, on parle plus souvent des trains qui arrivent en retard que des autres…

avatar xDave | 

Je ne sais pas quelle techno utilise ce dev pour que ça casse si souvent mais il semble être sur un usage très spécifique.
Difficile de se faire une idée sans approfondir mais ayant pris cette vieille habitude de faire pour le moins disant, WebKit me va bien 😅.

avatar flagos | 

@xDave

Franchement non, pas besoin d'avoir un usage compliqué pour tomber sur des problèmes avec Safari. De plus en plus souvent, Safari c'est le navigateur qui coince car il interprète pas comme les autres.

J'irai quand même pas le comparer a IE6, mais les framework web étant de plus en plus compliqué, la moindre différence fait littéralement péter des câbles aux devs front end.

avatar fte | 

@flagos

"J'irai quand même pas le comparer a IE6"

Moi non plus.

Pas encore.

Soon™️.

avatar MixUnix | 

Il y a des tas de faits, ou il est démontré qu'Apple ne fait pas sérieusement son travail.
Les mises à jours buguées, alors qu'un contrôle élémentaire sur le peu de produits disponibles à tester (que devrait dire Microsoft), permettrait de les éviter.
Les applis appréciées des utilisateurs, remplacées, par des moins bonnes, sans plus de procédure , par la Firme.
L'énorme problème du Bluetooth des M1, qui ne se connecte pas correctement, toujours pas réglé ! Ce n'est quand même pas d'hier, diantre !!!
Je ne parlerai pas de la sous-qualité et l'économie des interfaces, au moment de la sortie des produits sur le marché, qualitativement et quantitativement.
Faire de la marge, ils sont les meilleurs, pour sur ! Vos clients, c'est nous, M. Apple...

avatar BingoBob | 

@MixUnix

Et le bug du changement de session qui fait planter le Mac n’est toujours pas réglé.
C’est à se cogner la tête contre les murs parfois.

avatar gasova | 

Si, si, c'est réglé, on te demande d'acheter un Mac pour chaques utilisateurs, :)

avatar Avenger | 

@ MixUnix

Il est clair qu'Apple, qui se vante de maîtriser les parties matérielles et logicielles, ne parvient pas à éviter des problèmes sérieux; que je considère comme inadmissibles venant d'une entreprise qui se positionne clairement comme une marque de prestige.

Si Apple est ce qu'elle est actuellement, c'est parce qu'elle ne possède aucune éthique. C'est en tous cas mon avis. A mes yeux, si Apple devait avoir une personnalité, ce serait celle de la perversité narcissique.

avatar Glop0606 | 

Pour avoir connu l’époque dIE6, j’espère qu’on aura jamais un monopole sur les technos internet. Cependant force est de constater que seul chromium et ses dérivés sont vraiment „universels“ et te permettent de réellement de tout faire sur les technos web.

avatar fousfous | 

@Glop0606

Bah oui parce que justement chromium a quasiment monopolisé le web. Donc au final il n'y a plus que sur chromium que ça fonctionne comme les devs abandonnent les autres navigateurs.

avatar Almux | 

@fousfous
...Ouais, et même si Chromium pompe plein d'infos persos à la mode Google, on s'en fou(fou)... on a l'habitude... 🙄

avatar pat3 | 

@Glop0606

Et pourtant, lentement mais sûrement, Google a pris cette place et s’y est bien installée, en se tenant juste sous la barre de l’accusation de monopole : j’aimerais savoir si un dev web se passe de techno Google a n’importe quel stade de développement de son site ou de ses apps web.
Je ne dis pas qu’on ne peut pas développer à la main un site ou une app, on peut toujours et on a toujours pu : mais là où Microsoft avait contraint le web à s’adapter à son seul navigateur dominant. Google a fourni un écosystème complet qui oriente vers son navigateur dès la conception même du site ou de l’app. En somme, Google a mixé les techniques d’Adobe et de Microsoft.
Je ne comprend pas qu’un développeur d’aujourd’hui puisse ne pas le voir, et ne pas voir au-delà de « ah mais Google me facilite la vie »…

avatar Glop0606 | 

C'était un peu le sens de mon propos (peut-être mal exprimé). Il y'a les enjeux au long terme que l'on pourrait presque qualifier d'idéologique: pluralité, libre concurrence, innovation, etc... et la vie de tous les jours à savoir pour le développeur le moins de boulot possible et pour l'utilisateur, "ça doit juste marcher". Dans un premier temps c'est bien sûr les enjeux court termistes qui prennent le pas mais qui sont souvent rattrapés par les problématiques des enjeux à long terme...
Après on peut quand même trouver que Chromium fait du bon boulot jusqu'à présent (Chrome est loin d'être IE6) et qu'Apple devrait faire plus s'ils veulent rester une alternative crédible. En tout cas si Chrome arrive sur iOS avec le moteur de Chromium, je pense que Safari deviendra vraiment marginal,... l'histoire se répétant.

avatar Lightman | 

"il a été assumé que la fonction était utilisable"

En français, ça ne veux rien dire. Mauvaise traduction ?

avatar pechtoc | 

Safari à tjrs été un enfer, et ça ne s'est pas amélioré.

avatar fte | 

"Des points qui permettraient à Safari de devenir un meilleur navigateur."

Rectification : devenir un moins mauvais navigateur.

Meilleur, faut pas rêver, la route est très très longue avant de dépasser le stade très médiocre.

avatar Le docteur | 

J’aurais tenu autant que possible, avec Safari, mais vu le nombre de buts rédhibitoires que j’ai essuyé ces dernières années, ça risque de ne plus durer.

avatar fte | 

C’est un fait vérifiable que Safari évolue peu et avec des secousses.

Si beaucoup d’autres navigateurs, tous les majeurs, si divers OS, là encore les majeurs, si beaucoup de logiciels d’importance, sont passés à un mode de développement continu et de releases à cycles courts, c’est sans doute qu’il y a de bonnes raisons de le faire.

Notez bien, il y a également de bonnes raisons de ne pas le faire.

Également, ce n’est pas parce qu’une majorité à tort qu’elle a raison.

Cependant dans ce cas de figure, je pense que la majorité a raison. Je ne doutes pas que l’on puisse appuyer cette hypothèse avec quelques métriques bien saignantes, tel que le temps de correction de bugs ou failles de sécurité par exemple. Une métrique ou Apple ne brille pas franchement.

Mais qu’importe, ce n’est pas mon point.

Ce que je ne comprends pas, c’est cet appel à l’indulgence face à une sous-performance aisément vérifiable d’une mégacorporation étrangère fabriquant de l’électroménager haut de gamme vendu fort cher.

Il n’y a aucune indulgence à avoir. Nada. Ils souhaitent vendre des produits haut de gamme à prix haut de gamme, soit, mais que le produit soit vraiment haut de gamme dans ce cas. Lorsque des médiocrités comme Safari sont livrées avec une étiquette haut de gamme, il n’y a aucune excuse.

avatar Kibranoz | 

Bon c'est connu je ne pense pas qu'Apple veuille supporter les applications web. En fait quand tu peut aller sur le navigateur tu n'as plus besoin d'être sur le App store et donc moins de revenu pour apple. Ceci dit cela nuit a l'utilisateur quand même car il n'a pas accès a des logiciels web qui sont disponibles pour la majorité des utilisateurs sur Windows, Linux et Android, et surtout dans le cas des outils gratuits souvent fait par des développeurs indépendants qui codent comme hobby n'iront pas se soumettre aux diktats d'Apple

Pages

CONNEXION UTILISATEUR