La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

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

Presentazioni simili


Presentazione sul tema: "Da dove iniziare a sviluppare Ovvero, un'infarinatura su: Componenti principali Strumenti di sviluppo Esempio pratico e pacchettizzazione A cura di: Luigi."— Transcript della presentazione:

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?

9

10

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

19

20 gtk-builder-convert gui.glade gui.xml

21 Il codice in Ruby Gedit – Editor con plugin

22

23 Distribuzione (binaria) La struttura per il pacchetto.deb

24

25

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

27 Installazione.deb Gdebi-gtk

28

29

30 Distribuzione (sorgente) DVCS – Git / Giggle / Github

31

32

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/


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

Presentazioni simili


Annunci Google