Ambienti di sviluppo Open Source

Transcript

Ambienti di sviluppo Open Source
Giuseppe Capizzi
Ambienti di sviluppo
Open Source
Stanchi del solito editor?
Ambienti di sviluppo Open Source
IDE
(Integrated Development Environment,
Ambiente di Sviluppo Integrato)
Editor
Test
Sistema di build
Controllo di versione
Debugger
...e non solo!
Ambienti di sviluppo Open Source
Perché usare un IDE?
Ambienti di sviluppo Open Source
Editing avanzato
✔
Syntax check
✔
Code generation
✔
Code completion
✔
Refactoring
✔
Code hints
✔
Documentazione
✔
Code templates
✔
Class browser
Ambienti di sviluppo Open Source
Tutto in uno!
✔
Build
✔
Controllo di versione
✔
Debug
✔
GUI Design
✔
Test
✔
Accesso ai database
✔
Profiling
✔
Integrazione server-side
Ambienti di sviluppo Open Source
Gestione dei progetti
✔
Impostazioni specifiche per progetto
✔
Gestione dei file
✔
Accesso rapido a file e classi
✔
Portabilità
Ambienti di sviluppo Open Source
Espandibilità
Grazie ai plug-in è facile ottenere
✔
Nuove funzionalità
✔
Nuovi linguaggi
✔
Nuove integrazioni con strumenti esterni
Ambienti di sviluppo Open Source
Quale IDE?
Ambienti di sviluppo Open Source
Eclipse
Ambienti di sviluppo Open Source
Eclipse
✔
Progetto creato da IBM
✔
Comunità molto numerosa e attiva
✔
Numerosi plug-in di terze parti disponibili
✔
Solo Java e C/C++ sono inclusi nella distribuzione ufficiale
✔
Base di diversi prodotti, anche proprietari
Ambienti di sviluppo Open Source
NetBeans
Ambienti di sviluppo Open Source
NetBeans
✔
Progetto creato da Sun Microsystems
✔
Ottima esperienza Out-of-the-box: la ditribuzione ufficiale
contiene tutto il necessario
✔
Tutti i linguaggi supportati e le funzionalità principali sono
opera del core team
✔
Pochissimi plug-in prodotti dalla comunità
Ambienti di sviluppo Open Source
Decine di linguaggi!
Eclipse
✔
Java
(JDT)
✔
C / C++
(CDT)
Ambienti di sviluppo Open Source
NetBeans
Decine di linguaggi!
Eclipse
NetBeans
✔
PHP
(PDT)
(6.5)
✔
Python
(PyDev)
(planned)
✔
Ruby / Rails
(RadRails)
Ambienti di sviluppo Open Source
Decine di linguaggi!
Eclipse
✔
HTML
(Aptana)
✔
CSS
(Aptana)
✔
JavaScript
(Aptana)
Ambienti di sviluppo Open Source
NetBeans
Come scegliere?
Ambienti di sviluppo Open Source
Come scegliere?
✔
Gusti personali
✔
Linguaggio utilizzato
✔
Necessità di funzionalità specifiche
Ambienti di sviluppo Open Source
Domande & Risposte
Ambienti di sviluppo Open Source
Grazie dell'attenzione!
Ambienti di sviluppo Open Source
Flavio Castelli
Ambienti di sviluppo
Open Source
Ingredienti
✔
Compilatore C/C++
✔
Editor/Ambiente di sviluppo
✔
Strumenti di debugging
Ambienti di sviluppo Open Source
Strumenti opensource
✔
Compilatore C/C++: GNU Compiler Collection
✔
Strumenti di debugging: GDB
✔
Editor/Ambiente di sviluppo: a tonellate...
Ambienti di sviluppo Open Source
Programma da linea di comando
#include <stdio.h>
int main() {
printf (“hello world\n”);
return 0;
}
No problem: come con strumenti proprietari
Ambienti di sviluppo Open Source
Interfaccie grafiche
✔
Qt: multipiattaforma, alla base di KDE
✔
GTK: multipattaforma, alla base di Gnome
✔
wxWidget: multipiattaforma
Ambienti di sviluppo Open Source
Il mio consiglio
✔
Toolkit grafico: Qt
✔
IDE: Eclipse + cdt + Qt Eclipse integration
Ambienti di sviluppo Open Source
Domande & Risposte
Ambienti di sviluppo Open Source
Ermanno Novali
Strumenti di sviluppo
Open Source
Non solo IDE
E adesso che ho scritto il mio software?
Strumenti Open Source per
Versioning
Diff & Merge
Organizzazione dello sviluppo
Strumenti di sviluppo Open Source
Versioning
Cos'è controllo versione
Perchè è necessario
Sviluppo in Trunk, Branches e Tags
Strumenti di sviluppo Open Source
Server
Versioning
Controllo di versione Open Source
(Apache License)
“Successore” di CVS
Indispensabile strumento di lavoro
Strumenti di sviluppo Open Source
Client open source
Kdesvn – client GUI per KDE
RapidSVN – client GUI wxwidgets per win/linux
JSVN – client gui java swing
TortoiseSVN – client win integrato nella shell explorer
Diff & Merge
Districarsi nella (con)fusione di codice
Comparazione & integrazione del codice
Rollback sicuro delle modifiche con svn
Indispensabile per sviluppo collaborativo
Strumenti di sviluppo Open Source
Diff & Merge
Il migliore differ per Linux
Pratica visualizzazione
Rapida integrazione del codice
Strumenti di sviluppo Open Source
Strumenti di sviluppo Open Source
Organizzazione
Bug Tracking
Aprire ticket per bug
Gestione anomalie
Coordinare lo sviluppo
Strumenti di sviluppo Open Source
Domande & Risposte
Ambienti di sviluppo Open Source