Sun promette Java su iPhone: Apple approverà?

di Andrea "C. Miller" Nepori 8

javiphone.jpg

A pochi giorni dalla presentazione del SDK e del Software 2.0 per iPhone, molte software house si sono affrettate ad annunciare l’intenzione di creare applicazioni per lo über-smartphone di Cupertino. Fra le grandi compagnie che hanno sfruttato la visibilità offerta dall’annuncio di Apple troviamo anche Sun Microsystems che promette di portare sul melafonino la propria Java Virtual Machine. Cerchiamo di capire quale potrebbe essere la posizione di Apple a riguardo.

La Java VM è la macchina virtuale che interpreta i programmi Java e li interfaccia con il sistema operativo, garantendo a tali programmi l’accesso alle funzioni native del sistema. Sun ha dichiarato: “Ci assicureremo che la Java VM possa offrire alle applicazioni Java l’accesso più libero possibile alle funzionalità native di iPhone”.

La versione della VM che Sun vuole portare su iPhone è basata su Java Micro Edition e permetterà agli utenti di accedere alla nutrita libreria di applicazioni Java già esistenti. Questo almeno secondo la volontà di Java, che potrebbe però scontrarsi con le regole per lo sviluppo di applicazioni per iPhone.

Nel contratto da sottoscrivere per utilizzare il SDK si legge: “Nessun tipo di codice interpretato potrà essere scaricato e lanciato in una Applicazione fatto salvo il codice interpretato e implementato dalle Apple Published API e dall’interprete integrato[…] Un’Applicazione non potrà consentire in nessun modo di installare o lanciare codice eseguibile, nemmeno attraverso l’uso di una architettura esterna, attraverso chiamate ad altri frameworks, altre API né altrimenti.

Tradotto in parole povere significa che una Java Virtual Machine come la conosciamo oggi non potrà essere installata su iPhone, poiché contravverrebbe proprio al divieto di lanciare codice attraverso API che non siano quelle pubblicate da Apple e accessibili attraverso XCode. Si può sempre pensare che vista l’importanza di Sun, Apple decida di trovare un accordo speciale che preveda la distribuzione della applicazioni Java attraverso un sistema certificato dalla stessa Apple o che possa venire approvata una versione di Java Micro Edition ridotta e privata di alcune API. Mentre la prima ipotesi sembra piuttosto improbabile, anche perché costituirebbe un precedente ed altri produttori potrebbero pretendere di seguire la medesima strada, la seconda rappresenta lo scenario peggiore per tutti i programmatori Java. L’assenza di API Java specifiche con le quali lavorare inficerebbe totalmente l’utilità della piattaforma di Sun e per gli sviluppatori sarebbe sicuramente più semplice e proficuo scegliere di sviluppare la propria applicazione nativa attraverso XCode e Cocoa Touch.