Trovando la porta chiusa, Flash cerca di entrare dalla finestra

Mele e appunti

In una maniera o nell’altra, Adobe vuol fare entrare la tecnologia Flash su iPhone. È un’insistenza che fatico a comprendere, e che oltretutto può anche rivelarsi controproducente per l’azienda stessa. Ma tant’è. Non riuscendo a far sì che iPhone supporti Flash, cercano di fare il contrario, ossia di sfruttare la tecnologia Flash per creare applicazioni per iPhone. Come scriveva John Nack sul suo blog una settimana fa: Oggi ad Adobe MAX, l’azienda ha annunciato che i Flash tools saranno in grado di costruire applicazioni per iPhone che potranno essere regolarmente distribuite sull’App Store. Una versione beta di Flash Professional CS5 con questa nuova capacità dovrebbe essere rilasciata verso la fine di quest’anno. Non si tratta di file SWF di Flash, ma di applicazioni iPhone native.

Spiega Gruber, riportando la notizia: Non si tratta di un porting del runtime Flash. Non si può utilizzare per caricare contenuti Flash sul Web. Significa invece che gli sviluppatori Flash possono esportare applicazioni per iPhone native — file binari di codice ARM compilato in package con estensione .ipa — che possono poi essere inviati ad Apple attraverso il consueto processo di approvazione per l’ingresso nell’App Store. Esistono già sette applicazioni così realizzate disponibili nell’App Store (costruite grazie a versioni beta dei nuovi developer tools Flash).

La lettura delle FAQ sul sito di Adobe riguardanti la realizzazione di applicazioni per iPhone con Flash è istruttiva. Fra le altre cose si scopre, per esempio, che non è possibile utilizzare i controlli nativi di iPhone OS nelle applicazioni create con Flash. Ciò ovviamente non può che invitare alla realizzazione di un’interfaccia utente fatta di controlli arbitrari e differenti dallo standard a cui ci hanno abituato le applicazioni per iPhone costruite con metodi e strumenti canonici.

Ho aspettato alcuni giorni prima di trattare l’argomento sul mio blog più che altro per vedere se le mie reazioni istintive erano giuste. Non sono un programmatore, e mi sembrava presuntuoso scagliarmi contro Adobe mancando di informazioni. Ma le reazioni di persone che sanno il fatto proprio hanno confermato certi miei sospetti, ossia che scegliere di sviluppare applicazioni per iPhone via Flash non è proprio questa gran soluzione.

Jeff Rock (che, fra l’altro è l’autore di Tumblr per iPhone, un’ottima applicazione) scrive:

In sostanza: non è possibile compilare Actionscript 3 in un’applicazione iPhone. Adobe ha realizzato un qualche tipo di traduttore AS3 — Objective-C selettivo. Alcuni dei motivi per non usarlo:

  • Bug. È già abbastanza arduo effettuare il bug testing sull’Objective-C in forma nativa, figuriamoci attraverso una qualche scatola nera fatta da Adobe. […]
  • Gestione della memoria. Volete davvero affidarvi a un’entità di terze parti per la ritenzione e il rilascio di oggetti? Questo non è il genere di cose che è preferibile lasciare in mani altrui.
  • Cambiamenti nel SDK. Apple va avanti con il suo classico ritmo. Stare al passo con il suo SDK è fondamentale, e aspettare che Adobe (o una qualsiasi altra entità che non siate voi) si adegui ai cambiamenti non è una mossa intelligente.
  • Rottura delle HIG (Linee Guida dell’Interfaccia utente). Ho letto le FAQ e pare che non si possa accedere a UIKit. Quindi non è possibile utilizzare nessuno degli ottimi controlli messi a disposizione da Apple. Quindi siamo costretti a sorbirci qualunque pasticcio di interfaccia utente lo sviluppatore Flash di turno vuole imbastire. Vi lascio un istante per rifletterci su.
  • Capacità. Non avete a disposizione nemmeno l’intero SDK. Solo quel che Adobe ha voglia di supportare. Se vi imbarcate in un progetto e a un certo punto vi rendete conto che vi occorre l’accesso a una particolare API Apple non supportata, beh, si mette male per voi.

Tutti questi fattori si uniscono al fatto che un’entità inaffidabile [Adobe] diventa il singolo punto di errore. E prima che ce ne dimentichiamo, Adobe stessa è a malapena in grado di scrivere applicazioni in Objective-C. Stiamo ancora aspettando un aggiornamento alla Suite CS4 che le impedisca di andare in crash quando si muove il mouse troppo in fretta. Volete davvero fidarvi di loro per la gestione della vostra memoria, per la traduzione del vostro codice e nello stare al passo con il SDK di Apple?

Louis Gerbarg, dopo aver esaminato i contenuti del package .ipa di un’applicazione iPhone creata con Flash CS5 beta, scrive:

Tecnicamente parlando, pare davvero che [i contenuti] siano in linea con l’accordo dell’SDK, se si considera però il fatto che Adobe sembra effettuare chiamate ad API private. Dovrebbe essere in grado di fare ciò che le serve senza dover fare quelle chiamate, per cui alla fine questo dovrebbe essere un non-problema.

Ora, l’idea che il prodotto di questa cosa sia indistinguibile da quanto produce Xcode è risibile. Sono due risultati molto diversi, e non in senso buono. Se da un lato le applicazioni [realizzate in Flash] possono arrivare a ottenere frame rate accettabili su un iPhone 3GS, ciò non accade su hardware meno recente, e quasi certamente consumano più batteria rispetto ai giochi creati nativamente.

Insomma, a me sembra piuttosto chiaro dove il tutto stia andando a parare. Il fatto che Adobe voglia fare in modo che la prossima versione di Flash sia in grado di realizzare applicazioni per iPhone, più che una grande novità, mi sembra invece una conferma di quanto davvero Flash sia alla frutta. Per la serie: se HTML 5 gli darà il colpo di grazia sul Web, almeno lo si potrà usare per… fare qualcosa.

