Pour les développeurs d'un moteur HTML5, Safari est un enfer
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.

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.

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.

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.
Je ne connaissais pas du tout Construct, merci pour la découverte (et l'article aussi !).
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 ?
@Mac1978
Mais non, Apple le dit très clairement, si t’es pas content, tu peux faire une web app ! 😆
@redchou
Y’a pas un problème dans votre phrase ? 😅
@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.
@iPop
Ça tourne pourtant sur des tests de grossesse
Doom Eternal, c’est celui de 2020. Il demande un cluster de tests de grossesse pour tourner.
@jackhal
Ah oui je ne parlais pas de celui là
@jackhal
Oh punaise tu m’as refait ma séance d’abdos !
@ 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.
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 ...
@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.
@Mac1978
Clairement +10K
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 ?
@geooooooooffrey
Ce qui est amusant c’est qu’ils le font déjà avec Safari sur macOS, mais pas sur iOS 🫤
@geooooooooffrey
Pour pousser plus loin, il serait temps que macOS et iOS puissent être mis à jour morceau par morceau, de manière ultra-modulaire.
@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 ».
@occam
Un modèle essentiellement marketing.
@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.
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…
@Nephou
Lire « et le fait que des personnalités comme […] »
@Nephou
Et aussi volant et pas violant 😜
@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 ?
@pat3
Ah zut : je crois que c’était « suivant » 😅
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é….
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
J’ai remplacé Safari sur macOS par Opera et ne m’en porte que mieux.
@daboulet,
Prends Firefox !
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.
@jackhal
Opera ou Firefox ? Je ne savais pas que l’un ou l’autre était passé sous le joug chinois.
Même étonnamment et même question...
@stefhan
Il s'agit d'Opéra, mais ce n'est pas nouveau, ce rachat date de 2016
https://www.latribune.fr/technos-medias/internet/nouvelle-offre-chinoise-sur-le-navigateur-opera-apres-l-echec-d-une-opa-587117.html
@Pattedechat
En effet merci ! 🙏
@Pattedechat
Ah ouais. J’avais loupé ça. Merci.
@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).
@Sillage
Opéra à priori
opera
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 😅
@RedMak
Ça permet de faire acheter de nouvelles machines 😉
J’ai Safari TP mais je n’est pas l’interface de l’image ! Comment faire pour avoir cette interface ? Elle est vraiment belle 🤩😈
@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é)…
@mat16963
👍
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.
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.
@lebaigneur
Vous critiquez le développeur ? Cela pourrait sous entendre que vous défendez Apple ?😵💫…
Vous allez avoir des problèmes ici vous … 😳
@cecile_aelita
Si tu ne défends pas le groupe, tu es contre le groupe.
Raisonnement très dans la tendance actuelle
@fabricepsb71
Du moment qu’on est contre le groupe 🤭😋
@ 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
@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 🙂
@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