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 stefhan | 

Je ne connaissais pas du tout Construct, merci pour la découverte (et l'article aussi !).

avatar Mac1978 | 

Est-ce que cela ne démontre pas une fois de plus qu’Apple se fout des développeurs, tant qu’elle peut les plumer sur les AppStore ?

avatar redchou | 

@Mac1978

Mais non, Apple le dit très clairement, si t’es pas content, tu peux faire une web app ! 😆

avatar stefhan | 

@redchou

Y’a pas un problème dans votre phrase ? 😅

avatar iPop | 

@Mac1978

C’est pas qu’elle se doit mais à reléguer Safari à juste un lecteur HTML, ce qui est en soit ça première fonction.
Celui qui se fout du monde c’est le gars qui voudrait faire tourner Doom Eternal sur un éditeur de texte et qui râle que ça ne marche pas.

avatar kiddsoso | 

@iPop

Ça tourne pourtant sur des tests de grossesse

avatar jackhal | 

Doom Eternal, c’est celui de 2020. Il demande un cluster de tests de grossesse pour tourner.

avatar kiddsoso | 

@jackhal

Ah oui je ne parlais pas de celui là

avatar nhtud948 | 

@jackhal

Oh punaise tu m’as refait ma séance d’abdos !

avatar Dimemas | 

@ mac1978 :
je confirme complètement !
j'ai pas mal de soucis avec safari si bien que je suis obligé d'utilisé FF ou chrome qui grâce à ses outils me permettent de coder correctement une appli web.

Safari c'est une vraie usine à gaz, je ne compte plus les sites qui ne fonctionnent pas bien sous safari pour un non respect des standard du web.

on est loin de l'époque (sous SJ) où safari était sans cesse mis à jour pour être l'un des meilleurs navigateur.

avatar ratz | 

il est aberrant de constater le manque de reconnaissance d'Apple envers les developpeurs , alors meme que ce qui fait la force des systmes IOS et macOS est surtout (a mon sens et pr beaucoup , du moins) , la qualité des applications tierces

les applications developpees pour les systemes apple sont incroyables, non seulement les mises a jour arrivent plus tot (meme pour les applis google, exemple youtube qui a le 1080p premium sur ios depuis 2 semaines , alors qu'android toujours pas)

sans compter le nombre dapplications bien plus puissantes et elegantes ...

malgre cela ,apple les traite comme de la m****, en faisant poireauter certains devs qui attentendent l'acceptation de leur mises a jour depuis plus d'un mois

Ou encore en faisant payer une license de 100$/année pr publier une appli sur l'app store

Ou en interdisant l'achat in-app en passant par le site du dev, ceci afin de forcer un achat par lapp store, qui rapportera donc 30% a apple (ou 15, j'ai un doute) , soit 30% en moins pour le developpeur ...

avatar debione | 

@ratz:

On ne devient pas la société la plus riche au monde, avec des marges délirantes dans le secteur, sans prendre cet argent quelque part...
Si le win-win existerait, on vivrait dans un système communiste... Au mieux dans notre monde, on a un neutre-win.

avatar nhtud948 | 

@Mac1978

Clairement +10K

avatar geooooooooffrey | 

Oui il serait temps que les mises à jour des apps Apple ne soient plus liées aux mises à jour système.

Que les dernières versions des apps soient comprises dans les mises à jour des OS, pourquoi pas, mais pourquoi faut-il que l’ajout d’une fonctionnalité a l’app Musique (par exemple) passe pas une mise a jour de l’OS ?

avatar cecile_aelita | 

@geooooooooffrey

Ce qui est amusant c’est qu’ils le font déjà avec Safari sur macOS, mais pas sur iOS 🫤

avatar serenity | 

@geooooooooffrey

Pour pousser plus loin, il serait temps que macOS et iOS puissent être mis à jour morceau par morceau, de manière ultra-modulaire.

avatar occam | 

@serenity

OS X avait droit à des mises à jour piecemeal — parfois modulaires, parfois bordéliques — jusqu’au moment où Apple décida de passer au modèle « flavor of the year ».

avatar serenity | 

@occam

Un modèle essentiellement marketing.

avatar occam | 

@geooooooooffrey

« il serait temps que les mises à jour des apps Apple ne soient plus liées aux mises à jour système »

C’est une évidence.
Le problème de fond étant qu’elles n’auraient jamais dû l’être.

avatar Nephou | 

Il me semble quand même que l’équipe WebKit est assez disserte sur son blog et que des personnalités comme Jens Simmons aient rejoint l’équipe est une bonne chose quand au cheminement vers un navigateur violant au plus près et de plus en plus rapidement aux standards web.

Après peut-être que construct s’appuie sur des fonctionnalités de Safari qui ne sont pas dans WebKit mais dans ce cas je trouve ça aussi sain que de s’appuyer uniquement sur les capacités d’internet explorer en son temps…

avatar Nephou | 

@Nephou

Lire « et le fait que des personnalités comme […] »

avatar Patrick_C | 

@Nephou

Et aussi volant et pas violant 😜

avatar pat3 | 

@Nephou

"quand au cheminement vers un navigateur violant au plus près et de plus en plus rapidement aux standards web."

Et là, qu’est-ce qu’il faut lire ?

avatar Nephou | 

@pat3

Ah zut : je crois que c’était « suivant » 😅

avatar heero | 

Le nombres de fois que j’ai vu un truc cassé ou mal interprété par safari et qu’il faille attendre une update de macOS pour espérer que ce soit réparé….

avatar Dimemas | 

il y a aussi les "notifications" qui sont un trucs horripilants et qui fait littéralement planter safari quand on veut virer des adresses de notifications

avatar badoulet | 

J’ai remplacé Safari sur macOS par Opera et ne m’en porte que mieux.

avatar Gwynpl@ine | 

@daboulet,

Prends Firefox !

avatar jackhal | 

Tu fais bien. Quand des fonds d'investissement Chinois rachètent un navigateur, c'est parce qu'ils aiment Internet et veulent offrir gratuitement le meilleur navigateur à tous et toutes.
C'est ça qu'on aime, c'est ça qu'il faut soutenir.

avatar Sillage | 

@jackhal

Opera ou Firefox ? Je ne savais pas que l’un ou l’autre était passé sous le joug chinois.

avatar stefhan | 

Même étonnamment et même question...

avatar Pattedechat | 
avatar stefhan | 

@Pattedechat

En effet merci ! 🙏

avatar Sillage | 

@Pattedechat

Ah ouais. J’avais loupé ça. Merci.

avatar pat3 | 

@Pattedechat

Raison pour laquelle une bonne partie de l’équipe de développement est partie créer Vivaldi, qui fonctionne très bien d’ailleurs (c’est le navigateur Chromium que j’utilise quand je veux tester la compatibilité chrome ou quand un site ne fonctionne pas sur Firefox).

avatar ValentBay | 

@Sillage

Opéra à priori

avatar ratz | 

opera

avatar RedMak | 

Je suis pas sure que Safari et les autres app sont faites de la même façon mais Apple a un problème difficilement corrigible qui est que les nouvelles versions des framework (comme SwiftUI, CoreData, Foundation..) sont livrés avec les nouvelles versions de l’OS. Biensure il y a des avantages à ça comme alléger la taille des apps qui n’ont pas à embarquer tout les framework dans sont executable (le .ipa) (rappelez vous qu’il y a quelques années chaque app embarquait sa version de Swift ..), mais l’inconvénient est justement ce qui est expliqué dans l’article: toutes app doit attendre que les nouvelles versions des framework soit dispo dans les nouvelles versions d’OS..
Je rêve d’un monde où SwiftUI serait indépendant de l’OS et que chaque dev pourrait embarquer la dernière version de SwiftUI et rester compatible avec iOS 13 mais j’y crois pas trop 😅

avatar cecile_aelita | 

@RedMak

Ça permet de faire acheter de nouvelles machines 😉

avatar R-APPLE-R | 

J’ai Safari TP mais je n’est pas l’interface de l’image ! Comment faire pour avoir cette interface ? Elle est vraiment belle 🤩😈

avatar mat16963 | 

@R-APPLE-R

C’était celle lors des betas de Monterey, qui avait fait polémique. Alors que je te rejoins, je trouve cette interface bien plus moderne et esthétique (et le mode compact allie design et fonctionnalité)…

avatar R-APPLE-R | 

@mat16963

👍

avatar jackhal | 

Pour macOS, il y a eu du progrès. Par exemple, un Mac sous Catalina a Safari 15 comme dernière version, et Big Sur a la 16, comme Monterey et Ventura.

avatar lebaigneur | 

Pardonnez-moi, mais quand j’ai commencé à développer il y a 17 ans, c’était pareil. Soit je testais sur des machines physiques, soit sur des machines virtuelles, que je maintenais moi même.
Depuis des services ou software se sont créés, pour réduire grandement la charge et/ou automatiser les tests de bout en bout. C’est le quotidien de mes équipes.
Je trouve les retours du monsieur un peu « oin-oin » personnellement, qu’il se fasse aider ou qu’il cherche un peu, google est son ami. Oui ça serait plus facile si cela ou ceci, de la part de tous les éditeurs de plateforme du monde (Apple, Google, Microsoft, …) mais oui c’est un métier, get over it.

avatar cecile_aelita | 

@lebaigneur

Vous critiquez le développeur ? Cela pourrait sous entendre que vous défendez Apple ?😵‍💫…
Vous allez avoir des problèmes ici vous … 😳

avatar fabricepsb71 | 

@cecile_aelita

Si tu ne défends pas le groupe, tu es contre le groupe.
Raisonnement très dans la tendance actuelle

avatar cecile_aelita | 

@fabricepsb71

Du moment qu’on est contre le groupe 🤭😋

avatar Dimemas | 

@ Cecile : sauf que le monsieur plus haut parle d'une situation complètement wtf datant d'il y a presque 20 ans avec des disparités monstrueuses entre les moteurs de rendu (là ou IE6 était à chier pour parler franchement et pourtant c'était le browser majoritaire, du coup il fallait s'adapter) et la compare à aujourd'hui.

C'est clairement se foutre du monde car nous ne sommes plus du tout dans les mêmes problématiques.
Clairement Apple a un gros problème, et ne fait pas son travail !
Mais c'est toujours de la faute du méchant développeur qui est une grosse feignasse...

Moi franchement ça me fait drôlement rire de lire des conneries pareilles

avatar cecile_aelita | 

@Dimemas

« Mais c'est toujours de la faute du méchant développeur qui est une grosse feignasse… »

Autant d’habitude je suis d’accord avec vous, autant la je ne vous suis pas du tout 🫤.
Sur ce forum c’est SYSTÉMATIQUEMENT le méchant Apple qui fait du mal aux gentils petits développeurs qui veulent juste survivre 🙂.
Le monde est loin d’être tout blanc ou tout noir 🙂

avatar fte | 

@cecile_aelita

"Sur ce forum c’est SYSTÉMATIQUEMENT le méchant Apple qui fait du mal aux gentils petits développeurs qui veulent juste survivre 🙂."

Systématiquement, je ne sais pas.

Mais Apple affiche clairement des postures ethniquement critiquables. Apple n’est plus la petite entreprise hippie dans un garage, c’est un gros constructeur d’électroménager made in China.

Ce n’est absolument pas les intérêts des petits développeurs ou de tout autre professionnel qui est en tête de liste des priorités d’Apple, mais bien les intérêts d’Apple, et de ses vrais clients : les actionnaires.

Ce n’est pas sans conséquences. Et c’est critiquable. Même si c’est le jeu capitaliste que tout le monde devrait connaître, rien de surprenant au fond.

Pages

CONNEXION UTILISATEUR