2009-03-15 34 views
7

Sento che mentre amo J2ME e Java è ipocrita che abbiano due API per Java. Java è stato progettato pensando a "Un codice, molte piattaforme" e ora è più simile a "Una API per ogni sistema operativo e una API per tutto meno di un netbook". Vedo un sacco di emulatori J2ME e tali porting su cose come la PSP, e altre console per homebrew, e mi chiedo perché nessuno lo stia facendo con Java normale.L'ideale Java originale è morto?

Mi piacerebbe scrivere un gioco sul mio PC, piuttosto che avviare un semplice emulatore e giocare allo stesso gioco su PSP o Dreamcast, ma non posso. J2ME non può nemmeno funzionare su un PC, è necessario un emulatore per questo, che riduce notevolmente il tuo mercato. Inoltre la maggior parte degli emulatori è ingombrante e non è buona.

Con i super-telefoni come l'IPhone in uscita, le persone vorranno qualcosa di più dei piccoli giochi J2ME, quindi se Java non riesce a portare il loro JRE standard potrebbe perdere la barca come Microsoft ha fatto con il boom dei netbook .

Sembra proprio che Sun abbia bisogno di lavorare per rendere lo standard JRE più piccolo e portatile, o per rendere J2ME disponibile sul PC facilmente.

+1

Immagino che questo possa sembrare un argomento di discussione, anche se sono certamente comprensivo. –

+0

Immagino che intendiate scrivere "Vedo molti emulatori J2ME e * tali *" ma "Vedo un sacco di ... succhiare" sembra stranamente appropriato per la domanda ;-) –

+0

Haha, era un errore di battitura ed è ora riparato grazie. – William

risposta

8

credo che questo dovrebbe essere una comunità wiki

Ma al punto, la mia opinione è che J2ME sta per morire di una morte orribile e ci lasciano con la normale Java. L'attuale tendenza del netbook combinata con la tendenza dello smartphone più potente significa che il tuo cellulare medio oggi è molto più forte delle macchine che giravano J2SE quando uscì.

Quindi, possiamo sbarazzarci di J2ME, che è stato progettato per l'antica Nokias, e godetevi lo standard Java su una smart doorknob (o uno smartphone).

L'unico problema che Java deve affrontare è che il più grande player nelle applicazioni per smartphone - Apple - non permetterà una JVM in qualsiasi momento nel prossimo futuro.

+2

Apple è ancora dietro a Blackberry e Nokia in quel mercato. – cletus

+0

Che mi dici di Android? qualsiasi java su quello? –

+0

Mentre i telefoni cellulari stanno diventando più grandi, anche Java si sta ingrandendo. Direi che molte delle macchine su cui è stato lanciato Java quando sono uscite non potevano più farcela. – DJClayworth

6

Anche se il tuo monitor aveva un accelerometro, probabilmente non vorresti usarlo per un'app per iPhone - quindi direi che ci sono dei limiti alla portabilità dopo tutto.

Se "scrivere una volta, correre ovunque" è fuorviante, è perché è stato concepito prima che i telefoni cellulari diventassero prevalenti. Per quanto riguarda l'API, sono d'accordo che un sottoinsieme comune sarebbe preferibile, ma ancora una volta, l'intera nicchia J2ME è completamente nuova. La JVM è comunque utile: un browser Web può essere eseguito su Windows, Linux e OS X e un gioco può essere eseguito su entrambi i telefoni Nokia e Samsung.

L'ideale Java originale è morto?

Soddisfa ancora le esigenze originali del codice portatile dalla workstation alla workstation, quindi no. Ma sembra che tu abbia impostato una barra ancora più alta per le piattaforme future.

0

con le piattaforme più recenti mobile come Windows Mobile e Symbian, che hanno catturato l'J2ME quota di mercato, ecc hanno preso un sedile posteriore a causa di problema come non sfruttando l'hardware ecc ..

1

Ci sono molte cose che una macchina virtuale potrebbe scegliere di astrarsi.

Il sistema operativo asporta via parte dell'hardware comune, fornendo loro interfacce standard (blocco i/o, carattere i/o, ecc.).

La JVM si proponeva di astrarre il processore e il sistema operativo stesso, un potente obiettivo da solo (in quel momento)!Tuttavia, l'astrazione dell'hardware periferico era e rimarrà un obiettivo difficile da raggiungere.

Forse, quando vediamo una maggiore convergenza di portatili/laptop/desktop/server, la necessità di astrarre l'hardware diminuirà.

0

J2ME è fantastico. È possibile confezionare ed eseguire applicazioni J2ME con il sistema snello e pulito http://www.microemu.org/. Da quando ho scritto codice per J2ME, sono un programmatore migliore. Ti costringe ad essere efficiente nella memoria. Adoro la piccola API pulita. In futuro tutte le mie applicazioni client saranno progettate per J2ME e quindi trasferite su J2SE/Android/IPhone. La cosa difficile è costruire il proprio framework GUI interno abbastanza flessibile affinché l'applicazione funzioni senza problemi su qualsiasi dimensione dello schermo. Ci vuole tempo.