GitHub, cos'è? E perchè troviamo Joomla

Informazioni UtiliUn altro articolo che può inizialmente far indispettire chi pensa di trovare articoli solo su Joomla, ma vale la pena, soprattutto per chi non si accontenta di scaricare ed installare Joomla CMS fare questa piccola digressione.

Cos'è GitHub?

Nel mondo del web 2.0 dove spuntano Social Network per qualsiasi cosa come poteva mancare un qualcosa dedicato ai Developers che il web lo fanno? Probabilmente è anche per rispondere a questa domanda nasce GitHub.
Possiamo definirlo un Social Code, perchè dopo esservi registrati avrete a disposizione oltre ai classici strumenti social, quindi Followers e Follow altri servizi dedicati a chi scrive codice, i principali sono Repository e Gist..

Repository

Sveliamo l'arcano con un esempio pratico, immagine di avere un progetto e siete per lo più nomadi quindi vi serve poterlo scaricare e caricare, controllando la versione e le modifiche fatte da ovunque ci sia una connessione internet, vi basta creare un vostro Repository on line con il contenuto del progetto e fare Pull o Push delle vostre modifiche.

Pull e Push? Mi prendi in giro?

Non fate i permalosi, adesso vi spiego cosa intendo. Conoscete SVN? O meglio, sapete cos'è il controllo di versione? In sostanza immaginate di iniziare un progetto, modificarlo salvarlo arrivare ad una versione stabile e fermarvi. Poi volete continuare a svilupparlo, cosa si fa? copiate il progetto e iniziate a sviluppare la versione 2, in modo da non compromettere la 1 stable. Poi per problemi per qualche assurda condizione astrale vi casca un meteorite sul progetto 1, come ci tornate?
Con GitHub potete farlo, perchè in automatico tiene a mente tutte le versione che voi gli date in pasto.
Questo in soldoni, perchè è un aspetto che va un po' fuori dall'argomento GitHub e Joomla ma che potrete provare sulla vostra pelle registrandovi al servizio.
Continuiamo con un esempio pratico, questo è il repository di Joomla e questo è l'Account Joomla su GitHub, dove ci sono gli altri progetti fatti dal Team, come per esempio la Joomla Platform.
Questi Repository potete seguirli, in alto premendo su Watch, oppure "Forkarli" premendo sul bottone Fork. "Forkandoli" creerete una copia personale del progetto, che andrà ad inserirsi tra i vostri Repository, modificandolo a vostro piacimento. è facile intuire che con questo metodo, i progetti open source hanno la possibilità di sfruttare al massimo la comunità di dev che lavora con loro, perchè se si nota un problema e si vuole sistemare il codice, basta forkare il progetto, modificarlo e inviare con una Commit la proposta di proprio codice, che poi può essere inclusa ufficialmente dai responsabili del progetto.
Questo in linea di massima perchè per queste cose il Team Joomla usa una sua piattaforma JoomlaCode e non sfrutta a pieno la forza di GitHub.

Git

i Git sono un altro servizio importante messo a disposizione, molto simile a quello che fa Pastebin ovvero ti permette di condividere file formattati secondo il linguaggio di programmazione utilizzato, quindi gestisce i colori e rende più snella la lettura del codice.
Ed ovviamente anche per questi file esiste un controllo di versione, quindi potrete sempre controllare la vostra modifica ed eventualmente recuperarne una versione precedente. Ed in più se il git è pubblico altre persone potranno mandarvi una loro versione del codice.

Perchè Joomla è su GitHub?

Come? Dopo tutto quello che avete letto vi fate ancora questa domanda?! GitHub è l'ideale per gestire la cooperazione, ed in un progetto open source rendere snello il processo di collaborazione al codice è essenziale. Quindi anche Joomla, come molti altri grandi progetti vedi, Zend Framework, Symfony, Wordpress e tanti altri.

Perchè io developer dovrei usare GitHub?

Perchè è Social, e ti permette di essere in contatto con progetti giganti, rimanere aggiornati, perchè per esempio su GitHub è già disponibile l'ultima versione di Joomla ovvero la 3, non è stabile ma comunque è la più aggiornata. Partecipare e leggere tanto codice che si sa è il metodo migliore per migliorarsi.
Ovviamente ci sono molto altri motivi tecnici per cui vale la pena utilizzarlo, vi lascio qualche Link utile per approfondire
Mi scuso per aver lasciato molto spazio all'approfondimento personale, ma con GitHub si apre un capitolo molto ampio che comprende vari argomenti che anche io sto assimilando, spero sia stata una digressione interessante che potremo approfondire in seguito, a questo punto vi aspetto, questo è il mio Account GitHub :) .

CommentaCommenta questo articolo sul forum