Le app iOS arrivano su Android con Cider

Cider

Sei studenti della Columbia University sono riusciti in una notevole impresa: far funzionare le applicazioni iOS su Android. Sono riusciti ad ottenere questo splendido risultato utilizzando un layer di compatibilità, chiamato Cider, tra le app iOS ed Android che consente di utilizzare le applicazioni del sistema operativo Apple senza emulatori o macchine virtuali e con una modesta riduzione di prestazioni.

A quanto pare, i programmatori hanno una discreta passione per gli alcolici ed un certo gusto per i giochi di parole. WINE, che è un acronimo ricorsivo che sta per WINE Is Not an Emulator, è un noto layer di compatibilità tra sistemi operativi UNIX-like (come Linux, BSD, OSX e così via) che permette di utilizzare i programmi Windows. “Wine” è anche la parola inglese per “vino” ed il logo del progetto è, infatti, un bicchiere di vino rosso. “Cider” è invece il sidro. Al momento non c’è un logo, ma sospettiamo di sapere quale sarà.

Ma cos’è un layer di compatibilità e perché conviene utilizzarlo? Si tratta, in pratica, di uno strato (traduzione letterale dell’inglese layer) che si interpone tra il sistema operativo ospite e l’applicazione che si vuole eseguire. In buona sostanza, il layer intercetta le chiamate di sistema e alle librerie dell’applicazione, le trasforma in chiamate compatibili con il sistema ospite e le inoltra a quest’ultimo.

Immaginatelo come un traduttore simultaneo: se vogliamo parlare con una persona che parla, ad esempio, cinese ma non conosciamo la lingua, possiamo assumere una persona che ci permetta di continuare a parlare italiano e contemporaneamente di riuscire a parlare con l’altra persona. Chiaramente il traduttore ha bisogno di qualche momento per tradurre tutto nella maniera corretta, quindi si ha una piccola perdita di tempo. Lo stesso avviene anche nel software (e la perdita di tempo si chiama overhead).

Cider si mette in mezzo e agisce da traduttore che traduce le chiamate in “linguaggio iOS” in “linguaggio Android” permettendo alle applicazioni di funzionare. Si tratta chiaramente di una semplificazione estrema e forse non formalmente corretta, ma aiuta a rendere l’idea.


Gli studenti della Columbia sono riusciti a creare un sistema che riduce l’overhead al minimo e permette sia di mantenere la compatibilità con gli applicativi per Android sia di eseguire applicazioni per iOS. Ecco cosa han fatto:

Presentiamo Cider, un’architettura di compatibilità tra sistemi operativi che può eseguire applicazioni compilate per ecosistemi mobili differenti, iOS o Android, insieme sullo stesso smartphone o tablet. Cider migliora il sistema operativo locale, Android, di un dispositivo con personas [identità] proprie di ogni thread gestite dal kernel che imitano l’interfaccia binaria applicativa di un sistema operativo esterno, iOS, permettendogli di eseguire binari esterni non modificati.

Si ottiene ciò usando una nuova combinazione di tecniche di compatibilità binaria inclusi due nuovi meccanismi: adattamento del codice al momento della compilazione e funzioni diplomatiche. L’adattamento del codice al momento della compilazione permette di riutilizzare codice sorgente esterno esistente sul kernel locale, riducendo lo sforzo di implementazione richiesto per supportare molteplici interfacce binarie per eseguire applicazioni locali ed esterne.

Le funzioni diplomatiche sfruttano personas per ogni thread e consentono alle applicazioni esterne di utilizzare le librerie locali per accedere ad interfacce proprietarie del software e dell’hardware. Abbiamo creato un prototipo di Cider e dimostrato che causa un overhead alle prestazioni modesto ed esegue insieme applicazioni iOS ed Android senza modifiche su un tablet Google Nexus che esegue l’ultima versione di Android.

Ogni thread ha una sua identità che, stando a quel che è possibile comprendere dalla documentazione, può essere gestita individualmente per avere la migliore configurazione possibile.

Chiaramente si tratta di un prototipo che dovrà essere rifinito e migliorato prima di poter essere realmente utilizzato. Tra le altre cose, al momento non funzionano molte delle interfacce come fotocamera, Bluetooth e GPS; questo causa dei crash nelle applicazioni se queste non sono state programmate per poter fare a meno di questi elementi.

