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 meilleures offres de la Black Week. Tout au long du mois de novembre

Partenaire


Le SSD Thunderbolt 5 d'OWC est disponible : le plus rapide du marché, mais aussi le plus cher

20/11/2024 à 21:30

• 14


Test de l’iMac 24" M4 : haut en couleur

20/11/2024 à 20:30

• 24


Promotion Black Friday de Godeal24 : Microsoft Office à - 80 %, c'est maintenant 📍

20/11/2024 à 20:22


macOS 15.2 : quatrième bêta développeur, et troisième bêta publique 🆕

20/11/2024 à 19:56

• 5


Refurb : -220 € sur le MacBook Air M3 en 16/1 To

20/11/2024 à 17:45

• 37


Aqara commercialise aussi un détecteur de fumée connecté compatible HomeKit (avec code promo 🆕)

20/11/2024 à 15:25


Apple vs DoJ : la Pomme va demander à un juge fédéral d’abandonner les poursuites

20/11/2024 à 15:09

• 49


Apple vend désormais elle-même des espaces publicitaires dans Apple News

20/11/2024 à 14:38

• 8


Beats : Erling Haaland fait de la pub à l'ancienne

20/11/2024 à 12:15

• 10


YouTube : IMG_0001 déterre de vieilles vidéos filmées à l’iPhone

20/11/2024 à 11:44

• 9


Incogni en énorme promotion pour le Black Friday, reprenez le contrôle de vos données en ligne ! 📍

20/11/2024 à 10:19


Bluesky dépasse les 20 millions de comptes, dont celui de MacGeneration

20/11/2024 à 09:45

• 83


Pinwheel, un gestionnaire de couleurs destiné aux développeurs par les créateurs d’iStat Menus

20/11/2024 à 08:00

• 9


Test des MacBook Pro M4 à M4 Max : une équipe de gros bras

19/11/2024 à 23:30

• 28


Des ruptures de câbles sous-marins très suspectes dans le nord de l'Europe

19/11/2024 à 22:15

• 77