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