Ginipad
Il tool di sviluppo per Java fatto in Java


News
Intro
Caratteristiche
Requisiti
Installazione
Guida all'uso
Personalizzaz.
Link Bibliografia
Collabora
Contatta
Ringraziamenti

 

 
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  è possibile nascondere o rendere visibili il pannello laterale e quello della console.
 

  • digitare il sorgente:


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:
    public class HelloWorld {

      public static void main(String argv[]) {
        System.out.println("Hello World!");
      }
    }
     

  • Ricompilare

  •  
  • Premere il tasto (o la combinazione SHIFT-CTRL-R) per avviare il programma appena compilato. La console mostrerà il seguente output:


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.

 




MokaByte® è un marchio registrato da MokaByte s.r.l.
Java®, Jini® e tutti i nomi derivati sono marchi registrati da Sun Microsystems.
Tutti i diritti riservati E' vietata la riproduzione anche parziale
Per comunicazioni inviare una mail a info@mokabyte.it

 

Ginipad1.6.6 for J2sdk 1.3
-Windows
-Unix
-Executable Jar

Sources

Ginipad2 beta 5 for J2sdk1.4
-Windows
-Unix
-Executable Jar

-Sources

 

Tutorial
Power Point

 

UML Documentation