Programmazione.it v6.2
Ciao, per farti riconoscere devi fare il login. Non ti sei ancora iscritto? Che aspetti, registrati adesso!
Info Pubblicità Collabora Autori Sottoscrizioni Preferiti Bozze Scheda personale Privacy Archivio Libri Corsi per principianti Chat Forum
Java Micro Edition
Recensito da Pierpaolo Cira il 29-02-2008 ore 11:10
Copertina ISBN: 9788820339241
Autori: Stefano Sanna
Editore: HOEPLI Informatica
Lingua: Italiano
Anno: 2007
Pagine: XIII + 274
Allegati: nessuno
Java Micro Edition è un testo dalle grandi premesse, anche se di piccole dimensioni. Sfogliando rapidamente le pagine si ha un'impressione che viene confermata durante la lettura: i listati di codice sono scritti con un font abbastanza grande e leggibile, ci sono molte immagini e, soprattutto, la disposizione del testo è molto concentrata, quasi a non lasciare spazi nella pagina, se non i minimi margini sui bordi.

Informandosi sull'autore, Stefano Sanna, si possono trovare in Rete varie risorse e riferimenti al suo lavoro come sviluppatore, consulente e articolista, oltre al proprio blog Gerdavax in cui, tra l'altro, dedica una pagina al proprio testo, con un'introduzione ad esso, i link alle librerie in cui acquistarlo, i sorgenti da scaricare e una minuscola errata corrige.

Con queste premesse e consci di non avere tra le mani un testo per novellini, che richiede quantomeno una sufficiente esperienza di sviluppo con Java SE o con un linguaggio OOP, si può partire alle lettura degli undici capitoli, dopo una piccola introduzione al testo e al mondo ME di Java. Il primo capitolo continua dall'anteprima del mondo Java ME, andando verso una sua esposizione adeguatamente dettagliata: parla del Community process alla base ,delle specifiche vere e proprie e della Device fragmentation dovuta soprattutto alle differenti configurazioni hardware dei vari dispositivi. Si parla, infatti, anche di Configurazioni e Profili, e soprattutto del fatto che nonostante Java ME sia diventato sinonimo di "Java per cellulari"; in realtà esistono sul mercato diversi dispositivi — anche controllori — che fanno uso di questa tecnologia per la gestione dell'hardware.

E proprio a proposito di Configurazioni e Profili il secondo capitolo, Mobile Information Device Profile, mette in chiaro su cosa si baserà il testo: CLDC e MIDP. Si affrontano le differenze tra le varie versioni di MIDP e di come si possa parlare di esse riferendosi, ormai, alle MIDlet. Il tutto si conclude con una sintesi del processo di sviluppo e dei vari metodi per il deploy dell'applicazione. ”Strumenti di sviluppo”, infatti, è il titolo del terzo capitolo che, dopo aver introdotto il WTK, ci parla dei plug-in per lo sviluppo mobile nei principali ambienti di sviluppo e dei vari SDK dedicati, messi a disposizione soprattutto dai vari produttori hardware.

Dopo questi tre capitoli, che possiamo considerare meramente introduttivi, si inizia a fare sul serio con una descrizione delle tematiche e dei concetti pratici alla base delle interfacce grafiche nel quarto capitolo. Dal punto di vista puramente pratico viene esaminata la libreria lcdui con un diagramma delle classi; vengono quindi passati in rassegna tutti i componenti — dalle immagini agli elementi del form, che si poggiano sulla grafica del telefono ospite, fino alle modalità e i componenti grafici a basso livello — e gli eventi su di essi. Un ultimo paragrafo si interessa, anche con un bell'esempio, di come intercettare l'input da dispositivi touch su una Dashboard.

Il quinto capitolo affronta invece tre argomenti che, per quanto diversi possano sembrare, sono molto legati nella piattaforma in oggetto: I/O, multithreading e persistenza. Il primo concetto affrontato riguarda input e output con le relative classi, realizzato attraverso il Generic Connection Framework e alle comunicazioni seriali wired e wireless, con l'esempio di una MIDlet, che si connette ad un ricevitore GPS e calcola la posizione attuale. A tal proposito, per ottimizzare le prestazioni in fase di I/O e comunque da specifica, viene brevemente affrontata la tematica dell'esecuzione concorrente di più processi. Il tutto si conclude trattando il fondamentale discorso della persistenza dello stato o, in generale, di dati tramite il Record Management System o la più potente API opzionale FileConnection.

