Newsgroup: it.tlc.cellulari
Titolo: Altro quesito su Java

Ciao a tutti!
Informandomi un pò sul web sulle ultime tecnologie in ambito di telefonia
mobile, mi sono imbattuto in un arcano mistero... :-)
In pratica, tutti i cellulari che oggi come oggi sono in grado di scaricare
del codice da Internet, memorizzarlo nella propria memoria e utilizzarlo
quando ci pare... Sono SOLO e ESCLUSIVAMENTE cellulari che supportano Java,
vero? [WAP dà un browser, ma nessuna capacità di eseguire del codice].
E poi... se così é, dovremmo pensare che i sopra citati cellulari
comprendono una JVM (Java Virtual Machine) in grado di interpretare codice
.class, come tutte le piattaforme informatiche, giusto?
Oppure  la compatibilità con Java non é propriamente totale e pertanto
funzionano solo applet java sviluppate per cellulari? E ancora, una applet
java sviluppata per cellulari girerà senza problemi su OGNI cellulare che
supporta java, oppure ci sono applet specifiche chie funzionano solo su
determinati telefoni?
Infine, un ultimo dubbio; leggendo le specifiche dei vari Nokia con display
a colori e supporto a java, ho letto che il 7210 e il 7250 hanno una
limitazione che nelle specifiche del 7650 e 3650 non c'é.
In pratica, si menziona il fatto che il 7210 e il 7250 limitino la massima
dimensione di un programma java eseguibile a 64kb... Mentre nelle specs del
7650 e del 3650 non si legge niente al riguardo...
Cosa dovremmo pensare? Che 64kb sono sufficienti a sviluppare un buon set di
programmi decenti, pertanto la limitazione é trasparente all'utente? Oppure
é una specifica osservata da tutti i cellulari java-compatibili e non se ne
dice nulla al riguardo del 7650 e del 3650 perché si sono dimenticati di
scriverlo? ;-)
Grazie ancora per le dritte! ;-)
Matteo

Dunque... belle domande!!!
Cercherò di risponderti nel migliore dei modi.
In questo momento in giro sono reperibili un sacco di nuovi cellulari con
funzionalità J2M (traduco) cioè in grado di eseguire codice java...
Per codice java non ti fare film in testa, intendo dire che riescono
ESCLUSIVAMENTE ad avviare programmi molto leggeri (per il momento) su
piattaforme portatili...
Il Browser wap (versioni 1.1 - 1.2 - 2.0) non è altro che un mini browser
per pagine con formato wml, cioè in grado di leggere solamente siti
preconfezionati x la navigazione con questi dispositivi...
Dalla versione 2.0 ha iniziato a leggere siti html molto semplici...
La java virtual machine è logico che sia compresa, ma non è quella completa,
ma semplicemente un set di istruzioni ridotte!
Per quanto riguarda la compatibilità, ricorda che un applet per essere
visualizzata su un cell deve avere delle specifiche dentro (colori /
bianco-nero - polifoniche / suonerie standard - risoluzione dello schermo)
logico che un applet sviluppata per un siemens c55 ha una risoluzione
sballata rispetto ad un nokia 7250.
Per farti un esempio ricordi per caso quei programmi x pc che giravano solo
a risoluzioni stabilite (640x480) e che quando avviavi in altre risoluzioni
davano problemi?  PIU' O MENO E' LO STESSO!!!
Buon acquisto
dapa

 sballata rispetto ad un nokia 7250.
Ok dapa, ma sai sicuramente che é possibile impostare un applet perché dia
"il meglio" a seconda della piattaforma utilizzata, e questo ogni
programmatore lo fa, anche chi si mette a scrivere in HTML... Comunque il
senso del discorso mirava a capire che c'erano programmi/giochi sviluppati
in maniera universale, e mi sembra di aver realizzato che non ce n'é! :-(
Quindi semplicemente quando troviamo un applet Java che gira su differenti
cellulari e perché qualcuno ci si é messo d'impegno e ne ha fatto un
porting... Chepppalle! :-(
Ciao Dapa e grazie per le risposte!: -)
Matteo

 porting... Chepppalle! :-(
beh, non è proprio così: J2ME (Mobile Edition, la versione delle API di 
Java per terminali mobili) è fatta chiaramente in modo da far sì che 
un'applet giri su tutti i terminali compatibili, altrimenti sarebbe 
vanificata la caratteristica principale di Java!!!
I cellulari compatibili J2ME devono avere dei requisiti minimi, 
chiaramente, però le API mettono a disposizione gli strumenti necessari per 
scrivere roba compatibile con diverse risoluzioni/colori eccetera.
Esempio stupido: nel codice, tu puoi riferirti a alcuni tasti standard 
(destra, sinistra, su, giu, opzione 1 e opzione 2), che poi la VM di un 
determinato terminale mapperà sui tasti reali. Ovviamente, a tutti i 
terminali compatibili J2ME è richiesto di avere almeno quei sei tasti...
Per quanto riguarda la risoluzione, quella minima che un terminale J2ME 
deve avere è chiaramente indicata nelle specifiche (ora non la ricordo). 
Per quanto riguarda il colore, ad es., le API consentono di creare applet 
che girino sia a colori che in B/N, e così via.
D'altra parte, un programmatore quando fa un'applicazione qualsiasi tiene 
conto che chi la usa può avere un monitor a 640x480, 800x600, 1024x768 e 
così via. Allora, se io scrivo (per dire) un word processor che gira solo a 
1024x768 l'errore è mio!
Insomma, un'applet J2ME è compatibile in teoria con ogni terminale. In 
teoria, perché poi se la VM non è pienamente compatibile oppure se il 
programmatore ha scritto l'applet magari per funzionare solo con 
determinate risoluzioni oppure se quel dato terminale non ha abbastanza 
memoria da assegnare a un'applet chiaramente sorgeranno problemi.
-- 
boosook