Per la maggior parte degli svi­lup­pa­to­ri, GitHub è un tool im­por­tan­te per accedere di­ret­ta­men­te a un progetto sfrut­tan­do il vantaggio di lavorare di­ret­ta­men­te sul suo codice sorgente. Diversi utenti possono con­tri­bui­re a livello globale a un singolo progetto, salvando le proprie modifiche in­di­pen­den­te­men­te dagli altri. Al contrario di altri provider di gestione di software open source, per GitHub non è il progetto come raccolta di codici sorgente a essere al centro dell’at­ten­zio­ne, bensì la pos­si­bi­li­tà di uti­liz­za­re in­di­vi­dual­men­te i re­po­si­to­ry, ossia gli indici che vengono gestiti tramite Git. Gli utenti di GitHub possono uti­liz­za­re Git oppure Sub­ver­sion come VCS (Version Control System, ovvero controllo versione), per gestire, ag­gior­na­re o mettere a di­spo­si­zio­ne i propri progetti di software.

Fatto

Per quanto riguarda i sistemi ge­stio­na­li di versione, come CVS o SVN, il codice sorgente o altri file vengono salvati su un re­po­si­to­ry o anche in un archivio del progetto. Da qui possono essere caricati su altri PC. Una volta conclusa l’ela­bo­ra­zio­ne, i file mo­di­fi­ca­ti possono essere nuo­va­men­te ar­chi­via­ti nel re­po­si­to­ry, ma così facendo viene re­gi­stra­ta anche la modifica.

Vantaggi e svantaggi dell’utilizzo di GitHub

Un vantaggio im­por­tan­te di GitHub è che il servizio permette a tutti gli utenti l’accesso a re­po­si­to­ry di codice il­li­mi­ta­ta­men­te liberi e pubblici. Tuttavia per il man­te­ni­men­to di re­po­si­to­ry privati è richiesto un ab­bo­na­men­to mensile. All’interno di GitHub è possibile creare “or­ga­niz­za­zio­ni”, che di base fungono come account regolari, se non fosse che è ne­ces­sa­rio possedere almeno un profilo utente da pro­prie­ta­rio.

In alcuni casi, però, può accadere che si ri­scon­tri­no li­mi­ta­zio­ni nell’usabilità e nell’ef­fi­cien­za di GitHub. Possono infatti avvenire com­pli­ca­zio­ni con il client e con il datore di lavoro, ad esempio nel caso in cui un server privato sia uti­liz­za­to come host per il codice creato. Un ulteriore motivo per cercare un’al­ter­na­ti­va a GitHub è l’utilizzo di un altro VCS che non viene sup­por­ta­to da GitHub. Esistono alcune valide al­ter­na­ti­ve a GitHub, delle quali ne pre­sen­te­re­mo cinque.

GitLab

GitLab offre numerose funzioni utili nel suo DVCS (Di­stri­bu­ted Versions Control System, cioè un sistema di controllo di versione di­stri­bui­to), come ad esempio un Wiki integrato e un sito web per il progetto. Le capacità di in­te­gra­zio­ne con­ti­nua­ti­ve di GitLab au­to­ma­tiz­za­no la fase di test e di rea­liz­za­zio­ne de­fi­ni­ti­va del vostro codice: in questo modo si risparmia tempo durante i test. Con GitLab ottenete un accesso fa­ci­li­ta­to a tutti gli aspetti fon­da­men­ta­li del vostro progetto grazie a un vi­sua­liz­za­to­re di codice sorgente, richieste pull e una fun­zio­na­le ri­so­lu­to­re di conflitti. L’ap­pli­ca­zio­ne è stata scritta prin­ci­pal­men­te nel lin­guag­gio di pro­gram­ma­zio­ne Ruby.

Sour­ce­For­ge

Di fatto Sour­ce­For­ge si trovava sul mercato prima di GitHub e di altre al­ter­na­ti­ve open source e risultava la prima scelta in questo ambito. Dopo aver superato le dif­fi­col­tà del 2015 con Malware, l’azienda è tornata in car­reg­gia­ta a partire dal 2016: Sour­ce­For­ge offre ora un’au­ten­ti­ca­zio­ne multi fattore, ri­spet­tan­do così le linee generali richieste in materia di sicurezza. Tra le ulteriori funzioni rientrano anche l’issue-tracking, ovvero un sistema in­for­ma­ti­co di gestione delle richieste di as­si­sten­za, e un in­di­ciz­za­zio­ne del codice in­cor­po­ra­to.

Cloud Source Re­po­si­to­ries

In seguito all’in­suc­ces­so di Google Code, il servizio ha trovato nuova vita come controllo versione della Google Cloud Platform. Grazie a Cloud Source Re­po­si­to­ries, che si trova nella fase beta, è possibile collegare ulteriori re­po­si­to­ry a seconda delle necessità tramite GitHub o Bitbucket. Potete però uti­liz­za­re anche gli stessi re­po­si­to­ry di Google. Questi possono essere salvati tramite l’intera in­fra­strut­tu­ra di Google: ciò significa che il codice e le ap­pli­ca­zio­ni sono al sicuro. Il più grande vantaggio di Cloud Source Re­po­si­to­ries consiste nella ricerca diretta del codice dal browser. Inoltre i bug sono rin­trac­cia­bi­li grazie a Cloud Dia­gno­stics, mentre il codice lavora in back­ground.

GitKraken

GitKraken punta tutto sul risparmio di tempo che in effetti torna molto comodo all’utente durante la fase di test del codice. Il sistema è co­no­sciu­to per il bell’aspetto della sua in­ter­fac­cia, l’im­por­tan­za che dà alla velocità e infine la sem­pli­ci­tà dei comandi Git. Grazie al pratico pulsante per annullare, gli errori possono essere revocati: questa funzione facilita il flusso la­vo­ra­ti­vo in maniera si­gni­fi­ca­ti­va. La versione gratuita di GitKraken è di­spo­ni­bi­le per aziende con meno di 20 di­pen­den­ti e per or­ga­niz­za­zio­ni non a scopo di lucro. La versione pro offre altre feature molto utili, come ad esempio il supporto per il profilo, per dividere co­mo­da­men­te diversi progetti l’uno dall’altro.

GE1ImXs2LnI.jpg Per visualizzare questo video, sono necessari i cookie di terze parti. Puoi accedere e modificare le impostazioni dei cookie qui.

Apache Allura

Allura è un software open source di Apache per la gestione di re­po­si­to­ry del codice sorgente, rapporto degli errori, di­scus­sio­ni, pagine Wiki, blog e altri contenuti online. Durante il processo di issue-tracking all’interno di Allura, è possibile uti­liz­za­re la for­mat­ta­zio­ne Markdown, utile alla con­ver­sio­ne della sintassi in lin­guag­gio HTML, come anche allegati di file, e infine applicare i co­sid­det­ti milestone (ovvero traguardi intermedi nello svol­gi­men­to del progetto) ai ticket di se­gna­la­zio­ne delle domande ricevute. In aggiunta, avete a di­spo­si­zio­ne una sintassi di ricerca ampliata, con la quale potete ad esempio salvare richieste di ricerca ri­cor­ren­ti. Un’analisi del codice non è però possibile con questo sistema. La piat­ta­for­ma è stata svi­lup­pa­ta con Python.

Vai al menu prin­ci­pa­le