Adobe dovrebbe fermarsi un momento e fare quel che Apple ha fatto con Snow Leopard: ottimizzare l’esistente invece di continuare a gonfiare la Creative Suite aggiungendo funzioni di dubbia utilità e creando applicazioni sempre meno Mac e sempre meno affidabili.

The Author

Writer. Translator. Mac consultant. Enthusiast photographer. • If you like what I write, please consider supporting my writing by purchasing my short stories, Minigrooves or by making a donation. Thank you!

5 Comments

  1. A me sembra che non sia chiaro il fatto che l’opportunità di creare applicazioni native per iPhone utilizzando gli strumenti di flash non è un tentativo di portare flash su iPhone ma piuttosto la volontà (nemmeno troppo peregrina) di dare la possibilità a chi già utilizza gli strumenti di flash di creare applicazioni native per iPhone. E’ ovvio che queste applicazioni non saranno snelle e rifinite come quelle scritte usando i linguaggi nativi (sempre che lo sviluppatore sia bravo ad usarli) ma sono un opportunità in più per chi conosce flash e vuole distribuire il suo software anche su iPhone. Non è differente in fondo da Adobe air che consente appunto di creare il codice una volta e distribuirlo su tante piattaforme (web, mac, pc etc.). Ci sono applicazioni Air molto ben fatte, vedi quella del NYT, e sono altrettanto sicuro che ci saranno applicazioni iPhone fatte con flash in grado di fare il loro lavoro; immagino già l’invasione di giochini vari che certo non hanno bisogno di chissà quale ottimizzazioni ma anche questi hanno il loro diritto di esistere. Per molti sviluppatori questa è una cosa che ha perfettamente senso perchè consente di risparmiare sullo sviluppo e spesso è l’unica strada perseguibile.
    Vista in questo modo credo che le critiche di Jeff Rock non abbiamo più alcun senso… e poi parlare di Adobe come del male mi sembra un pò riduttivo. E’ un’azienda che al contrario di altre sta facendo molto per essere più aperta nei confronti dei clienti ed ora i suoi prodotti con l’introduzione della CS sono molto più economici che in passato. La prossima versione della CS sarà a 64 bit completamente scritta in Cocoa, non sò se per chi la utilizzerà significherà un’applicazione migliore (non credo che i 64 bit siano garanzia della qualità dell’applicazione), sicuramente indica la volontà di Adobe di mantenersi al passo dei tempi anche a costo di riscrivere da capo una decina delle più complesse applicazioni oggi disponibili per OS X.
    Troppa ingenuo?

  2. @Dodo
    Adobe è stata costretta a passare a Cocoa dalle scelta di Apple di non supportare i 64 bit in Carbon. Se poi Apple abbandonerà Carbon del tutto Abobe si sarebbe ritrovata in un vicolo cieco. D’altra parte se aspettavamo che Adobe aggiornasse di sua spontanea volontà la Creative Suite a Cocoa avremmo atteso degli anni. Inoltre, dopo il passaggio al nuovo linguaggio, si spera ci siano meno problemi con gli aggiornamenti di OS X (vedi le rogne che danno la CS3 e CS4). Quindi Adobe non ci sta regalando niente e sta facendo un lavoro che avrebbe dovuto fare anni fa.
    Per Flash: fai bene a fare il paragone con AIR perchè anche quella è una tecnologia che personalmente trovo molto antipatica. Le applicazioni web stanno bene in un browser, l’interfaccia utente che trovi in un sistema operativo è ben diversa e vanno seguite certe linee guida. Per non parlare del consumo di memoria elevato (150mb per un client Twitter? Ma per favore…)
    Capisco che per i programmatori Flash ed AIR diano una nuova possibilità, ma come utente preferisco avere applicazioni ottimizzate e corrette dal punto di vista delle HIG.
    E quando HTML 5 avrà preso il sopravvento su Flash io sarò più felice (ed anche il mio Mac)

  3. Da quando Adobe ha acquistato i suoi diretti rivali, eccetto per xpress che è già penoso di suo, sta procedendo verso una inesorabile involuzione dei propri applicativi.
    La mancanza di concorrenza non sta giovando alle applicazioni della CS, l’unico software che ha ricevuto delle migliorie nel tempo è InDesign, Photoshop e Illustrator sono fermi più o meno alla CS2.
    Altra pecca, ottimizzazione zero, se si pensa che i programmi della suite lavorano con combinazione da tastiera differenti tra loro per eseguire la stessa operazione.

    Un pò di autocritica non guasterebbe.

  4. Paolo says

    Insomma usando flash non posso inserire che ne sò un bottone, una lista, uno slider nessun controllo standard di iPhone Os visto che non posso chiamare l’API UIkit.
    Immagino anche niente openGL…
    Cosa posso fare allora? Tutte quelle ca@@ate che trovo sul web, giochini per passare 5 secondi, con palline che si muovono di qua e di là… tutti quei giochini flash che si trovano sul web e che non mi fanno impazzire di gioia…
    la vedo brutta per i “giochini” creati con Flash per iPhone: cittadini senza permesso di soggiorno nel paese iPhone.…

    Il più fame dei giochi Gameloft varrà miliarda volte il migliore di questi giochini deficenti.……

    Secondo me gli acquisti degli utenti daranno sicuramente una risposta negativa… aspettatevi la Grande Legge del Commercio far appassire questa str…avagante e pazzerella idea.

  5. Paolo says

    scusatemi non mi sono accorto delle innumerevoli ripetizioni “flash” , “giochini” e “web” di cui sopra…

Comments are closed.