Il 2018 si è concluso e molti progetti stanno iniziando a tirare le somme in modo da valutare i risultati ottenuti. Tramite la trending page di Github è possibile valutare quali sono i repository dei progetti open source più attivi, per loro natura infatti essi rendono disponibili tutte le informazioni sui processi di sviluppo, soprattutto quando il codice è ospitato da una piattaforma di codice sharing.
In questo articolo andremo ad illustrarvi i 5 progetti open source più attivi e innovativi del 2018 tra quelli segnalati dalla trending page di Github.
Flutter
Partiamo da Flutter. Lo sviluppo mobile multipiattaforma impone agli sviluppatori diversi compromessi, si è spesso costretti a scegliere tra creare la stessa App più volte o a sfruttare framework di sviluppo che generano applicazioni ibride multipiattaforma (PWA), ma che, comunque, non possono sfruttare tutte le caratteristiche dell’hardware come le applicazioni native.
Google ha dunque sviluppato Flutter proprio per risolvere queste problematiche. il progetto offre infatti una soluzione che da accesso al meglio di entrambi i mondi, ovvero grafica e interfaccia utente con accelerazione hardware e codice nativo per le piattaforme hardware ARM.
Flutter non sostituisce i tradizionali modelli di App iOS e Android, ma è nella sostanza un "engine" che è possibile incorporare in un’App esistente o utilizzare per un’App completamente nuova.
Grafana Loki
Passiamo a Grafana Loki, questo log aggregation system ispirato a Prometheus si caratterizza per essere scalabile orizzontalmente e multi-tenant. È stato quindi realizzato per essere facile da utilizzare oltre a garantire un buon rapporto costi-efficacia, questo perché non indicizza il contenuto dei log ma sfrutta un set di etichette per ogni flusso.
Rispetto ad altri sistemi di aggregazione di log non esegue l'indicizzazione completa del testo nei registri, ma archivia registri compressi non strutturati oltre ai metadati di indicizzazione. Raggruppa inoltre i flussi di registro utilizzando le stesse etichette già in uso con Prometheus.
Homemade machine learning
È il turno di Homemade machine learning, si tratta di un repository pubblico contenente esempi di algoritmi di machine learning implementati in Python, con la spiegazione matematica che sta alla base di essi.
Ogni algoritmo ha una demo interattiva su Jupyter Notebook che consente di operare con i dati di allenamento, con le configurazioni degli algoritmi e di visualizzare immediatamente i risultati, i grafici e le previsioni direttamente nel browser.
Lo scopo di questo repository non è quello di implementare algoritmi di machine learning utilizzando librerie di terze parti. Infatti i creatori di Homemade machine learning hanno realizzato tale repository in modo da consentire a chi lo volesse di migliorare la comprensione della matematica che sta alla base di ogni algoritmo. Ecco perché tutto il materiale presente nel repository è da considerarsi come strumento per migliorare le proprie skill e non come risorse destinate agli ambienti di produzione.
Ant Design
Andiamo adesso su Ant Design, è un design language basato su un'implementazione di React. Gli sviluppatori l'hanno realizzato in Typescript ed offre diverse soluzioni di front-end design. Una delle feature più interessanti è la sua Ant Design Landing platform, che permette di sfruttare un grosso bacino di template packages pronti per l'uso e per diversi contesti.
Supporta nativamente Electron e i principali browser sul mercato.
Node.js Best Practices
L'ultimo progetto di oggi è Node.js Best Practices. Node.js è una piattaforma open source event-driven per l'esecuzione di codice JavaScript Server-side, ed è sicuramente uno dei software che hanno maggiormente rivoluzionato lo sviluppo delle Web application negli ultimi anni.
Node.js Best Practices è una raccolta di best practice che si dovrebbe seguire quando si sviluppa utilizzando Node.js. Attualmente il repository contiene oltre 50 best practice, guide di stile e suggerimenti di architettura. Inoltre nuovi problemi e PR vengono creati ogni giorno per mantenere aggiornato il database del progetto.