2. IDE?
• IDE sta per Integrated Development Environment
• Esistono IDE pensati per ambiti specifici
• BlueJ, DrJava sono pensati come ambienti per l’insegnamento
• Enfatizzano la semplicità di utilizzo essendo rivolti a principianti
• Minimizzano la curva di apprendimento per consentire ai discenti di
concentrarsi sullo studio del linguaggio
• Eclipse, JBuilder, NetBeans, Visual Studio sono tool di
sviluppo (e progettazione) professionali
• Supportano necessità professionali
• Richiesto una fase di apprendimento decisamente più lunga, cosa che
però verrà ripagata dal punto di vista operativo
2
5. Eclipse
• Eclipse è un IDE multilinguaggio e multipiattaforma
scritto in Java.
• E’ Open Source.
• Può essere adattato alle esigenze più varie semplicemente
aggiungendo un plug-in.
• Eclipse è scaricabile all'indirizzo www.eclipse.org
6. Eclipse: primo avvio
• Eclipse non necessita di installazione
• Per avviare eclipse è sufficiente eseguire eclipse.exe
• E' disponibile per i sistemi operativi più diffusi (Windows,
Linux, Mac ...)
7. Eclipse: Workbench (banco di lavoro)
Menu bar
Text
Tool bar editor
Perspective
and
Fast View
bar Outline
view
Resource
Navigator
view
Bookmarks
Properties view
view
Message Editor
area Status
Stacked Tasks area
views view
8. Eclipse: Workbench, viste (1)
Outline View:
mostra i metodi
implementati e le variabile
definite.
Package Explorer View:
mostra i progetti del
workspace, le relative
classi e i package
10. Eclipse: Perspectives
L’interfaccia grafica di Eclipse è organizzata a
perspectives.
Le perspectives non sono altro che dei raggruppamenti di
funzionalità dell’IDE, fatti in base ad una specifica
operazione di sviluppo.
La Java perspective ad esempio
riunisce strumenti di stesura e
organizzazione del codice mentre
la Debug perspective fornisce
strumenti in fase di debug.
12. Eclipse: Java Development Tools
• JDT = Java Development Tools
• Stato dell’Arte nello sviluppo di ambienti per Java
• Realizzati al top della piattaforma Eclipse
• come plug-in di Eclipse
• utilizzando le API per l’estensione di Eclipse
• Inclusi nel progetto Eclipse Project
• installabile come feautures separata
• parte dell’Eclipse SDK
13. Eclipse e Java
• Messaggi di errore significativi
• Genera codice eseguibile anche in presenza di errori
• Compilazione (incrementale) automatica
• Alte performance
• Gestione di grandi progetti
• Check della sintassi
• Analisi delle strutture all’intero dei file di codice
• Risoluzione dei nomi
• Help contestualizzato
• Refactoring
• Ricerca
14. Eclipse e Java: path
• Eclipse all'avvio cerca la JVM del sistema e setta il
Path di default in base a questa, quindi non è
necessario impostare alcun Path per iniziare a
lavorare.
• Se un progetto dovesse utilizzare una versione di
JVM diversa da quella di default è necessario
modificare il Path di quel progetto.
15. Eclipse e Java: path (2)
• Per settare il Path di un progetto cliccare su
Nome_Progetto -> Properties nella vista
Package Explorer o in quella Navigator.
• Nel menu di sinistra scegliere Java Build Path e
nella scheda Libraries cliccare su Add Librarie.
• Nella schermata Add Librarie cliccare su JRE
System Librarie e selezionare dove si trova la JVM
desiderata (cartella /jre)
16. Eclipse e Java: classpath
• Per settare il Classpath di un progetto cliccare su
Nome_Progetto->Properties nella vista
Package explorer o in quella Navigator.
• Nel menù di sinistra scegliere Java Build Path e
nella scheda Libraries si possono aggiungere nel
classpath file jar, intere directory, ecc…
18. Eclipse e Java: area di lavoro
Vista principale basata sui file di progetto
Java
project
package
class
field
method
Java
editor
19. Eclipse e Java: area di lavoro (2)
Gestione ad albero della gerarchie
Type
hierarchy
Selected
type’s
members
20. Eclipse e Java: area di lavoro (3)
Ricerca di elementi Java
• Per dichiarazione o reference
• Inclusione delle librerie e/o di altri progetti
Hits
flagged
in margin
of editor
All search
results
21. Eclipse e Java: inline javaDoc
Evidenziando un elemento viene visualizzato il relativo javadoc
22. Eclipse e Java: auto-completamento
Completamento automatico dei metodi
List of plausible methods Doc for method
23. Eclipse e Java: errori sintattici
Gli errori sintattici vengono evidenziati e viene proposta
una alternativa
Click
to see
fixes
Problem Preview
Quick
fixes
24. Eclipse e Java: code template
Suggerimento di pezzi di codice standard
Statement
template Preview
25. Eclipse e Java: stub
Grazie all’editor è possibile creare automaticamente gli stub
dei metodi
Method stub insertion for
anonymous inner types
Method stub insertion
for inherited methods
26. Eclipse e Java: best practice
Suggerimenti per la scrittura di codice ben strutturato
Variable name
suggestion
JavaDoc
code assist
Argument hints and
proposed argument
names
27. Eclipse e Java: altre caratteristiche
• Local method history
• Code formatter
• Source code for binary libraries
• Built-in refactoring
28. Eclipse e Java: nuovo progetto
• Cliccare su File -> New ->
Project…
• Scegliere Java Project.
• Nella finestra New Java Project
dare un nome al progetto e
cliccare su «Finish».
29. Eclipse e Java: nuova classe
• Per creare una nuova classe fare click con il tasto
destro su un package nella vista
• Package Explorer o Navigator, poi scegliere New ->
Class.
30. Eclipse e Java: nuova classe (2)
• Digitare il nome
della nuova classe.
• Scegliere l'eventuale
package della classe.
• Scegliere gli attributi
della classe
(public, private...)
31. Eclipse e Java: nuova classe (3)
La nuova classe appare nella vista sulla sinistra e l’editor
mostra il suo codice generato.
32. Eclipse e Java: esecuzione
• Per eseguire il progetto corrente, cliccare sul menù
“Run” e scegliere “Run…”
• Nella finestra Run Configuration Manager creare una
nuova Run configuration e dargli un nome.
New Run
Configuration
33. Eclipse e Java: esecuzione (2)
• Nel Run Configuration Manager scegliere a quale
progetto si riferisce la nuova configurazione ed in
quale classe si trova il main. Infine cliccare su Run
34. Eclipse e Java: esecuzione (3)
Se il metodo main da
eseguire richiede dei
parametri questi possono
essere settati al momento
della creazione della
Configurazione di Run
nella scheda Arguments.
35. Eclipse e Java: esecuzione (4)
Per rieseguire l’ultima
configurazione è sufficiente
premere Ctrl + F11.
Le configurazioni create
possono essere richiamate
dal menù “Run”
36. Eclipse e Java: debug
• Non è molto diverso
rispetto all’esecuzione…
occorre cliccare sul
menù Run e scegliere
Debug…
• In debug scegliere una
configurazione già
esistente e procedere con
il Debug.
37. Eclipse e Java: debug (2)
L’operazione di debug avviene nella perspective
debug.
38. Eclipse e Java: debug (3)
• Dall’editor possiamo
inserire i breakpoint per
il debug, basta fare
doppio click a bordo
riga.
• Dal configurations
manager possiamo
scegliere se fermare il
debug all’inizio del
metodo main.
39. Eclipse e Java: debug (4)
• Dalla debug perspective
possiamo vedere (e
modificare) i valori di
variabili ed espressioni.
Es: nel codice ho una
variabile intera chiamata i
di valore 10. Posso vedere e
modificare il valore
40. Eclipse e Java: export
• E' possibile esportare
l'intero progetto con un
file jar cliccando sul
nome del progetto nella
vista Package Explorer e
scegliendo Export.
• Nella finestra seguente
scegliere Java-
>Jar, quindi specificarne
la configurazione.
41. Eclipse e Java: export (2)
• Per creare la
documentazione
(javadoc) del progetto
cliccare sul nome del
progetto nella vista
Package Explorer e
scegliere Export.
• Nella schermata
successiva scegliere
Java->Javadoc e seguire
il wizard.
42. Eclipse e Java: refactoring
Tramite il refactoring è possibile riorganizzare il codice
• incoraggia l’esplorazione del codice stesso
• favorisce la scrittura di codice di
qualità, permettendo di migliorare il codice scadente
43. Eclipse e Java: refactoring (2)
Prima di completare il refactoring è possibile comparare
le modifiche e confermarlo selettivamente
List of
changes
“before”
vs.
“after”
44. Eclipse e Java: refactoring (3)
• Tipiche attività di refactoring
o Organizzare gli «import»
o Rename {field, method, class, package}
o Spostamento {field, method, class}
o Estrazione di un metodo
o Estrazione di una variabile locale
o Definizione inline di una variabile locale
o Riordinare i parametri di un metodo