Java: con quale libro impararlo?

Sto leggendo “Manuale Java 7” di Claudio de Sio e “La guida completa di Java” di Helbert  Schildt. Due approcci diversi che voglio esaminare per capire con quale sistema sia meglio, più semplice apprendere Java.

Claudio De Sio è italiano, più umano, con un approccio più immediato. Schildt è rigoroso, a tratti complesso, e difficile da padroneggiare ma sicuramente da più il senso di libro di testo universitario.

Restate sintonizzati.

Rogue Legacy

Il mondo dei titoli indie è in fermento. Il motivo del loro successo? tornare indietro nel tempo, in cui la giocabilità, i concept semplici e immediati, avevano la meglio sulla grafica, ma fine a se stessa. Ormai vagare in città tutte identiche, vuoi che sia l’ultimo Battlezone, Call of Duty, non sorprende, così come non soprende annoiarsi, ritrovarsi con la solita insulso polettone rimaneggiato.

Rogue Legacy è una sorta di castlevania, con mostri variopinti, pattern di attacco differenti e molti trabocchetti. Ci si sorprende a morire dopo una manciata di secondi. Lo sbigottimento non ci abbandona dopo la seconda, terza, decima partita: si muore con una tremenda facilità. Siamo noi ad aver perso dimistichezza con le dinamiche 2D o il gioco è settato per maniaci dai riflessi felini? Niente di tutto questo: partita dopo partita, il giocatore accumula denaro da spendere per migliorare la corazza, i colpi critici e soprattutto abilitare nuove classe come quella del mago, del barbaro, ecc, ecc, che concederanno maggiore respiro senza mai abbassare la sfida. Perché Rogue Legacy è difficile quanto intrigante: ogni partita è differenza sia nella dislocazione delle stanze del castello che nelle abilità degli eroi, o sarebbe meglio dire i discendenti. Tra questi avremo paladini baldanzosi, così come vecchietti miopi (con tanto di effetto sfocatura sullo schermo). Un gioco ricco di sorprese, capace di invogliare a fare ancora quell’ultima partita.

Beyond le due anime

Cage è Cage. Può dare fastidio, lo si può amare, ma non lascia indifferenti. Tutte le opere hanno il diritto di esistere, anche solo per esaminarle, copiarle o prenderne le distanze. Heavy Rain è un titolo avvolgente, dotato di una carismatica personalità anche per via di una colonna sonora d’eccezione. E’ un film interattivo, è limitato, ma anche se con lunghe pause (dovute ad un ritmo lento) l’ho completato e mi è rimasto nel cuore. Continuo a credere che i giochi “non giocabili” siano quelli che esternino le nostre emozioni e più si avvicinino ad una vera esperienza cinematografica (sarà anche perchè non durano molto di più?).

Beyond è deludente per la trama scopiazzata da decine di b-movie, per scelte che portano a bivi prevedibili e a continui flashback che confondono, irritano il giocatore invece di conferire una personalità alla protagonista. I combattimenti, ora rallentati sono gradevoli, ma il giocatore deve barcamenarsi con la ricerca degli spot blu con cui interagire: ben poco coinvolgente, cinematografico, hype.

Un titolo che segna un passo indietro rispetto ad Heavy Rain. Non sono d’accordo con i voti alti che i recensori sbronzi e in astinenza di sesso gli conferiscono senza batter ciglio. La critica si fa criticando e Beyond pone la guancia a sonori schiaffoni.

Css reset Vs Normalize

I polyfill hanno lo scopo di uniformare il layout iniziale delle pagine web, azzerando (o quasi) i valori dei parametri css. Se si parte da una base che non è identica in nessun browser, di riflesso non si produrrà neppure un risultato identico.

I polyfill in questione cercano di azzerare il livello dei parametri personalizzati, introdotti da ciascun browser, attraverso due filosofie distinte.

CSS Reset: resetta, azzera tutti i valori degli elementi. Né più, né meno. Per alcuni sviluppatori si tratta di uno strumento un po’ troppo aggressivo.

YUI 3: reset di Yahoo è particolarmente interessante se utilizzato con il framework Pure per lo sviluppo secondo il Responsive Web design.

Normalize invece utilizza un approccio meno invasivo rispetto alla precedente soluzione. Lascia inalterata la formattazione di base, intervenendo solo su quegli elementi che modificano il layout. Attualmente è forse il polyfill più adottato: è presente in Twitter Bootstrap e HTML5 Boilerplate.

Difficile scegliere il polyfill migliore, anche se non è da escludere l’idea di crearsi un proprio metodo modificando una di queste soluzioni. Al momento io preferisco utilizzare CSS reset di Eric Meyer: partire dal basso, da una tavolozza neutra, mi da serenità.

Siti di riferimento:

Responsive web design

Dopo il fallimentare paradigma “graceful degradation” per la sua insostenibilità, visito il radicale cambiamento degli ultimi device: più schermi, maggiori risoluzioni, interfacce grafiche differenti,  si è quindi preferito mettere in risalto l’informazione che diviene il fulcro su cui costruire tutta l’infrastruttura del software per la sua divulgazione.

Secondo il paradigma “progressive enhancement” si sarebbe dovuto partire dal basso, dall’informazione per l’appunto per poi rendere il contenuto fruibile su schermi dalla maggiore grandezza e risoluzione (tablet e pc desktop).