I sei studenti continueranno a sviluppare Cider. Questo significa che fra qualche mese potremmo avere, potenzialmente, un framework più funzionante e funzionale dell’attuale per eseguire le applicazioni iOS su Android.

Via

Commenti

Ti invitiamo ad usare toni consoni e di rimanere in tema all'argomento trattato, in caso contrario, il sistema automatico potrebbe oscurare il tuo messaggio e potrebbero trascorrere fino a 48h per la verifica ed un'eventuale autorizzazione.
TuttoAndroid si riserva comunque il diritto di allontanare le persone non adatte a tenere un comportamento corretto e rispettoso verso gli altri.

  • Evangelist buonanovella

    Si ma alla fine qual’è la procedura da dover fare?

  • Valeria

    Il link dell’app?

  • Colera

    Praticamente, se non ho capito male, fa come Wine su linux :) notevole davvero :)

  • cionci

    In ogni caso serve un firmware apposito per il dispositivo

  • Morgan

    mah siii che è un emultore..ovviamente non virtualizza un sistema operativo IOS, ma di sicuro ne emula le applicazioni xD

    • Non esattamente anche se potrebbe essere considerato come emulatore cider permette la compatibilita di applicazioni ios su android mentre se lo emulasse l’applicazione funzionerebbe con delle impostazioni di ios che android non sopporterebbe.
      più o meno

      • Morgan

        x quello deve emulare, x sopportare quello che non riesce a sopportare infatti :D hai detto la stessa cosa in modo diverso due volte :D

        • No perchè l’emulatore e come se cambiasse il sistema operativo per permettergli di leggere l’app.
          invece cider e come se cambiasse l’app per renderla compatibile al sistema operativo

          • Morgan

            No ma che :D se si riuscisse a cambiare l’app allora non servirebbe cider :D cider emula la compatibilità hardware, in pratica dice all app che stà girando sù ios :D è un tramite :D

    • RF

      Semmai è più simile ad ART, dalla descrizione del funzionamento.

  • Gark121

    Quando ci sarà questa fig@ta nelle nostre mani voglio vedere i fanb0y Apple ripetere come la superiorità dello Store e bla bla bla rendano iPhone e iPad superiori alla concorrenza. LOL

  • Claudio Vittorio Carta

    Sarebbe veramente utile se riuscisse a dare una emulazione liscia e senza rallentamenti, ma la vedo ardua…. Purtroppo ci sono molti giochi specialmente i bemani della konami che si trovano solo su iOS….

  • sergio

    funziona peggio l’emulatore per nintendo

  • Ayowa

    Ragazzi quali sono i vantaggi??

  • Morgan

    La notizia più top fino ad adesso :D
    C’erano ben progetti simili un tempo (es progetto magenta), ma senza risultati concreti :D

  • Giuseppe

    Speriamo bene, ma ho paura che alla Apple faranno lo sciopero della fame e della sete pur di non far realizzare questo progetto…

    • bomdia

      morissero tutti quelli di apple che è meglio

      • Giuseppe

        Vabbè dai, non esageriamo ;)

  • filippo

    Figata assurda!!!! Complimenti!!!!

  • H4x0r

    Mi immagino quando lo saprà Apple

    • piero simo

      li pagherà il progetto con dei bei milioni e il prgetto finirà in un bel cestino…

      • H4x0r

        forse finira cosi

      • ASDAFAS

        non prima che l’apk giri su internet :) stupida apple

        • Enzo Indulgenza

          MA SE VIENE PRESENTATO COME PROGRAMMA DI STUDI NON VEDO IL PROBLEMA DOVE ESISTA………..SE POI GLI “HACKER” XD TROVANO L’APK E LO PUBBLICANO E METTONO I PASSI PER FARLO FUNZIONARE MICA è COLPA LORO NO?

    • Sid Bradipao

      Temo partirà una bella letterina di “cease and desist” con minaccia di causa legale.

      • henry_pole

        non credo, perchè comunque objective c (il linguaggio con cui sono scritte le app per iOs) non credo sia un’esclusiva Apple.
        L’unica cosa che possono dire è che dovrebbe essere illegale il modo nel quale si sono procurati gli ipa (i file apk di iOs)

    • Apple sicuramente già lo sa dato che il video risale al mese di maggio e nel frattempo il tizio che presenta il funzionamento di questo layer ha iniziato a lavorare proprio per Apple.

Top