Baker il framework IOS per realizzare libri e magazine interattivi in HTML5

Oggi vi parlo di un progetto che seguo da un pò e che ormai ha raggiunto piena maturità. Baker è un “eBook framework” scritto in Objective-c e serve a realizzare applicazioni native per iPhone e iPad come magazine, libri e cataloghi. L’attuale release è la 4.1 (non esce una nuova versione da oltre un anno ma riceve fix costanti come testimonia l’history dei commit su gitHub)  e supporta nativamente cose come Newsstand e In-App purchases.
A differenza di altre soluzioni per il publishing digitale come la DPS di Adobe o l’analoga di Acquafadas, Baker è rilasciato sotto BSD Opensource License, quindi senza costi di licenza sia per l’uso personale che commerciale.

baker-image-splash

In estrema sintesi Baker permette la creazione di pubblicazioni digitali in HTML5 secondo le specifiche HPUB (insieme di regole codificate in uno standard pensato per pubblicare  “rich content books”, l’hPub ha con molti punti di contatto con il formato ePub3) in due modi:

  • pubblicazione chiosco: questa attualmente è la modalità predefinita (e sicuramente la più interessante). Per  inserire  una o più pubblicazioni all’interno del chiosco è necessario disporre di uno spazio web, sul quale caricare i file codificati secondo le specifiche HPUB assieme ad un file denominato “shelf.json” dove specifichiamo diverse informazioni fra cui le cover delle pubblicazioni e il nome dei file. I principali vantaggi di questo approccio consistono nella possibilità di aggiornare l’applicazione senza la necessità di ripubblicarla e nel peso molto contenuto dell’app. in quanto il download del contenuto è deciso dall’utente.
  • pubblicazione singola: per utilizzare Baker in questo modo è necessario operare alcune modifiche al progetto (è sufficiente seguire un semplice tutorial) al fine di configurare correttamente il framework e disattivare la modalità Newsstand. Questa opzione era l’unica disponibile nelle precedenti release e prevede l’inserimento della pubblicazione all’interno della cartella denominata Book contenuta nel progetto. In questo caso l’applicazione sarà tuttuno con il suo contenuto condividendone peso e destino (ogni modifica obbliga la ripubblicazione dell’app.).

La struttura di un hPub

L’hpub è un semplice file compresso (come l’ePub) all’interno del quale ritroviamo una struttura molto simile a quella di un sito web. L’unico file “speciale” è “book.json” necessario per specificare  le caratteristiche della pubblicazione come il contenuto e ordine dei capitoli/sezioni della nostra pubblicazione.

Di seguito riportiamo un esempio minimale del file:





		

  • Il parametro URL ha la medesima funzione dell’ ISBN ovvero identificare la pubblicazione in modo univoco attraverso un indirizzo.
  • Il parametro contents permette di elencare le pagine o sezioni della pubblicazione e al contempo definirne l’ordine. Se non elencate una pagina qui questa non apparirà nella normale sequenza lineare che collega una pagina all’altra.

Nel wiki di supporto trovate la specificazione completa di tutti i parametri utilizzabili di particolare interesse sono i parametri che permettono di specificare l’orientamento della pubblicazione, abilitare o meno lo zoom, la paginazione verticale e il verso di lettura (normale o manga).

Estensioni e progetti paralleli

Il progetto ha una discreta community di supporto con estensioni e progetti collaterali che rappresentano il valore aggiunto di Baker. Vi riporto di seguito i più interessanti.

LAKER COMPENDIUM

Laker Compendium è nato come un fork di Baker per riconfluire nel progetto diverso tempo fa quando baker ha incluso il supporto dell’iPhone e altre caratteristiche inizialmente esclusivo appannaggio di Laker. Oggi Laker è uno “starter kit” ovvero un set di strumenti da usare per creare una pubblicazione multimediale usando Baker. Include al suo interno less framework (framework css minimale per creare layout responsivi), jQuery e jPlayer per gestire le interattività di pagina (oltre a specifici plugin utili a curare diversi aspetti dell’esperienza utente come Hyphenator e TouchSwipe). Il progetto è fermo da oltre un anno (è nato come estensione di una tesi di laurea) ma è comunque un utile punto di partenza per creare pubblicazioni digitali avanzate. Lo starter kit è ben documentato e comprende una pubblicazione di esempio davvero impressionante.

