Lucidi su ambienti di sviluppo-Eclipse

Ambienti di Sviluppo
Insieme omogeneo di strumenti adatti allo
sviluppo di progetti software.
• Editor;
• Compilatori e/o interpreti;
• Strumenti di test;
Fondamenti di Programmazione
Editor
Applicazioni che permettono di editare /
disegnare il codice sorgente
• Testuali:
– Formattazione
• Indentazione;
• Colori;
– Code Completion
• Grafici:
– Disegno di interfacce (WYSIWYG);
– Disegno della struttura del codice;
Fondamenti di Programmazione
Compilatore
Traduce un programma scritto in un linguaggio di alto
livello (programma sorgente) in un programma
funzionalmente equivalente che può essere eseguito
da uno specifico sistema di calcolo
Programma
sorgente
Fondamenti di Programmazione
Compilatore
Istruzioni
Eseguibili
Interprete
Esegue, in corrispondenza dei dati d’ingresso, il
programma sorgente scritto in un linguaggio di alto
livello.
Programma
sorgente
Interprete
Dati input
Fondamenti di Programmazione
Output
programma
Java
Bytecode
Indipendente
dalla piattaforma
javac Demo.java
java Demo
Codice sorgente
Compilatore Java
Java
FILE CON
ESTENSIONE
.JAVA
FILE CON
ESTENSIONE
.CLASS
(es. Demo.java,
Esempio.java ...)
(es. Demo.class,
Esempio.class ...)
Fondamenti di Programmazione
JVM
Istruzioni
Eseguibili
ISTRUZIONI
MACCHINA
(es. 01011010 ...)
Codice sorgente
• Listato del programma
– File con estensione “.java”
– Modificabile con un comune editor testuale
• Blocco note
• Edit (dos)
• Wordpad
Fondamenti di Programmazione
Codice Compilato
• Codice di programma (BYTECODE)
– File con estensione “.class”
– Interpretabile da una “qualsiasi” macchina virtuale Java
(JVM)
– Indipendente dalla piattaforma
Una macchina virtuale Java
=
Interprete di ByteCode
Fondamenti di Programmazione
Macchine Virtuali Java
• Applicazioni stand alone
• Integrate in un Browser
• Integrate all’interno di altre applicazioni
– ambienti di sviluppo
– programmi applicativi
• Implementate in HW
– Firmware
– Processori
Fondamenti di Programmazione
Test & Debug
• Test:
– Verifica del funzionamento del programma rispetto ai
requisiti;
– Tipicamente a Scatola Nera (chiusa).
• Debug:
– Eliminazione dei malfunzionamenti di un programma;
– Preferibilmente con la possibilità di analizzare lo stato del
programma in punti prestabiliti e di poterne seguire
l’evoluzione.
Fondamenti di Programmazione
Ambienti di Sviluppo per Java
• Diverse tipologie (come per altri linguaggi)
– Potenzialità
– Livello di integrazione tra i diversi strumenti
– Strumenti aggiuntivi
– Librerie fornite
– Aderenza allo “standard”
Fondamenti di Programmazione
Ambienti di sviluppo
• Base (JDK).
• Editor testuali per sviluppatori:
– Jpad, JPadPro, JEdit...
• Ambienti integrati:
– Eclipse,NetBeans, JBuilder, JDev, ...
Fondamenti di Programmazione
L’armamentario di
base
• javac Nome.java
• Compila nome.java
producendo Nome.class
• java Nome
• Interpreta Nome.class
cercando il metodo main
nella classe nome
• documentazione
(formato html)
• jar
• javadoc
Fondamenti di Programmazione
• Tutto quello che avreste
voluto sapere …
• Gestione archivi di classi
• Generazione
documentazione
Eclipse
• IDE multilinguaggio (es. Java, C/C++)
• Sviluppato in Java => multipiattaforma
• Open Source: sviluppato inizialmente da
IBM; dal 2004 controllato dalla Eclipse
Foundation, organizzazione no profit
indipendente.
• Modulare ed espandibile in base alle
esigenze dell’utente
Fondamenti di Programmazione
Architettura
• Architettura a plugin:
– “Core”: funzionalità di base
– Plugin: sfruttano le funzionalità offerte dallo strato “core” ed
cooperano tra loro per offrire servizi all’utente
– Eclipse è un applicativo Java che quindi richiede l’esecuzione di
una JVM: i plugin potrebbero essere molto numerosi =>
Eclipse utilizza una politica di load on demand dei plugin, per
minimizzare la quantità di memoria necessaria
Per il nostro corso non è necessario installare alcun plugin
aggiuntivo
Fondamenti di Programmazione
Installazione
• Installare Java SE Development Kit (JDK) 5 o
6; oppure il Java Runtime Environment (JRE)
5 o 6 http://java.sun.com
• Download di Eclipse, edizione Classic,
versione 3.3 dal sito http://www.eclipse.org
• Avviare Eclipse
Fondamenti di Programmazione
Workspace
• All’avvio Eclipse chiede di specificare il Workspace:
cartella usata per memorizzare i progetti e altre
informazioni relative all’operatività dell’utente.
Fondamenti di Programmazione
Workspace
Fondamenti di Programmazione
Perspectives
• Per uno stesso workspace esistono più
perspectives, che raggruppano funzionalità
(view) in base all’operatività dell’utente.
– Java (Sviluppo di codice sorgente)
– Debug (Debug del programma)
Fondamenti di Programmazione
Views
•
•
Le views sono delle “schede” inserite nelle perspectives; offrono numerosi
strumenti per le attività connesse allo sviluppo del software
Possono essere spostate, mediante trascinamento, nella porzione desiderata
Fondamenti di Programmazione
Workspace, Perspectives, Views
1
Fondamenti di Programmazione
Creare un nuovo progetto
1. File => New => Project
2. Java Project
3. Next
Fondamenti di Programmazione
La scelta Java Project può
comparire già al livello di New
Creare un nuovo progetto
1.
Digitare il nome del progetto
2.
Next
Fondamenti di Programmazione
Creare un nuovo progetto
• E’ necessario specificare
(o accettare le
impostazioni di default)
– Cartella radice dei
sorgenti (es. “src”)
– Cartella nella quale
vengono posti i compilati
(es. “bin”, “class”, “build”)
Fondamenti di Programmazione
Creare una nuova classe
• File => New => Class
oppure
• click tasto destro sul package
seguito da New => Class
Fondamenti di Programmazione
Creare una nuova classe
• E’ OBBLIGATORIO specificare il
nome della classe
• E’ consigliato specificare il
package
• E’ possibile generare
automaticamente codice
aggiuntivo (scheletro del main,
interfacce, superclassi, ecc.)
• Eclipse verifica che il nome della
classe sia “corretto” (buone
abitudini…)
Fondamenti di Programmazione
Compilazione
• Eclipse offre due possibilità:
– Compilazione automatica; segnala in tempo reale gli errori rilevati
– Compilazione on demand;
L’opzione di compilazione automatica (default) è impostabile mediante
Project -> Build Automatically
Fondamenti di Programmazione
Esecuzione
• Selezionare la classe che possiede il metodo Main
• Click con tasto destro => Run As => Java Application
… oppure…
Fondamenti di Programmazione
Esecuzione
• Run => Open Run Dialog
• Specificare la classe contenente il
metodo main
• Specificare eventuali parametri da
passare al main
• Specificare, se necessario, il nome
della configurazione
E’ possibile avviare l’ultima esecuzione semplicemente
selezionando Run => Run (Ctrl + F11)
Fondamenti di Programmazione