Postly, Javascript e JSON

Monday, 30 April 07
Da qualche giorno e' online Postly, un piccolo servizio che abbiamo sviluppato in poche ore di lavoro io e Fabio nella sua casa a Licata, tra una granita al limone al bar di Don Cicio e varie mangiate di pesce.

Il servizio e' semplice e non e' pensato per fare business... ma per offrire uno strumento al target di Merzia per eccellenza: i blogger. Spero che si diffonda e che gli utilizzatori ci diano qualche buona idea su come migliorarlo.

C'era qualche problema che riguardava Konqueror e Safari. La causa del malfunzionamento era nella libreria MFX che utilizziamo per molte cose ormai, sviluppata da noi stessi. MFX contiene una versione minimale di conversione di oggetti Javascript in stringhe JSON. Potete vedere il codice sorgente della libreria e utilizzarla nei vostri progetti se volete considerandola sotto la licenza GPL.

Tale libreria ad un certo punto ha bisogno di controllare se un oggetto Javascript e' un Array. Usavo una tecnica stupida che sembra molto diffusa su internet che cercava la stringa Array nel nome del costrutture. In realta' la cosa piu' immediata in questo caso e' quella giusta, e la tecnica da usare e' la seguente:
o = [1,2,3];
if (o.constructor == Array) alert("L'oggetto e' un array"); 
La stessa tecnica si puo' utilizzare per gli altri oggetti in javascript, quali Date e simili. Ovviamente per i tipi base che non sono oggetti basta utilizzare typeof(). Gli Array e le Date non sono tipi base, ma specializzazioni del tipo base object per cui
typeof([]);
Ritornera' la stringa "object" e non "array". Si deve controllare che il costruttore sia quello giusto per distinguere le diverse varianti di oggetti in giro.

Json e cookies

Postli non utilizza alcun database, registra tutto quello che c'e' da salvare nei cookie dell'utente. Poiche' le informazioni da registrare erano oggetti complessi la cosa piu' comoda e' stata quella di trasformare tali oggetti in stringhe Json e scriverle nel cookie dell'utente. Un colpo di eval() permette poi di ritrasformare il contenuto del cookie nell'oggetto Javascript originale.

Json viene anche usato dal PHP per leggere il contenuto del cookie, ma negli ultimi mesi abbiamo trovato molto piu' spesso prova della sua utilita' nel contesto di salvataggio e successivo caricamento di oggetti complessi da parte di Javascript.

Comunita'

Come gia' affermato Postli e' piu' un servizio alla comunita' che altro per cui il nostro piano piu' importante e' cercare di renderlo utile: se ci sono motivi che non lo rendono gradevole per alcuni blogger o utenti saremmo felici di sentirli per cercare di rimediare. Inoltre se ci siamo dimenticati dei servizi italiani provvederemo subito ad aggiungerli, a parte Smarking che continua a sembrare piu' o meno offline (spero che lo rimettano su).
2958 views*
Posted at 13:35:19 | permalink | 8 comments | print