Nei mesi scorsi il buon Mark Gurman ci ha dato modo a più riprese di parlare del progetto “Marzipan”, ovvero un grande sforzo tecnico da parte di Apple per unificare molti elementi delle piattaforme di sviluppo tra iOS e macOS, con un singolo file binario in grado di eseguire l’app contemporaneamente su entrambi i sistemi. Tutto il discorso rientrava pure nel successivo obiettivo di passare la gamma Mac ai SoC Apple ARM, con “Marzipan” che di fatto avrebbe costituito l’avanguardia preparando anticipatamente il terreno. Le scorse ore hanno però riportato una situazione potenzialmente molto diversa, attraverso un contro-report di John Gruber su Daring Fireball.
I rapporti tra Gruber e Gurman sono tutt’altro che buoni, pertanto quanto pubblicato nelle scorse ore può risultare una sorta di vendetta del primo nei confronti del secondo. Tuttavia è anche vero come Gruber sia da più di un decennio una voce importante del mondo Apple, considerato talvolta un’estensione dei PR di Cupertino per l’accesso a prodotti ed informazioni di cui dispone. E poiché lui stesso scrive nel suo articolo che quanto ottenuto proviene sia da fonti di prima mano, ossia in Apple, che di seconda, comunque molto legate all’azienda, risultano senz’altro indiscrezioni da tenere molto in considerazione, tanto quanto quelle di Gurman.
Innanzitutto, Gruber specifica come “Marzipan” in realtà non sia più la denominazione interna del progetto in Apple. Anzi, è probabile che tale nome in codice sia stato utilizzato solo nelle primissime fasi e poi modificato quasi subito. A sostegno di tale ipotesi, Gruber sostiene che alcune delle sue fonti interne coinvolte nel progetto non l’avessero mai associato al nome “Marzipan” prima dei report di Gurman. Il vero codename risulta al momento sconosciuto, a meno che qualcuno non riesca a decodificare la stringa SHA1 in cui Gruber l’avrebbe nascosto.
SHA1 hashed prediction, filed away for future bragging rights regarding: https://t.co/iP0nXlloMY
75a61618a61e1b8a00d4276a88c5fa7f352837b7
— John Gruber (@gruber) 1 maggio 2018
È la successiva parte a svelare però che la realtà su questo progetto potrebbe essere ben diversa rispetto quella sinora nota. Non si tratterebbe infatti di una piattaforma di sviluppo completamente unica per le app, ma solo per quel che concerne le interfacce grafiche. Alla base vi sarebbe una nuova API, strutturata sulla programmazione dichiarativa, occupandosi più di descrivere il funzionamento dei singoli elementi che di stabilirne forma e posizionamento, lasciando al sistema questi compiti finali. Tale metodo si sta rapidamente diffondendo grazie alle spinte di librerie come Facebook React, menzionata da Gruber nel suo articolo ma anche ad altri progetti importanti ed ancor più ambiziosi come Google Flutter, che con l’obiettivo di sviluppare su una sola base di codice interfacce grafiche ricche e native tanto su Android quanto su iOS suonerebbe parecchio vicino ai potenziali obiettivi di Apple con un analogo progetto.
Infine, l’ultima differenza che le indiscrezioni di Gruber recano rispetto al passato riguarda le tempistiche. Afferma che quanto descritto quasi certamente non vedrà la luce in tempo per la WWDC 2018, più verosimilmente per quella del 2019. Al di là del suo dubbio sul fatto che fosse proprio in programma per quest’anno, probabilmente legato alla già citata rivalità con Gurman, si tratta di una previsione molto plausibile. Se iOS 12 e macOS 10.14 fossero davvero concentrati soprattutto sull’ottimizzazione, un progetto come questo risulterebbe, per quanto ambizioso, un po’ fuori dal coro. Meglio consolidare le fondamenta prima di rifare le mura. Inoltre, renderebbe tutto più coerente sul piano temporale con gli altri leak forniti da Gurman, su cui stavolta Gruber concorda, riguardo importanti cambiamenti estetici per iOS 13.
Detto tutto questo, e se in realtà fosse vero quanto descritto da entrambi i reporter? Più specificatamente, se fossero due progetti separati invece di uno solo? È quanto fa intuire un recente tweet dello sviluppatore Mike Rundle, che dispone a sua volta di proprie fonti e sostiene come la parte relativa alle interfacce grafiche sia stata effettivamente rinviata, ma non l’intenzione di unificare lo sviluppo delle app per iOS e macOS, che permetterebbe ad ambo i sistemi operativi di beneficiare di software sinora esclusivi di uno o dell’altro. Ciò sarebbe in contraddizione con quanto osservato poco sopra riguardo la necessità di ottimizzare prima di ristrutturare, ma del resto le sorprese possono sempre essere dietro l’angolo. Per una risposta più concreta occorrerà attendere ancora poco più di un mese, nel frattempo è probabile che negli uffici di Bloomberg qualcuno stia affilando le armi per aggiungere carne al fuoco. Sempre che, come suggerisce Rundle in un successivo tweet, Apple non stia inserendo appositamente in giro informazioni contraddittorie al fine di tarpare le ali ad ulteriori futuri leak in merito.
🧠: Marzipan isn’t the code name
🧠🧠: Marzipan is the code name, but Apple told some suspected engineers a new code name to ferret out Gruber’s sources and now they’ve all been fired— Mike Rundle (@flyosity) 1 maggio 2018
AGGIORNAMENTO: Detto fatto, ecco arrivata la prima controffensiva da Mark Gurman. Stando al suo punto di vista, quanto riportato da Gruber non è tecnicamente scorretto, ma non si riferirebbe al progetto “Marzipan” o qualsiasi sia il suo attuale nome. Sarebbe invece parte di una serie di progetti, denominati “Amber”, “Infrared” e “Ultraviolet”, curati dal team del linguaggio di programmazione Swift. Si tratterebbe di modifiche legate perlopiù agli strumenti di sviluppo come Interface Builder, parte dell’ambiente Xcode.
This initiative likely intends to replace NIB files with Swift, linked to Interface Builder, which could allow developers to declare their UIs by hand or by using the existing visual tools, much like XAML on Windows.
— Mark Gurman (@markgurman) 1 maggio 2018