Ouvrir le menu principal

MacGeneration

Recherche

Bitcode pourrait simplifier la transition vers ARM, la preuve

Nicolas Furno

lundi 20 mai 2019 à 11:25 • 15

macOS

Depuis 2015, les développeurs doivent parfois envoyer un fichier Bitcode pour publier leur app sur l’App Store. Ce fichier n’est pas une app compilée et prête à l'emploi, c’est un intermédiaire entre le code source et l’app qui contient toutes les informations nécessaires à la compilation. Bitcode est disponible sur iOS, tvOS et watchOS, et même obligatoire pour cette dernière.

Extrait du State of the Union 2015 où Apple a présenté Bitcode, symbolisé par la deuxième icône en partant de la gauche sur cette capture.

Pourquoi est-ce qu’Apple veut ce fichier intermédiaire plutôt qu’une app qu’elle peut envoyer directement aux clients de l’App Store ? Parce que ce fichier Bitcode peut servir à compiler une nouvelle version de l’app sans aucune intervention des développeurs. Concrètement, cette fonction a déjà servi au moins une fois, pour l’Apple Watch Series 4. Ce modèle sorti l’an dernier est la première montre d’Apple à intégrer un processeur 64 bits, les générations précédentes se contentaient d’un processeur 32 bits.

Pour profiter de cette transition, les apps qui tournent sur l’Apple Watch devaient être compilées en 64 bits. Sans Bitcode, les développeurs auraient dû tous soumettre une mise à jour avec une nouvelle version compilée, un processus qui prend du temps. Grâce à cette fonction, Apple a pu le faire de son côté et offrir dès le premier jour l’intégralité des apps watchOS compilées en 64 bits.

Depuis la présentation de Bitcode, on se demandait si cette fonction pourrait servir dans l’éventualité d’une transition des Mac d’Intel à ARM. Pour autant, il subsistait un doute sur la capacité d’Apple à réaliser des transitions aussi importantes sans accès au code source. Chris Lattner, le créateur de Swift, avait même indiqué dans une interview qu’un passage de x86, l’architecture Intel, à ARM était trop complexe pour ce fichier intermédiaire.

Il en faut plus pour décourager Steve Throughton-Smith, développeur et bricoleur de talent, qui s’est mis en tête de vérifier si Bitcode ne pourrait pas convenir malgré tout. Après quelques heures, il a réussi à convertir une app iOS ARM très simple en une app macOS x86 sans toucher au code source, prouvant que Bitcode pouvait suffire. En théorie, Apple pourrait ainsi « convertir » automatiquement des apps Intel en apps ARM sans intervention de leurs créateurs, mais il manque plusieurs éléments pour que ce scénario soit réalisable.

Pour commencer, il n’est pas possible d’utiliser Bitcode pour soumettre des apps sur le Mac App Store. Apple pourrait régler ce problème avec macOS 10.15 et peut-être même rendre cette fonction obligatoire pour tous les développeurs ? Quatre ans après sa présentation, Bitcode est toujours optionnel sur iOS et tvOS, mais on peut supposer que cela changera aussi un jour.

Steve Througton-Smith note aussi que la version actuelle de Bitcode n’est pas optimale pour une telle transition. D’ailleurs, son exemple se limite à un code « Hello World » très simple et ne fonctionne pas pour les apps complètes. Naturellement, c’est aussi quelque chose que la firme pourrait changer cette année en introduisant une mise à jour.

Démonstration de la transition ARM vers X86 en utilisant Bitcode, ici pour une app extrêmement simple.

Si tout va bien, Apple pourrait mettre en place cette année tout ce qu’il faut pour faciliter la transition vers ARM dans un an ou deux, comme le veulent les rumeurs. En agissant ainsi, l’entreprise pourrait éviter une annonce en amont, comme elle l’avait fait pour la transition vers Intel dans les années 2000. À cette époque, il s’agissait de prévenir tous les développeurs pour qu’ils compilent de nouvelles versions de leurs apps. Si la firme peut compiler elle-même ces versions, elle n’a plus besoin de les prévenir aussi tôt.

La démonstration de ce développeur prouve autre chose. Bitcode pourrait aussi permettre à Apple de convertir des apps iOS en apps macOS grâce à Marzipan, là encore sans intervention des développeurs. Cela ne fonctionnerait que pour les apps qui utilisent cette fonction, mais ce pourrait être une solution pour enrichir le catalogue du Mac App Store à peu de frais.

En attendant, vous pouvez jouer avec les découvertes de Steve Throughton-Smith en utilisant ce script et les instructions données sur son blog.

illustration magazine 25 ans

MacGeneration a 25 ans !

Participez à la fête et découvrez l’histoire de votre site favori en précommandant notre magazine exclusif.

Je précommande le magazine

Les étourdis qui laissent tourner les logiciels à vide ont leur nouvel outil préféré

14/11/2024 à 21:45

• 10


Les Mac M4 ne virtualisent pas macOS Monterey

14/11/2024 à 21:30

• 1


Google stoppe toute publicité politique sur ses plateformes de diffusion

14/11/2024 à 21:15

• 20


ChatGPT peut maintenant interagir avec Xcode

14/11/2024 à 20:45

• 10


Test des Mac mini M4 et M4 Pro : petits et mignons, mais costauds et économes

14/11/2024 à 20:30

• 21


Amazon brade les accessoires Magic en Lightning, avec de bonnes affaires

14/11/2024 à 17:00

• 20


Molotov TV et Picard victimes de fuites de données : protégez-vous rapidement avec Incogni 📍

14/11/2024 à 16:51


La tasse et la gourde des 25 ans de MacGeneration en images

14/11/2024 à 16:40

• 67


Prévoyez un clavier USB si vous achetez un Mac mini M4 et que vous avez de vieux périphériques Bluetooth

14/11/2024 à 16:15

• 17


Framework joue à RISC-V avec ses cartes

14/11/2024 à 15:30

• 1


Warcraft I et II reviennent, mais pas sur Mac… alors que le Macintosh avait la meilleure version

14/11/2024 à 14:00

• 27


macOS 15.1 bloque totalement certaines applications qui ne sont pas signées et notarisées

14/11/2024 à 13:00

• 63


Windows 11 ARM va améliorer l'émulation du code x86… comme Apple l'a fait avec Sequoia

14/11/2024 à 10:45

• 9


Apple annonce Final Cut Pro 11 avec de nouveaux outils améliorés par l’IA

14/11/2024 à 07:04

• 65


Découvrez les offres Black Friday 2024 sur pCloud : jusqu’à 60% de réduction ! 📍

13/11/2024 à 22:20


Faille critique sur les NAS D-Link : elle ne sera pas bouchée, changez de matériel

13/11/2024 à 21:30

• 77