Passa ai contenuti principali

Greentone Development - 0: Introduzione


Da un pò di tempo stavo pensando di scrivere una documentazione più ordinata per aiutare gli sviluppatori ad aiutare il progetto Greentone di cui sono l'unico sviluppatore e che con Davide come utilizzatore finale portiamo avanti da qualche anno. Ultimamente causa matrimoni, casa, lavoro e l'arrivo dei figli il tempo diventa sempre di meno anche se noto con piacere come alcune persone si affacciano alla porta chiedendo di poter dare una mano per il progetto.
Greentone è un gestionale pensato per piccoli studi professionali e dalle caratteristiche essenziali. Spesso i gestionali in commercio offrono un'infinità di funzionalità mentre Greentone si vuole concentrare sul concetto di incarico professionale e svilupparci intorno le funzionalità minime per poterne gestire il ciclo di vita.
Greentone è scritto in Java e ed il suo ciclo di vita produttivo è gestito con Gradle. E' un progetto Eclipse ma può essere sviluppato anche con altre IDE. Utilizza diferse librerie importanti nel mondo Java quali Spring Source per l'IOC, Datanucleus su db embedded H2 come ORM, JasperReport per la reportistica e SwingX, BSAF ed altre per l'interfaccia grafica. Mi rendo conto che per chi conosce poco Java, potrebbe sembrare una scelta poco performante e poco integrata con gli OS disponibili ma vi posso garantire che a parte una certa verbosità del linguaggio rispetto ad altri dinamici offre un buon compromesso di portabilità e prestazioni. D'altro canto l'utilizzo di diverse tecnologie in Greentone può spaventare chi si avvicina per la prima volta al mondo Java o per chi lo utilizza in ambienti legacy o con poca propensione alle ultime novità nell'ecosistema Java.

Nota importante: tutta la documentazione è scritta per ambiente GNU\Linux (Ubuntu 13.04) ma è facilmente trasponibile in ambiente Windows o Mac. (Se avete dei suggerimenti, i commenti sono sempre bene accetti).

Nei prossimi post vedremo di raccontare qualcosa di pratico relativamente ai seguenti argomenti:
  • installazione di una JDK
  • installazione di SVN
  • installazione di iReport
  • installazione di Eclipse
  • installazione dei plugin necessari allo sviluppo
  • preparazione del workspace
  • importazione del progetto Gradle
  • configurazione di iReport
  • architettura di Greentone
  • considerazioni su asciidoc
  • considerazioni su github e sourcefoge
La lettura di questi post  spero possa essere utile anche a chi non voglia direttamente aiutare il progetto Greentone. Una volta terminato integrerò queste informazioni nel manuale utente.
Intanto ringrazio anticipatamente tutti quelli che vorranno dare una mano al progetto.


Post popolari in questo blog

Se excel non aggiorna le formule

Oggi in ufficio è capitata una richiesta particolare. In un documento excel dopo aver eseguito un copia-incolla di una formula non si aggiornavano i risultati nelle celle interessate. Dopo attimi di perplessità dal fondo dell'ufficio il capo ci illumina con una funzione ai più sconosciuta e che ha risolto il problema: il tasto F9. Scusate la mia ignoranza in excel ma questo blog è pensato proprio per appuntare esperienze di vita informatica. Tutto sta nel fatto che i "calcolatori d'un tempo" non disponevano di una adeguata potenza di calcolo e nelle operazioni di copia-incolla si verificavano lunghe attese per l'aggiornamento. La soluzione adottata da MS è stata quella di inserire un'opzione per impedire l'aggiornamento automatico e forzarlo con una combinazione di tasti... il tasto F9!
Combinazioni utili per il calcolo delle formule F9 = calcola le formule modificate dall'ultimo calcolo in tutte le cartelle e fogli di lavoro aperte. MAIUSC + F9 = c…

Riflessioni sull'ordinamento

Gli algoritmi di ordinamento sono da sempre i più gettonati e interessanti dal punto di vista didattico (si veda la complessità computazionale) e funzionale (quasi tutti i programmi hanno almeno una funzione di ricerca). Proprio di questi giorni sono alcuni articoli di Programmazione.it dedicati a questo tema (link).Coding Horror in questo articolo presenta una provocazione molto interessante al di là delle opinioni personali:

The default sort functions in almost every programming language are poorly
suited for human consumption.
L'articolo pone l'attenzione sulla differenza tra l'ordinamento alfanumerico e quello ASCII solitamente usato nei metodi nativi dei linguaggi. Il discorso si ampia se poi pensiamo banalmente alla differenza tra Windows e GNU/Linux che è case sensitive.
Spesso i sistemi operativi e i linguaggi di programmazione realizzano ordinamenti rispettando l'ordine della tabella di codifica ASCII e non l'ordinamento naturale della lingua. I commenti a se…

Timeline dei Linguaggi di programmazione

O'Reilly ha reso disponibile per tutti gli appassionati un interessante poster in formato pdf in cui vengono riassunti 50 anni di storia dei linguaggi di programmazione.Il poster mostra una timeline colorata nella quale sono evidenziate le principali derivazioni tra i vari linguaggi... da vedere
http://www.oreilly.com/news/graphics/prog_lang_poster.pdf



fonte programmazione.it