Digital.it
QR code per la pagina originale
news_ea3aad6d9104fb9f.jpg

Apple detta le regole: è guerra con Adobe

Apple ha modificato le licenze che accompagneranno iPhone 4.0 ed ha espressamente vietato strumenti terzi di traduzione che permettano la programmazione di App senza l'utilizzo diretto dei linguaggi previsti. Porte chiuse a Flash, .Net ed altri framework

Con l’annuncio di iPhone OS 4.0 Apple ha distribuito un nuovo beta Software Developer Kit agli sviluppatori, con tanto di licence agreement rivisto in alcune parti. Con un passaggio specifico che viene subito segnalato a poche ore dal rilascio. Trattasi del capitolo 3.3.1, portato agli onori delle cronache dall’analisi di John Gruber.

Il capitolo 3.3.1 recita infatti: «Le applicazioni possono soltanto utilizzare API documentate nei modi prescritti da Apple e non possono usare o richiamare API private. Le applicazioni devono essere originariamente scritte in Objective-C, C, C++, o JavaScript ed eseguite da motore iPhone OS WebKit, e solo il codice scritto in C, C++ e Objective-C può compilare e linkare direttamente una API (ad esempio una applicazione che linka una API tramite transizione intermedia o compatibility layer è proibita)». Fuori dai tecnicismi, Apple ha semplicemente chiuso completamente la strada a Flash, sbattendo la porta ad Adobe e ricordando come l’unica programmazione abilitata sull’iPhone sia quella prevista dalle rigide regole imposte da Cupertino.

Adobe sta per rilasciare la propria Creative Suite 5, prevista al lancio per lunedì 12 Aprile, con cui contava di autorizzare gli sviluppatori alla creazione di oggetti da portare su iPhone tramite apposita tecnologia di conversione Flash-to-iPhone (basata su Low Level Virtual Machine). L’apposito “Packager for iPhone” compreso in Flash Professional CS5 poteva essere uno dei punti di forza della suite. La nuova clausola, però, è uno stop deciso: nulla di quanto scritto per Flash o .Net potrà giungere su iPhone. Una mossa strategica difensiva ed ostruzionistica: Apple, semplicemente, sta cercando di delimitare il territorio ricordando agli sviluppatori che sull’iPhone occorre produrre in modo esclusivo e dedicato, senza l’intermediazione di alcun “middleware” che tenti di farsi da traduttore per qualsivoglia applicazione nata per il web o per altre piattaforme. Adobe per ora non ha commentato, ma quella di Apple sembra essere una dichiarazione di guerra a tutto tondo e difficilmente la risposta sarà pacifica.

Niente Flash e niente Silverlight, dunque: gli unici framework abilitati su iPhone sono quelli previsti dai tecnici di Cupertino. Per gli sviluppatori, che già lamentavano negli ultimi giorni il trattamento restrittivo imposto da Apple nell’uso di API differenziate che penalizzano le applicazioni terze rispetto a quelle della casa madre, giunge ora un nuovo giro di vite. Varie le lamentele immediate: gli sviluppatori contestano il taglio netto imposto da Apple, criticano la scelta obbligata di Objective-C e definiscono quest’ultimo come un linguaggio mediocre a cui preferire possibilmente soluzioni alternative.

Difficile, però, prevedere reazioni scomposte. Apple ha in questo momento il coltello dalla parte del manico grazie ad un’offerta di invidiabile successo, grazie ad un brand di forza senza pari e grazie all’assenza di reali alternative paragonabili. Se nel lungo periodo le cose potrebbero cambiare con l’emergere di nuove forze, non è questa invece la realtà odierna: Apple ha la forza e le risorse per imporre regole proprie agli sviluppatori, ai quali allunga però la mano con una piattaforma iAd pensata appositamente per creare un nuovo flusso di entrate grazie all’advertising ed al revenue sharing.

Il capitolo 3.3.1 è pertanto un “prendere o lasciare”. La cui risposta è però, ad oggi, apparentemente obbligata. Dietro ogni rischio c’è un’occasione e davanti ad ogni giardino cintato c’è una strada libera da percorrere: Symbian, Windows Phone e Android ben sanno cosa ciò possa significare a livello di opportunità. E nel frattempo c’è chi invoca anche un intervento dall’alto: se Apple costringe gli sviluppatori ad utilizzare uno strumento unico, la FTC dovrebbe alzare le antenne e valutare se, senza richiamare le normative antitrust, l’azione possa configurare un eventuale illecito. Un punto interrogativo, insomma, che si insinua sul filo sottile tra ciò che è deprecabile e ciò che è vietato.

Se vuoi aggiornamenti su Apple detta le regole: è guerra con Adobe inserisci la tua e-mail nel box qui sotto:

  • http://www.quoridor.net Gerardo

    Sono sviluppatore iPhone (ed anche Flex e Web) e non capisco tutto questo ostruzionismo. programmare in Objective-C é bellissimo. Inoltre si può integrare facilmente qualsiasi sorgente linux in c e c .
    (Javascript non l’ho ancora usato).
    Più che altro la porta é sbattuta in faccia ai non-programmatori che necessitano un editor (flash, .NET) per scrivere le loro applicazioni che restano prodotti medio-bassi con poca qualità.

  • Simon

    eseguite da motore iPhone OS WebKit – Quindi è chiusa anche la questione con Opera

  • Simon

    Più che altro la porta é sbattuta in faccia ai non-programmatori che necessitano un editor (flash, .NET) per scrivere le loro applicazioni che restano prodotti medio-bassi con poca qualità.

    Che che che? Riesci a valutare la qualità del software dall’uso non uso di un editor? Devi essere davvero bravo allora

  • marco_63

    Se Microsoft si comportasse come Apple si scatenerebbe l’iradiddio, con decine di migliaia di post in Rete, articoli di giornale, autorità antitrust all’attacco e via dicendo… La verità è che, dietro l’aspetto “cool” dei prodotti Apple (a volte senz’altro buoni prodotti sostenuti da buone idee), si nasconde una ideologia da piccoli Ceausescu dell’informatica, terrorizzati da tutto quanto possa venire dall’esterno della cittadella fortificata. A me Objective-C fa semplicemente schifo, con tutto il rispetto possibile per chi lo usa. L’accoppiata Webkit-Javascript non ha accesso al filesystem e alle risorse di sistema quindi è estremamente limitata. Comunque questi sono solo discorsi da smanettone… Il punto vero è che Microsoft in confronto a Apple è democrazia (imperfetta certamente, come tutte) versus dittatura assoluta.

  • dab

    E si certo, tutto quello che si scrive in flash o .NET é uno schifo e di bassa qualitá fatta da non-programmatori…solo il divino Steve cosa é giusto per noi….vado dal mio capo a dirgli che non sono piú un programmatore perché non uso gli strumenti di Steve…ma per piacere…

  • marco il non-programmatore

    gerardo prima di parlare di altri linguaggi/framework dovresti conoscerli o per lo meno averli provati, cosi come ti conviene fare un grosso respiro e pensarci su prima di parlare di integrazione di codice linux, magari ti accorgi che idiozie stai dicendo

  • Jepessen

    Non c’è bisogno di provarli… Non si tratta di ragionamenti, ma di atti di fede…. le spiegazioni e giustificazioni sono inutili in questo caso

  • Osservatore

    … e Adobe smetta di fare i suoi prodotti per Mac, no? Vedi poi che marcia indietro fanno alla Apple.
    Senza Photoshop, Illustrator e Indesign per Mac, sarei curioso di vedere che faccia farebbero negli uffici della Mela!

  • Giulio

    Bah io non vedo la cosa così drammatica per Adobe, vuol dire che invece di utilizzare diciamo un “framework” e chiamate alle librerie di questo, deve arrivare a produrre codice sorgente compatibile con xcode. Il vero problema è che così facendo penso Apple obblighi a continuare ad usare un Mac per lo sviluppo.

  • Nico

    Concordo a pieno con Giulio, in piu’ vi rivelo un dato che magari per alcuni e’ ancora ignoto, se controllate su adobe labs, esiste un progetto chiamato ALCHEMY che permette l’import e l’uso di funzioni e librerie in C dentro un contesto AS3 e compilare il tutto, esiste addirittura un modo per scrivere in LUA e compilare un swf attraverso lo stesso sistema… Adobe sara’ un po’ scontento, ma la apple secondo me sta cercando di pisciare non sulla concorrenza ma su coloro che hanno reso il mac la prima scelta quando di design si parla… bah… voglio vedere che succede ora…

  • Pino

    Sto ridendo a crepapelle, ti prego, dinne altre così! :-)

  • Ratamusa

    Ci sono delle ragioni valide:sicurezza, stabilità & codice pulito.
    Niente framework o IDe generatori di schifezze

  • Pino

    @Ratamusa:
    se programmi, saprai bene che si possono fare schifezze anche usando l’API originale. Si tratta esclusivamente del fatto che stavolta Steve ha avuto paura per il suo business, tutto qui.

    Il commento [11] era rivolto a “Gerardo”.

  • Ratamusa

    @13:
    Per essere più precisi. S.Jobs ha fatto sapere che gradisce molto poco che usino le sue paittaforme per lo sviluppo di prodotti usati e venduti (il contrario, però rende meglio l’idea).
    Il commento 11 @Gerardo?Ah…Ok.

  • luglio7

    Io non capisco…. Apple ha creato l’Iphone ed ha deciso che per tutelare l’utente (le applicazioni sviluppate con un livello intermedio non hanno prestazioni ottimali) e mantenere il monopolio della piattaforma (credo sia loro diritto decidere cosa fare di un loro prodotto) si debba sviluppare esclusivamente con i suoi strumenti. Gli sviluppatori a cui la cosa non sta bene sono liberissimi di sviluppare per Android e che altro. Qual’è il problema ? Vi sta antipatica Apple ? Non compratela, non utilizzatela, non sviluppateci sopra.

    Commenti come “l’Objective C mi fa schifo” mi sembrano abbastanza fuori luogo per ovvie differenze di sintassi tra linguaggi ad alto e basso livello.

  • Nico

    @luglio7: si hai ragione, ma la cosa che ci scoccia a noi developer e’ che la “decisione” di sviluppare o meno per una piattaforma dipende dalle richieste dei clienti, cioe’, se io sviluppo un gioco per il mobile puoi star pur sicuro che il cliente dira’: “ma funziona per iphone?”… Ed ecco cosa non vuole apple, e dimmi se fa’ una piega come ragionamento: Se noi sviluppatori riusciamo a scrivere in un solo linguaggio e compilare per diversi OS e diversi supporti non dobbiamo riscrivere il gioco/app esclusivamente per l’iphone, cio’ vuol dire che per le richieste/budget/tempo che ad oggi abbiamo a disposizione, noi developer andremo a scegliere come base sviluppare sempre in flash (o .NET o js o java o quel che sia) per raggiungere piu’ dispositivi con il minimo sforzo… E secondo me e’ questo che apple non vuole, che i developer sceglino altri linguaggi, allontanandosi dal objective-c / nutrendo altri mercati/dispositivi…
    Ti posso garantire come programmatore di entrambi i linguaggi, per sviluppare su mobile/iphone (e tanto di cappello per entrambi i linguaggi) la soluzione che offriva adobe era molto, ma MOLTO appetibile… Ci rode un po’ il fatto che non e’ che apple ha tagliato le gambe ad adobe, loro se la cavano benissimo, le ha tagliate a noi developer!!!che per poter “postare” una nuova app sulla piattaforma iphone, dobbiamo accettare due righe del disclaimer che va contro i nostri interessi/richieste/budget/tempo… In pratica apple ci ha messo il coltello al collo: “io ho un dispositivo mobile figo che vende molto, ma se vuoi raggiungermi fai come ti dico io o crepa e manda a quel paese al tuo cliente”… un po’ come se la nike ti dicessi: “puoi usare le mie scarpe, ma solo se metti i lacci rossi”… poi cerca una spiegazione anche a questo: perche se voglio programmare per ipad, non ho accesso a tutte le funzionalita’ (librerie/API) che hanno i programmatori della apple? perche devo accontentarmi e fare delle app “meno fighe” pur scrivendo in objective-c? secondo me esagerano un po’… no?

  • luglio7

    @Nico
    non hai tutti i torti ma onestamente sai benissimo che lo stesso discorso può essere fatto per i sistemi operativi.
    Sviluppare su Linux è differente da sviluppare su Windows che è molto differente dallo sviluppo per osx.
    Probabilmente il tuo cliente ora per lo stesso prezzo ti commissionerà il gioco solo per una piattaforma… è un problema più suo che tuo, dato che ora la tua parcella sarà più alta ;)

  • Ratamusa

    Come ha detto qualcuno in rete, aprire allo sviluppo iphone/ipad equivarrebbe a distruggerli e a renderli schiavi degli sviluppatori più potenti perdendo le caratteristiche (tutte le caratteristiche) che li hanno resi unici,famosi per la loro unicità, richiesti e venduti.
    Presente i sistemi Windows Mobile & Desktop?
    In teoria, alla base dello sviluppo di prodotti per quel mondo, ci sarebbero delle regole di programmazione precise da seguire. Quasi nessuno le segue, nemmmeno in Microsoft che le ha scritte.
    I risultati si vedono….

  • Nico

    Ecco quanto avevo scritto ieri, pubblicato questa mattina su questo sito (grazie google): http://www.macitynet.it/macity/articolo/Jobs-Fermato-il-compiler-Flash-per-tutelare-la-piattaforma-iPhone-Os/aA43124

  • Nico
  • Ratamusa

    @Nico:

    Supoponi di avere fatto un lavoro, magari un riferimento nel suo settore.
    A te piacerebbe che tutti, tranne te, ne traessero vantaggio, che a loro andassero i profitti e a te rimenessero le spese (legati allo sviluppo di quel prodotto e dei suoi derivati, naturalmente)?

    Pensaci….
    Se la risposta è no…
    Altra domanda…Perche è a te no e alla Apple sì? Non mi sembra molto sensato….
    Se la risposta è si…
    Professionalmente, probabilmente, sei masochista o non hai capito bene come funzionano le cose, soprattutto di là dell’oceano…..
    Le altre risposte, se vene sono, le lascio a te.

  • Nico

    @Ratamusa:

    Non penso sia preoccupazione della apple il fatto di non trarre profitto dal fatto che altri compilatori possano creare app native iphone, alla fine la stessa app verra’ pubblicata nel applestore e come ben sai una fetta se la tiene apple sulle tue vendite… la preoccupazione di apple, secondo me e penso come te ben fondata, e’ che gli sviluppatori davanti alla scelta prendono la strada che li permetta di offrire di piu’ ai propri clienti (o ai propri progetti) con il minor sforzo/tempo possibile e se ci pensi questo comporterebbe un paio di cose:

    1) Sviluppatori di cocoa inizino a migrare verso altri linguaggi
    2) Sviluppatori con intenzione d’imparare cocoa cambino idea
    3) Un insieme di sviluppatori con le palle inizi a creare delle app che possano diventare o fare concorrenza alle loro app.

    Io non penso sia insensata la soluzione di apple a riguardo, invece penso e critico l’arroganza con cui strategicamente ci puntano una pistola alla testa ogni volta che per noi si apre una strada diversa per creare dei contenuti nuovi sulla loro piattaforma, rinnovo il caso delle librerie per creare app per l’ipad, perche io non ho la liberta’ (neanche a pagamento) di creare un’app con ad esempio lo zoom con le dita? io come sviluppatore mi sento un po’ preso in giro… Allora che ho imparato cocoa a fare? sono sempre posizionato un gradino sotto gli sviluppatori interni alla apple… (di nuovo, non mi sembra insensata come cosa, ma e’ molto arrogante nei confronti di chi come me, ha imparato il loro framework e la loro sintassi)