IN5

in5_logo

IN5 è un’estensione per inDesign che permette di esportare le vostre pubblicazioni in HTML5 conservando la maggior parte della formattazione. Le features del plugin non si fermano qui; in5 infatti supporta i layout fluidi e l’embedding di elementi multimediali. Il plugin genera codice di buona fattura che può essere utilizzato come base per realizzare anche con altri framework come Phonegap o Titanium.

MAGROCKET

home_image

MagRocket è un progetto giovane (è appena uscita la release 1.0) ma dalle grandi potenzialità. MagRocket è un server web di backend per Baker che ne estende le funzionalità fornendo il supporto al pagamento in-app e all’abbonamenti. La piattaforma include un’interfaccia web based per l’amministrazione dei contenuti e dispone di  API per la validazione automatica e la gestione dell’abbonamento,  per il monitoraggio dei download, per le notifiche push, per l’analisi di app ecc. . Il progetto è rilasciato sutto AGPLv3 quindi la licenza non ha costo sia per l’uso personale che commerciale.

APPVILLE MAGAZINE

Questo slideshow richiede JavaScript.

Appville magazine è un fork di Baker simile per certi versi a Laker. Non ho ancora avuto modo di provarlo ma da quello che ho potuto vedere fornisce una serie di personalizzazioni estetiche sia delle pubblicazioni (con un’apposito starter kit fornito sotto forma di esempio, oppure dietro l’acquisto di altri template da qui) che del chiosco.

Script utili

Baker è una piattaforma molto bella perchè si occupa di tutto ciò che sta “attorno” alla pubblicazione dando modo al creativo di costruire per ogni pagina un micro-sito web in HTML5. Ogni pagina infatti è ne più ne meno una webView in grado di renderizzare qualunque cosa possa essere visualizzato da Safari Mobile; le uniche limitazioni sono relativi alla gestione degli eventi legati alla pagina (per i quali vi rimando alla pagina wiki di riferimento) e agli eventi touch che, in alcune circostante, potrebbero subire delle interferenze con quelli implementati di default in baker.

Il wiki di supporto a Baker consiglia alcune librerie da impiegare nelle proprie pubblicazioni:

Io aggiungo le mie preferite:

  • hyphernator già disponibile in Laker, è possibile utilizzarlo separatamente per gestire la sillabazione dei testi;
  • magic è essenzialmente un foglio di stile in cui è codificato un set di animazioni da utilizzare nei propri siti web e pubblicazioni. Quello che lo rende particolarmente utile in questo frangente è l’utilizzo esclusivo di animazioni CSS3 (particolarmente fluide su Safari Mobile);
  • animate.css è della stessa pasta di magic. Anche in questo caso abbiamo un set di animazioni CSS3 utili e di facile implementazione;
  • lettering.js è un plugin jQuery utilissimo in tutti quei frangenti in cui si desidera avere un controllo assoluto su ciascuna lettera di un titolo. In pratica il plugin si occupa di isolare ogni lettera all’interno di uno span e applicargli una classe incrementale. Utilissimo per ottenere effetti particolari sui titoli anche in accoppiata con animate o magic.
  • jQuery UI Touch Punch è un plugin molto completo per gestire elementi di interfaccia all’interno delle pagine. Le sue principali qualità sono l’estrema leggerezza (584 byte) e la varietà di elementi d’interfaccia disponibili (10 UI element responsivi pensati per i dispositivi mobili). Particolarmente utili gli elementi trascinabili (draggable e droppable)

Rispondi

Leggi articolo precedente:
TuttoEventi un nuovo sistema di distribuzione pubblicitaria digitale

Oggi vi parlo di TuttoEventi (disponibile da poche settimane sull'app Store), un'applicazione per iPhone geniale nella sua semplicità. L'app. si propone come una piattaforma pubblicitaria...

Chiudi