Questo approccio culmina con la definizione del Responsive web design, un metodo che si avvale di HTML5, CSS3, Javascript per la realizzazione di layout dinamici e quindi adattabili ad ogni dispositivo, sia questo uno smartphone, un tablet o un pc desktop. Questi layout, a seconda delle media query impostate nei CSS, permettono di definire menu a scomparsa, nascondere elementi strutturali non prioritari e ridefinire font e tabelle, in modo da ottenere dei layout adeguati al contesto del dispositivo.

Poche istruzioni, conoscenze di base e si possono sviluppare delle soluzioni modulari, efficienti e libere: perchè sviluppare le app per diversi sistemi operativi, se una web app si dimostra una soluzione egregia?

Responsive Web Design: il libro

resposiveGianluca Troiani presenta un libro completo e immediato sull’utilizzo dell’HTML Responsive, ovvero capace di creare un layou adattabile al dispositivo utilizzato dall’utente. Secondo questa pratica, l’informazione viene posta al centro dello sviluppo, senza limitazioni: è il dispositivo, in base alla grandezza dello schermo, della risoluzione a dover creare un layout dinamico che non penalizzi l’accessibilità dell’informazione.

Il libro è ben scritto, scorrevole ma la sensazione che si sarebbe potuto realizzare un libro ben più “corposo”, con un maggiore sforzo, ci ha accompagnato dall’inizio alla fine della lettura. Le immagini a colori sono sempre una gradita sorpresa nel panorama dei libri informatici, ma quello su cui Apogeo non avrebbe dovuto lesinare è il numero di pagine: si vede che l’autore ha una conoscenza buona del settore, ma il libro non accenna al tema dell’accessibilità sotto il profilo del supporto alle WCAG (aspetto in parte inerente al Responsive) e al valore semantico introdotto dalla nuova revisione 5 dell’HTML. Bisogna comunque ammettere che l’argomento trattato è vastissimo a seconda del focus scelto: framework, accessibilità, HTML, semantica sono argomenti che si possono collegare al Responsive Web Design, ma il fatto che siano assenti o accennati, non può essere una critica negativa mossa a questo libro. Il libro di Troiani si rivolge, non ai profani assoluti, ma a chi, avendone le basi (HTML, CSS) vuole avere una panoramica, veloce e agile, su un argomento a loro sconosciuto.

Interessanti alcune disquisizioni sul compromesso di Florian, o sui Framework più in voga (è preso in esame soprattutto Pure), e sui problemi, non pienamente risolti legati all’uso delle immagini in contesti responsive.

In definitiva, l’intento dell’autore è raggiunto: la realizzazione di una panoramica veloce, chiara e soprattutto interessante sul tema Responsive per quegli sviluppatori che ne fossero però a digiuno. Ci sarebbe piaciuto che alcuni temi fossero trattati in maniera più esaustiva e completa per chi conosce il tema trattato, perché l’autore, lo ripetiamo, è capace.

Scheda sul sito Apogeo

Indice

Python

Apogeo nella sua linea di tascabili tratta anche l’argomento Python, uno splendido linguaggio interpretato semplice da apprendere nonostante i paradigmi OO e funzionale. E’ simile a Java, ma estendibile facilmente con estensioni sviluppate con altri linguaggi più performanti.

Marco Beri ci offre, ad un prezzo decisamente contenuto, una panoramica di questo linguaggio partendo dalle basi sino allo sviluppo di un vero e proprio progetto. Il tono con cui vengono affrontati gli argomenti è sempre molto amichevole: i primi capitoli sono molto scorrevoli per un neofita in cui viene presentato il linguaggio, si spiega come installarlo e compiere i primi passi (immancabile “Hello World!”); ma dopo la spiegazione dei diversi Tipi di dati, l’autore sembra pretendere un po’ troppo da se stesso. Alcuni concetti sono appena accennati e spesso lasciano dubbi, piuttosto che certezze. E’ vero che l’informatica è rivolta a chi è curioso di apprendere utilizzando anche altre fonti, ma in questo caso, l’utilizzo del testo di Marco Beri viene meno, in quanto anche un utente smaliziato, non si troverà mai a proprio agio con la trattazione degli argomenti poco rigorosa e trattata come se l’autore fosse “di corsa”. Troppo il desiderio di illustrare le potenzialità del linguaggio, che il lettore si trova, suo malgrado, incanalato nell’angusto corridoio narrativo del Berri, da cui è pericoloso allontanarsi. Arrivare sino allo sviluppo dell’applicativo “Full House” è un vero incubo di cose non dette, e di fiducie concesse. Forse sarebbe stato il caso di essere meno pretenziosi e realizzare un libretto (di questo in fondo si tratta) più rigoroso e rassicurante per il lettore che si chiede: “e se facessi…”.

Probabilmente con un numero maggiore di pagine o, meglio, uno sviluppo su più volumi, l’autore si sarebbe potuto esprimere con maggiore disinvoltura. Allo stato attuale, nonostante il basso prezzo, ne sconsiglio l’acquisto: potrebbe farvi passare il desiderio di avvicinarvi a Python.

Consiglio la documentazione gratuita sul sito italiano dedicato a Python