Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoEmilio Perri Modificato 8 anni fa
1
Da dove iniziare a sviluppare Ovvero, un'infarinatura su: Componenti principali Strumenti di sviluppo Esempio pratico e pacchettizzazione A cura di: Luigi Maselli - http://grigio.orghttp://grigio.org
2
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.
3
Il panorama del software libero e open source
4
Cos'é Linux?
5
È un Detersivo? VERO
6
È un Kernel? VERO
7
È un sistema operativo? FALSO
8
Qual'é il sistema operativo?
11
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
12
Come si chiama?
13
È un sistema operativo? FALSO No, ma per comodità molti lo chiamano così..e pace all'ambiguità Linux
14
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,.. [...]
15
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.
16
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)
17
Esempio pratico
18
Interfaccia Grafica Glade 3 - disegnatore di GUI
20
gtk-builder-convert gui.glade gui.xml
21
Il codice in Ruby Gedit – Editor con plugin
23
Distribuzione (binaria) La struttura per il pacchetto.deb
26
Creazione del pachetto.deb dpkg-deb -b myapp-0.1
27
Installazione.deb Gdebi-gtk
30
Distribuzione (sorgente) DVCS – Git / Giggle / Github
33
Domande?
34
Riferimenti Kernel: www.kernel.orgwww.kernel.org Freebsd: www.freebsd.orgwww.freebsd.org GNU: www.gnu.orgwww.gnu.org Freedesktop: www.freedesktop.orgwww.freedesktop.org GNOME: www.gnome.orgwww.gnome.org Kde: www.kde.orgwww.kde.org Linguaggi di programmazione Gtk/C: www.gtk.orgwww.gtk.org Ruby: www.ruby-lang.orgwww.ruby-lang.org Python: http://www.python.ithttp://www.python.it Mono.NET:http://www.mono-project.comhttp://www.mono-project.com Text Editor e IDE Gedit: http://live.gnome.org/Gedithttp://live.gnome.org/Gedit Gedit+plugin: http://grigio.org/pimp_my_gedit_was_textmate_linuxhttp://grigio.org/pimp_my_gedit_was_textmate_linux Monodevelop: www.monodevelop.comwww.monodevelop.com Eclipse: www.eclipse.orgwww.eclipse.org Anjuta: http://anjuta.sourceforge.nethttp://anjuta.sourceforge.net Altri strumenti Glade: http://glade.gnome.orghttp://glade.gnome.org Git: http://git.or.czhttp://git.or.cz Giggle: http://developer.imendio.com/projects/gigglehttp://developer.imendio.com/projects/giggle Github: http://github.comhttp://github.com Bazaar: www.bazaar-vcs.orgwww.bazaar-vcs.org Launchpad: https://launchpad.net/https://launchpad.net/
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.