Ambienti di Sviluppo Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Editor; Compilatori e/o interpreti; Strumenti di test;
Applicazioni che permettono di editare / disegnare il codice sorgente Testuali: Formattazione Indentazione; Colori; Code Completion Grafici: Editor Disegno di interfacce (WYSIWYG); Disegno della struttura del codice;
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 Compilatore Istruzioni Eseguibili
Interprete Esegue, in corrispondenza dei dati d ingresso, il programma sorgente scritto in un linguaggio di alto livello. Programma sorgente Interprete Output programma Dati input
Java Bytecode Indipendente dalla piattaforma javac Demo.java java Demo Codice sorgente Java Compilatore Java JVM Istruzioni Eseguibili FILE CON ESTENSIONE.JAVA (es. Demo.java, Esempio.java...) FILE CON ESTENSIONE.CLASS (es. Demo.class, Esempio.class...) ISTRUZIONI MACCHINA (es. 01011010...)
Codice sorgente Listato del programma File con estensione.java Modificabile con un comune editor testuale Blocco note Edit (dos) Wordpad
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
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
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.
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
Base (JDK). Ambienti di sviluppo Editor testuali per sviluppatori: Jpad, JPadPro, JEdit... Ambienti integrati: Eclipse,NetBeans NetBeans, JBuilder, JDev,,...
L armamentario di base javac Nome.java java Nome documentazione (formato html) jar javadoc Compila nome.java producendo Nome.class Interpreta Nome.class cercando il metodo main nella classe nome 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
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
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
Workspace All avvio Eclipse chiede di specificare il Workspace: cartella usata per memorizzare i progetti e altre informazioni relative all operatività dell utente.
Workspace
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)
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
Workspace, Perspectives, Views 1
Creare un nuovo progetto 1. File => New => Project 2. Java Project 3. Next La scelta Java Project può comparire già al livello di New
Creare un nuovo progetto 1. Digitare il nome del progetto 2. Next
Creare un nuovo progetto E necessario specificare (o accettare le impostazioni di default) Cartella radice dei sorgenti (es. src src ) Cartella nella quale vengono posti i compilati (es. bin bin, class, build build )
Creare una nuova classe File => New => Class oppure click tasto destro sul package seguito da New => Class
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 )
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
Esecuzione Selezionare la classe che possiede il metodo Main Click con tasto destro => Run As => Java Application oppure
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)