Ginipad
è un ambiente di sviluppo integrato per Java, distribuito
gratuitamente in Open Source sotto licenza GPL.
L'interfaccia
grafica semplice ed intuitiva rende Ginipad uno strumento
indispensabile per il principiante; la sua essenzialità
può essere apprezzata anche dagli utenti più
avanzati, che spesso necessitano di uno strumento rapido
e leggero da alternare ad ambienti di sviluppo più
complessi.
La disponibilità
del codice sorgente rende Ginipad un interessante caso
di studio per chi fosse interessato allo sviluppo di programmi
ad interfaccia grafica con Swing, al Design by Pattern,
allo sviluppo per componenti secondo la specifica Java
Beans, all'uso dell'UML nella progettazione e alle tecniche
di testing con JUnit.
News
-
24-03-2002 E' disponibile Ginipad 2 beta 5, che probabilmente e' l'ultimo passo prima della prima release ufficiale. Le principali novita' sono:
-
Syntax higlight esteso a tutte le 5058 classi del J2sdk 1.4
-
Segnalazione di errori di parsing durante la formattazione di codice
-
Il pulsante 'full screen' ora e' on-off
-
Il file browser ora permette di gestire anche i files gia' aperti
-
21-03-2002 E' disponibile Ginipad 2 beta 4. Ora e' disponibile un pannello di controllo per impostare
le preferenze del Formattatore di codice. E' stata inoltre aggiornata la libreria skin look and feel.
-
17-03-2002 E' disponibile Ginipad 2 beta 3. Aggiunto un Formattatore di codice (pretty printer), accessibile dal menu tools, dal menu contestuale o tramite la combinazione SHIFT CTRL F.
-
12-03-2002 E' disponibile Ginipad 2 beta 2. Aggiunto un pannello di configurazione per i colori dei JTree.
-
11-03-2002 Dopo due settimane di lavoro e' finalmente disponibile Ginipad 2 beta 1. Il prodotto richiede ancora
una fase di collaudo, a cui vi chiedo di prendere parte. Ecco alcune delle novita':
-
Nuova architettura di sistema
-
Supporto alle assert del nuovo J2sdk 1.4
-
Rinnovata la grafica dei pannelli di controllo.
-
Maggior configurabilita': e' possibile impostare font e colori differenti sui pannelli di output
-
Meccanismo di salvataggio delle preferenze conforme alle specifiche del package java.uti.prefs
E' richiesto il J2sdk 1.4
-
25-02-2002 E' disponibile Ginipad 1.6.6, che risolve altri problemi di compatibilita' tra JDK 1.3 e JDK1.4
-
24-02-2002 E' disponibile Ginipad 1.6.5, compatibile con il nuovo JDK 1.4.
-
03-02-2002 E' disponibile Ginipad 1.6.4.
-
Rinnovati i pannelli di controllo.
-
Possibilita' di disattivare l'autocompletamento.
-
Migliorate le modalita' di evidenziazione dei metodi selezionati dall'indice ad albero.
-
Il browser ad albero ora segnala eventuali errori di sintassi.
-
Svariate migliorie interne.
-
Sospeso il supporto a Mac OS X.
-
28-01-2002 E' disponibile Ginipad 1.6.2. La funzione di autocompletamento ora
gestisce anche gli identificatori "super" e "this". Il riconoscimento di "this"
funziona anche all'interno di classi interne, con poche documentate eccezioni,
che verranno sistemate al piu' presto.
-
24-01-2002 E' disponibile Ginipad 1.6.1, che corregge un bug che impediva, con alcune skin,
l'uso di alcuni tasti. Da oggi inoltre e' disponibile per il download il file di installazione
in formato jar, per le piattaforme non ancora supportate. Per lanciare il setup digitare "java -jar ginipad1_6_1.jar",
o cliccare il file Jar nelle piattaforme che supportano il doppio click sui Jar.
-
22-01-2002 E' disponibile Ginipad 1.6.0, che aggiunge il supporto allo skin look and feel.
Aprendo il menu "Edit - Option" menu item, e quindi il tab Look and Feel, e' possibile vedere l'elenco dei temi disponibili.
E' possibile scaricare altri temi da javootoo.l2fprod.com/plaf/skinlf/index.php
e piazzarli nella directory "ginipad/themePack": il sistema li riconoscera' automaticamente, e li rendera' disponibili per l'uso.
-
21-01-2002 E' disponibile per il download Ginipad1.5.3, che estende il meccanismo
dell'autocompletamento a tutte le classi presenti nel classpath e nella directory di output (incluse
quelle definite dall'utente).
-
20-01-2002 Da oggi Ginipad è reperibile anche su www.jars.com,
il piu' grande data base di risorse Java su Internet.
-
14-01-2002 E' disponibile per il download Ginipad1.5.2, che contiene svariate migliorie interne
-
11-01-2002 E' disponibile per il download Ginipad 1.5.1. La versione include una funzionalità
largamente richiesta: il completamento automatico
delle delle chiamate a metodo. La funzione si attiva automaticamente quando necessario.
-
9-01-2002 Aggiornato il tutorial Power Point.
-
3-01-2002 E' disponibile per il download Ginipad 1.4. A partire da questa versione viene
garantita la compatibilità con Linux.
-
27-12-2001 E' disponibile per il download Ginipad 1.3, che aggiunge una finestra di
dialogo alla funzione "New", che semplifica la creazione di nuove classi.
Caratteristiche
principali
· 1)
La sua interfaccia grafica, semplice ed intuitiva, permette
di mantenere il controllo su tutte le funzionalità
utili durante lo sviluppo.
· 2)
L'editor provvisto di syntax higlight mette in evidenza
le diverse categorie sintattiche del linguaggio: parole
riservate, classi di uso comune, commenti, letterali numerici,
operatori e stringhe.
· 3)
L'interfaccia multi documento permette di lavorare su
un gran numero di sorgenti contemporaneamente.
· 4)
Un pratico indice ad albero permette di navigare agevolmente
anche i sorgenti più complessi.
· 5)
la console del compilatore trasforma in pratici hiperlink
le notifiche di errore.
· 6)
La console di runtime, accessibile attraverso un semplice
controllo a tab, permette di seguire l'esecuzione di ogni
singolo programma. La console permette anche l'inserimento
dei dati da tastiera, per i programmi che fanno uso di
IO da terminale.
· 7)
Un'utile finestra di Find & Replace permette di effettuare
ricerche e sostituzioni all'interno del testo
· 8)
Un insieme di opzioni di personalizzazione permette di
adattare l'ambiente alle proprie preferenze
· 9)
L'autocompletamento delle chiamate a metodo velocizza enormemente la
stesura di programmi
Requisiti
minimi di Sistema
Processore
Pentium II 300
Sistema Operativo:
Windows 95
Memoria: 64
MB
HD: meno di
3 MB
Virtual Machine:
Java SDK 1.3
Installazione
1) Installare
il JDK 1.3
2) Lanciare
il file di setup di Ginipad
3) Al secondo
passaggio della fase di installazione verrà chiesto
di scegliere la Virtual Machine. Si consiglia di scegliere
quella presente nella cartella \bin del JDK, come si vede
nell'immagine.
4) Al termine
dell'installazione si può avviare il programma.
Al primo avvio, il Ginipad effettua una ricerca per localizzare
la posizione del JDK. Tale processo è automatico
e trasparente all'utente.
Cosa devo
fare se in Ginipad non riesce a trovare da solo il JDK?
Ginipad è
in grado di identificare da solo la posizione del JDK
su disco, durante la fase di setup. Se tuttavia tale posizione
dovesse cambiare, ad esempio in seguito a un aggiornamento
del JDK, verrà richiesto, al sucessivo avvio, di
indicare la nuova posizione dell'ambiente di sviluppo.
Dopo aver
dato l'OK, verrà visualizzata una finestra File
Chooser, con la quale si dovrà localizzare la directory
del JDK sul disco (normalmente installato sotto c:\programmi\JKD1.3).
Guida
all'uso
· Avviare
il programma. La schermata di avvio si presenterà
come segue
Premendo i
tasti ,
e
è possibile nascondere o rendere visibili il pannello
laterale e quello della console.
public
class HelloWorld {
public static void main(String argv[]) {
System.out.println("Hello World!")
}
}
- Premere
il tasto
(o la combinazione CTRL-S) e salvare il sorgente su
disco con il nome "HelloWorld.java"
- Premere
il tasto
(o la combinazione SHIFT-CTRL-C) per compilare. La console
metterà in evidenza un errore.
- Portare
il cursore sopra l'errore e premere il pulsante sinistro
del mouse
- aggiungere
il punto e virgola alla fine della riga segnalata:
Navigazione del File System
Premendo il
tab "My Computer", in alto a sinistra sopra l'indice ad
albero dei metodi, viene visualizzato un pratico browser
ad albero con il quale è possibile navigare il
file system:
I sorgenti
Java vengono evidenziati: con un doppio click del mouse
è possibile aprirli direttamente.
Find & Replace
Per attivare
il pannello del Find o del Find e Replace, attivare le
voci "Find" o "Replace..." dal menu "Edit". Nell'esempio
viene attivato il pannello Find & Replace:
Digitare la
stringa da cercare sul campo di testo in alto: il cursore
si posizionerà automaticamente sulla prima occorrenza
della stringa. Se si seleziona l'opzione "Case Sensitive",
la ricerca terrà conto della differenza tra lettere
maiuscole e minuscole. Digitando invio, il cursore si
sposterà all'occorrenza successiva.
Nel campo
di testo in basso digitare la stringa da sostituire e
premere invio. Verrà visualizzato una finestra
a scelta multipla che permetterà di specificare
se si desidera rimpiazzare solo l'occorrenza attuale (Replace),
se si desidera rimpiazzare tutto (Replace All), se si
desidera passare all'occorrenza successiva (Next) o se
si vuole terminare l'operazione (CANCEL):
Auto Indent
Durante l'editing
di sorgenti java, talvolta è necessario indentare
o deindentare interi blocchi di codice. Per facilitare
l'operazione, il Ginipad offre un'apposita funzionalità.
E' sufficiente evidenziare le righe da modificare, e quindi
premere il tasto TAB se si desidera indentare, o la combinazione
SHIFT-TAB se si desidera deindentare.
Personalizzazione
Tutti i parametri
del programma possono essere modificati attraverso un
completo insieme di pannelli di controllo. Le impostazioni
verranno automaticamente salvate nel profilo utente, in
modo da poter essere recuperate al successivo avvio. Per
attivare il pannello di controllo, selezionare la voce
"Options" dal menu "Edit"
Personalizzare la Text
Area
I pannelli
"Editor" e "Syntax Highlight" offrono la possibilità
di personalizzare il font della Text Area, i colori del
carattere principale e dello sfondo, e i colori delle
diverse categorie sintattiche del Syntax Highlight.
Grazie a questi
pannelli è possibile creare qualunque combinazione
di font e colori, per adattare lo strumento a qualunque
esigenza:
Per un uso
professionale, si consiglia di utilizzare un Font "monospaced"
o "Courier", con una dimensione di 12 o 14, da portare
a 18 in caso di video proiezione.
Personalizzare
l'aspetto
Il pannello
Look & Feel permette di modificare l'aspetto dell'interfaccia
grafica. Il blocco in alto serve ad impostare il Look
& Feel tra quelli disponibli sul sistema ospite. Il
blocco intermedio permette di impostare l'interfaccia
multi documento: oltre alla classica interfaccia a Tab,
sono disponibili una modalità denominata Card ed
una che fa uso di Internal Frame
Interfaccia
Card......
L'interfaccia
ad Internal Frame, attualmente, presenta dei malfunzionamenti
dovuti alla routine di gestione del Focus del JDK. La
nuova edizione del JDK, l'oramai imminente 1.4, promette
di risolvere il problema: fino ad allora, questa modalità
viene marcata come "sperimentale", e pertanto se ne sconsiglia
l'adozione.
....
ed interfaccia Internal Frame.
L'ultimo blocco
del pannello permette di scegliere il set di icone per
i pulsanti. Di default vengono utilizzate icone di 24x24
pixel, ma è disponibile un set di pulsanti 16x16,
più gradevole su monitor a bassa risoluzione.
E' disponibile
un set di pulsanti di dimensioni ridotte.
Personalizzare
i parametri del Compilatore
Il pannello
"Compiler" permette di impostare i parametri del compilatore
javac. L'uso di questo pannello è consigliato solamente
agli utenti più esperti.
Il blocco
in alto permette di impostare i principali flag del compilatore:
- Optimize:
il compilatore esegue alcuni passaggi di ottimizzazione
del codice, che richiedono un tempo di compilazione
leggermente maggiore del normale.
- Show deprecated
API: durante la compilazione verranno mostrate le informazioni
relative alle classi del JDK che sono state dichiarate
"deprecated", delle quali si sconsiglia l'uso.
- Generate
no warning: il compilatore non segnalerà i "warning",
ossia le situazioni che, pur non costituendo a tutti
gli effetti degli errori, richiedono una particolare
attenzione.
- Generate
verbose Output: l'output del compilatore conterrà
un gran numero di informazioni aggiuntive sulle varie
fasi della compilazione.
- Output
directory: permette di impostare una directory di output
diversa da quella del sorgente. Se si attiva questa
opzione, sono disponibili due scelte: premendo il tasto ,
i files .class verranno piazzati in una directory /out
relativa alla posizione del sorgente; premendo il tasto
è possibile specificare un percorso assoluto
sul disco.
Il blocco centrale
permette di ampliare il classpath, aggiungendo un elenco
di directory, files Zip o Jar. Ogni voce dell'elenco può
in seguito essere rimossa premendo il tasto "Remove".
Per finire,
il blocco in basso permette di specificare la posizione
del JDK all'interno del disco. Questa opzione è
utile nel caso si disponga di più versioni del
JDK e si desideri passare dall'una all'altra.
Link
e Bibliografia
Chi fosse interessato
alla programmazione a finestre in Java può trovare
un corso introduttivo al capitolo 10 del libro MokaBook
Chi volesse
approfondire la programmazione per componenti in Java,
può consultare il capitolo 12 del libro MokaBook
Chi fosse interessato
ad alcuni articoli sull'uso dei pattern e sullo sviluppo
di Framework in Java, può consultare i seguenti
link:
Chi invece
è maggiormente interessato alle tecniche di sviluppo
di software ad interfaccia grafica, può consultare
la serie "Sviluppo della Gui in applicazioni Java stand
Alone"
http://www.mokabyte.it/2001/03/javagui1.htm
http://www.mokabyte.it/2001/04/javagui2.htm
http://www.mokabyte.it/2001/05/javagui3.htm
http://www.mokabyte.it/2001/06/javagui4.htm
http://www.mokabyte.it/2001/07/javagui5.htm
http://www.mokabyte.it/2001/09/javagui6.htm
Per chi vuole
conoscere il concetto di refactoring nella programmazione
Object Oriented
Infine un libro
che ha segnato una svolta nello sviluppo Object Oriented
- Gamma
E., Helm R.Johnson R., Vlissides J.: Design Patterns,
Elements of Reusable Object-Oriented Software, Addison
Wesley, 1995.
Collabora
Cerco persone
che abbiano la possibilità di testare il Ginipad
sotto Linux, Solaris, Mac OS X o altre piattaforme con
il supporto a Java SDK 1.3, in modo da garantire il prodotto
come multipiattaforma.
Contatta
Per indicazioni
e suggerimenti, scrivere a agini@mokabyte.it
Ringraziamenti
Un grazie a:
-
Kristhian Mason
autore del logo e dello splash screen.
-
Luca Burgazzoli per l'importante contributo al
supporto della versione per Linux.
-
Carlo Corradino Rossi per la paziente opera di consulenza.
-
Carlo Corradino Rossi per la paziente opera di consulenza.
-
I professori F. Arcelli e F. Tisato dell'Università
Statale Milano Bicocca, che hanno supervisionato il progetto con grande partecipazione fin dal principio.
-
Kevin Tao, autore di JavaPrinter for JTB 1.2, sul cui codice e' basato il pretty printer di Ginipad.