In copertina il testo ci suggerisce il suo tema portante: "Sviluppare applicazioni network-oriented per telefoni cellulari e PDA" e, infatti, dal sesto capitolo si iniziano ad affrontare le tematiche inerenti la connettività. Nello specifico, XML e Web Service, dopo aver discorso del parsing di file XML, parla dei WS, di come realizzarli con NetBeans e della loro connessione ad essi da parte del client Java ME mediante le WS API, standard o eventuali alternative aperte.

Il capitolo 7, Networking, continua con il discorso dei WS (questa volta REST e non più SOAP) con un bell'esempio sull'utilizzo di Stikkit, soffermandosi precedentemente sull'unica classe sicuramente disponibile con MIDP: HttpConnection del GCF. Si parla, poi, di connessioni sia su UPD che su TCP con l'esempio di una chat avente client scritto su JAVA ME e server con SE. Un ultimo paragrafo riguarda la connessione con i già trattati Sun SPOT.

L’ottavo capitolo è dedicato alla messaggistica e inizia proprio con la discussione della Wireless Messaging API 1.1 e di altre informazioni, come le porte di comunicazione riservate, con uno sguardo su come inviare e ricevere messaggi; come esempio viene realizzato un client SMS personalizzato. Si parla, inoltre, di altre API standard che permettono la realizzazione di un localizzatore GPS o l'attivazione di una MIDlet via server.

Il nono capitolo si concentra invece sul Bluetooth, uno dei punti di forza per quanto riguarda la connessione tra dispositivi. Dopo un'interessante panoramica sul protocollo e sulle possibilità offerte, si passa alla discussione delle API interessate. Si parla, poi, della scoperta di dispositivi e dei relativi servizi e di come effettuare le comunicazioni con L2CAP, RFCOMM e infine OBEX. Molto simpatico l'esempio in cui, con RFCOMM, si scrive un'applicazione Java ME in grado di pilotare gli input di un PC. Rimangono, infine, due brevi capitoli decisamente d'obbligo dopo la trattazione dei precedenti argomenti. Iniziamo con il decimo capitolo che si occupa della sicurezza: vengono esaminati i limiti e i vincoli imposti da configurazione e profilo, esaminati nel testo, affrontando le tematiche dei certificati digitali e delle Security And Trust Services API.

Il testo è concluso dall'undicesimo capitolo: in queste poche paginette vengono fornite piccole ma utili informazioni su altre API opzionali, tra alcune per il networking e quelle per il multimedia e la grafica. Molto importanti sono anche alcune tra le varie introduzioni dei capitoli che, pur se non strettamente attinenti al tema, risultano doverose; alcuni esempi li abbiamo nel sesto capitolo in si cui parla di XML, il settimo in cui si descrivono le basi del protocollo HTTP o il nono sulle specifiche del Bluetooth. Ogni capitolo è infine corredato da una serie di riferimenti utilissimi per approfondire quanto letto.

Sebbene l'autore specifichi di non voler sostituire la documentazione ufficiale e il libro si presenti come pieno di esempi pratici mirati alla comprensione degli argomenti trattati, purtroppo non è sempre così. In alcune parti del testo, infatti, la descrizione di componenti o API in generale rasenta quasi quella di una semplice documentazione tecnica (con in più alcune righe di codice), mentre in altre (quasi esclusivamente nelle prime parti del testo) gli esempi presenti, di cui ho citato i principali, non hanno una grande utilità.
proUn testo in fin dei conti chiaro e, comunque, molto utile per il fine che si era posto: riesce, infatti, a esprimere adeguatamente ogni concetto e gli esempi (come detto, tranne inizialmente) sono abbastanza ben fatti e stimolanti per il lettore.
controA volte un po' prolisso e altre sbrigativo, il vero difetto che il testo presenta è qualcosa che si sarebbe potuto molto facilmente evitare: ci sono, infatti, numerosi e fastidiosi errori di battitura, che con una revisione delle bozze non si sarebbero presentati.
Precedente: Usabilità delle icone: dieci errori da evitare (2/2)
Successiva: Apple II, il mito sopravvive
Copyright Programmazione.it™ 1999-2009. Alcuni diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002. Pagina generata in 0.736 secondi. Sito ottimizzato per Mozilla Firefox. Powered by Kyron.