per Android, iPhone, WPhone

 

Sviluppare per Maemo: prima esperienza

Postato 23 Dicembre 2009 da fgs in SoloBlog

Finalmente la mia prima creazione per Maemo 5, 100 Boxes, è pubblicamente disponibile per il download sul catalogo Maemo Extras.

A questo punto posso tracciare un piccolo bilancio della situazione per gli sviluppatori di free software per il sistema Maemo.

 

Premessa: ho un’ottima conoscenza di Linux, ma prima di questo progetto non avevo mai sviluppato usando GTK, né creato un software ex-novo gestendolo con autoconf/automake, né creato pacchetti deb.

Ecco le mie impressioni.

  •  SDK. E’ abbastanza semplice da usare, una volta compreso l’approccio. Su www.maemo.org si trovano le istruzioni per l’installazione e recentemente su Forum Nokia è stato reso disponibile anche un installer che rende l’installazione del tutto automatica. Si sente la mancanza di una soluzione matura basata su un IDE (l’integrazione con Eclipse al momento c’è ma non è del tutto liscia), però scratchbox è un ottimo tool per la cross-compilazione e la simulazione di una macchina con Maemo 5.
  • API. Sono molto ricche, essendo una collezione di librerie open source che si trovano già da anni sui sistemi Linux. In particolare ho usato GTK e Hildon per l’interfaccia grafica, curl per le connessioni HTTP e libxml2 di GNOME per il parsing dell’XML. Nel complesso, programmare in C per Maemo non risulta affatto complicato grazie alla potenza di queste librerie.
  • Documentazione. Le librerie, proprio grazie alla loro maturità nelle distribuzioni Linux standard, sono tutte ben documentate. Nella sezione per sviluppatori di www.maemo.org si trovano i link a tutta la documentazione necessaria. Cercando sul Web, inoltre, si trovano molti altri esempi e guide utili. La guida per gli sviluppatori Maemo disponibile sul sito www.maemo.org è un work in progress, per cui alcune sezioni sono complete e molto approfondite (splendida quella su autoconf/automake, non avevo mai trovato una guida così chiara e dettagliata), altre più sommarie.
  • Processo di controllo qualità. La community di Maemo si è data un regolamento molto rigido riguardo al controllo di qualità dei progetti open source ospitati. Questo comporta un processo per la verifica di qualità basata sia su controlli automatizzati, sia su una sorta di peer review tra i membri della community. Affinché un pacchetto possa essere reso disponibile sul catalogo pubblico del software della community, deve ricevere almeno 10 voti positivi da altrettanti membri che abbiano provato il software e verificato che risponda ai requisiti di qualità prefissati. Questo comporta che, anche a causa delle risorse umane limitate a disposizione della community, il processo che porta alla pubblicazione di un’applicazione sia piuttosto lungo. Nel mio caso, ho inviato la prima versione dell’applicazione lo scorso 6 novembre e per ben tre volte i membri della community mi hanno fatto notare dei difetti nella pacchettizzazione e documentazione del software; finalmente la quarta versione pubblicata, entrata nel processo di controllo qualità il 5 dicembre, ieri 22 dicembre ha ricevuto il 10° voto favorevole ed oggi è stato possibile pubblicarla. Come avrete capito, pur essendo oggettivamente migliorabile da alcuni punti di vista, questo processo assicura che il software del catalogo di Maemo non destabilizzi il sistema, non abbia crash frequenti, non consumi troppo la batteria e sia ben documentato, anche con chiare indicazioni su come fare per segnalare eventuali bug.
  • Maemo Garage. Su garage.maemo.org si trova il sito-incubatrice di tutti i progetti open source della community. Offre strumenti molto validi, tra cui un sistema per il tracciamento dei task, uno spazio Web per il sito del proprio progetto e un sistema di controllo versione (Subversion o Git, a scelta). Un pregio fondamentale della natura open source dei progetti è proprio poter vedere il codice scritto da altri. Così ho potuto imparare come fare determinate cose che non erano documentate a fondo, ad esempio riguardo all’uso di makefile ricorsivi o alcuni dettagli sul sistema di creazione di pacchetti deb.
  • La community. Dulcis in fundo, il vero cuore di Maemo: una community di persone appassionate, competenti e disponibili. Senza le risorse sul wiki di www.maemo.org, i progetti sul Garage, la mailing list in cui gli sviluppatori possono scambiarsi consigli, i commenti nella fase di controllo qualità, sarebbe enormemente più difficile creare del buon software per questa piattaforma. Ora che con l’N900 Maemo si sta espandendo, speriamo che sempre più persone vi si avvicinino con spirito collaborativo e costruttivo. Non occorre essere programmatori: è altrettanto prezioso il contributo di chi si dedica al controllo di qualità del software, chi segnala bug e difetti, chi traduce i programmi e la documentazione in altre lingue. L’importante è seguire le procedure messe in piedi dalla community dedicando un po’ di tempo con buona volontà.

In sostanza, è stata finora un’esperienza molto interessante ed istruttiva da diversi punti di vista. Ho tutta la volontà di continuare a sviluppare per Maemo, sia migliorando 100 Boxes sia dedicandomi a nuovi progetti.

0.00 avg. rating (0% score) – 0 votes

Autore

fgs



Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi