Da dove iniziare a sviluppare Ovvero, un'infarinatura su: Componenti principali Strumenti di sviluppo Esempio pratico e pacchettizzazione A cura di: Luigi.

Slides:



Advertisements
Presentazioni simili
UNetbootin Come installare Ubuntu su USB BIONDI FEDERICO 3 AI a.s
Advertisements

Struttura dei sistemi operativi (panoramica)
INTRODUZIONE AD OMNET++
Software Libero Open-Source: Introduzione a Debian.
Struttura di un progetto eclipse
A cura della Unità Nazionale eTwinning Italia Risorse online per i gemellaggi elettronici Alessandra Ceccherelli Unità Nazionale eTwinning Italia.
Star Office è una suite di software di produttività personale commercializzata da Sun Microsystems. StarOffice nasce come software commerciale sviluppato.
ISIA Duca degli Abruzzi a.s. 2010/2011 prof. Antonella Schiavon
Dispositivi Mobili per Sentiment Analysis
Introduzione all'Open Source “La Sapienza” Linux User Group.
Eugenia Franzoni Il software libero Catnic Srl. Si può comprare un software?
"Play Ogg" multimedialità libera con GNU/Linux... presentato da Stefano Pardini al Linux Day 2008 per ACROS ACROS.
Eclipse il framework definitivo? Relatore: Ruggero Maffei.
Milo Casagrande Luca Bruno (kaeso). Milo Casagrande Luca Bruno (kaeso) Contribuire.
Linux is cool! Come avere un PC figo per fare tutto quello che vuoi! 24 ottobre Linux Day Perugia ITC “Aldo Capitini” - “V.Emanuele II” Viale Centova,
KDE4: tutte le novità Flavio Castelli 25 Ottobre 2008 BgLUG Bergamo Linux User Group.
JUG – Ancona Italy AJAX Giovanni Baleani Developer IBS srl.
Eclipse un editor per Java ma anche di più di questo Angelo Gargantini.
Incontri tematici su GNU/Linux ed il Software Libero - programmazione per la scuola secondaria - ● Introduzione ● Perché la programmazione? ● Strumenti.
Linux Day 2005 BLUGRelatore: Alberto Fornasier Ubuntu GNU/Linux Desktop... e non solo!
Introduzione allo sviluppo di Ubuntu. Componenti di Ubuntu gedit Sorgenti upstream gedit Packagin g Metadata gedit gedit-common gedit-dev libmms Sorgenti.
TELEMOBILITY FORUM 2007 Alessandro Pasotti ItOpen.it
OSMit 2009 – 5 e 6 giugno 2009 – Trento Fleet Tracking Libero Hardware, software e mappe libere per tracciamento flotta su web
OSMit 2009 – 5 e 6 giugno 2009 – Trento QGIS: plugin OpenStreetMap Quando il GIS tradizionale incontra il cloud
Di Serio Michele -Buffa Giovanni1 Android una piattaforma per telefoni cellulari Cos'è Android.
Introduzione a GNU/Linux. GNU/Linux Caratteristiche Compatibile con UNIX ® Multitasking Multiutente Libero.
Corso Gnu/Linux 2011 – Hacklab Cosenza Breve storia di GNU/Linux  V. Pirrone.
PASSATE A LINUX!!! W LINUX!!! COS'È LINUX??? ● Linux è un sistema operativo libero creato da Linus Torvalds,basandosi su unix. In questa presentazione.
Linux e il software libero
Linux e il Free Software per la Scuola (e non)
Introduzione all'Open Source
Sistemi e Applicazioni per l’Amministrazione Digitale
Compilazione del kernel Linux
Java World Introduzione.
Incontri tematici su GNU/Linux ed il Software Libero - sommario -
Corso di Laurea in Ingegneria Informatica
WUI con Google Polymer 1 A cura di Michele Maione
Programmazione per la Musica | Adriano Baratè
Jug Ancona: Chi... , Cosa... , Come...
WPC034 - Visual Studio Code: sviluppare su Linux, Mac OS e Windows
Analysis framework of distributed thread and malware data-sources
#Code’scool.
KVM QEMU Virtual Machine Manager Massimo Nuvoli
Milestones 2002 fine febbraio 2002 a. primi test di Grid per Virgo
INTRODUZIONE ALLA SHELL
filosofia del software libero ed open source
“VIRTUAL BOX E CONDIVISIONE FILE”
A cura dell’Ing. Buttolo Marco
Sviluppo web con stumenti Open
F23 Release Party (Milano)
Tanti motivi per scegliere GNU / Linux
Le Distribuzioni GNU/Linux
LA GESTIONE DEI PACCHETTI
* Il Sistema Operativo GNU/Linux * Sistema Operativo e Applicazioni
Qt by Examples LINUX DAY
filosofia del software libero ed open source
Programmazione Scratch: Introduzione ed Esperienze
Coding for Hackers Andrea Draghetti ERLUG.
Cosa sono il Software Libero e GNU/Linux? Scopriamolo insieme!
INSEGNARE e IMPARARE LIBERAMENTE
* Gestione del Software su Debian GNU/Linux e Derivate
Corso propedeutico base di informatica
Corso Java Introduzione.
Realizzazione di R. Diana
Programmare.
ADO Per gestire i database con tecnologia ASP si utilizzano strumenti ADO (ActiveX Data Objects): un'architettura che fornisce oggetti.
FULL STACK SENIOR DEVELOPER
© 2007 SEI-Società Editrice Internazionale, Apogeo
Il passaggio all’opensource nella didattica: analisi e utilizzo di software anche per alunni con BES e DSA Stefano Garione.
Java Introduzione.
Transcript della presentazione:

Da dove iniziare a sviluppare Ovvero, un'infarinatura su: Componenti principali Strumenti di sviluppo Esempio pratico e pacchettizzazione A cura di: Luigi Maselli -

Programmare per un sistema operativo libero non è molto diverso dal programmare per un sistema proprietario, ci sono librerie, linguaggi di programmazione, ambienti di sviluppo,.. La principale differenza è che il controllo sull'evoluzione del sistema l'hai tu e non un'azienda unica. Questo significa anche che ci sono molte scelte possibili.

Il panorama del software libero e open source

Cos'é Linux?

È un Detersivo? VERO

È un Kernel? VERO

È un sistema operativo? FALSO

Qual'é il sistema operativo?

Come si chiama? e.. Gnome/Freebsd Android/Linux Opemoko GNU/Cygwin/Windows ??? GNU/Linux GNU/Linux/Ubuntu Sì, ma dove lo scarico? Sì, e X dove lo metti? GNU/X/Freedesktop/Gnome/Kde/../Linux Nah, troppo lungo

Come si chiama?

È un sistema operativo? FALSO No, ma per comodità molti lo chiamano così..e pace all'ambiguità Linux

Le librerie principali Freedesktop D-Bus: scambio messaggi/servizi tra applicazioni Gstreamer: framework multimediale PolicyKit: gestione permessi delle azioni delle applicazioni PackageKit: astrazione tra I vari sistemi di pacchettizzazione (anche mobile) Cairo: widget vettoriali Telepathy: astrazione per IRC, MSN, Jabber GeoClue: astrazione su GPS, localizzazione IP,.. [...]

Ora ci tocca fare qualche scelta.. NB: Non esiste il componente “perfetto”, c'è sempre qualche scelta da prendere a seconda del contesto. In generale quello che è semplice per gli umani non lo è per le macchine e viceversa.

Le scelte alternative possibili Librerie Freedesktop vs (mplayer, sudo, synaptic, pidgin..) perché è la retta via, anche se è ancora giovane. Gtk/GNOME vs Qt/Kde, per gusti personali, quindi Gconf, Glade, GVFS,.. Linguaggi di programmazione Ruby vs Python, Perl, C#, Java, C,.. perché è coinciso e leggibile. Strumenti di sviluppo Gedit vs Anjuta vs Monodevelop vs Eclipse Git vs Bazaar, Mercurial, CVS, SVN,.. Distribuzione.deb(Ubuntu/Debian) vs.rpm(Fedora, OpenSuse, Mandriva)

Esempio pratico

Interfaccia Grafica Glade 3 - disegnatore di GUI

gtk-builder-convert gui.glade gui.xml

Il codice in Ruby Gedit – Editor con plugin

Distribuzione (binaria) La struttura per il pacchetto.deb

Creazione del pachetto.deb dpkg-deb -b myapp-0.1

Installazione.deb Gdebi-gtk

Distribuzione (sorgente) DVCS – Git / Giggle / Github

Domande?

Riferimenti Kernel: Freebsd: GNU: Freedesktop: GNOME: Kde: Linguaggi di programmazione Gtk/C: Ruby: Python: Mono.NET: Text Editor e IDE Gedit: Gedit+plugin: Monodevelop: Eclipse: Anjuta: Altri strumenti Glade: Git: Giggle: Github: Bazaar: Launchpad: