StreamBuilder: il nostro framework open source per potenziare la tua dashboard.
Siamo incredibilmente entusiasti di annunciare che stiamo rendendo open source il framework personalizzato che abbiamo creato per potenziare la tua dashboard su Tumblr. Lo chiamiamo StreamBuilder e lo usiamo da molti anni.
Cominciamo dall'inizio. Cos'è l'open sourcing? L'open sourcing è un modello di sviluppo software decentralizzato che incoraggia la collaborazione aperta. In un linguaggio più accessibile, è qualsiasi programma il cui codice sorgente è reso disponibile per l'uso o la modifica a seconda di come gli utenti o altri sviluppatori lo ritengono opportuno.
Cos'è, allora, StreamBuilder? Bene, ogni volta che raggiungi il tuo feed Seguiti, o Per te, o i risultati di ricerca, i post di un blog, un elenco di post con tag o anche i consigli del blog, stai utilizzando questo framework sotto copertura. Se vuoi immergerti nel codice, dai un'occhiata qui su GitHub!
StreamBuilder ha molto da fare. L'architettura principale è incentrata sui "flussi" di contenuti: post di un blog, un elenco di blog che stai seguendo, post che utilizzano un tag specifico o post relativi a una ricerca. Si tratta di tipi separati di flussi, che possono essere mescolati insieme, filtrati in base a determinati criteri, classificati in base alla pertinenza o alla probabilità di coinvolgimento e altro ancora.
Sulla tua dashboard di Tumblr dalla scorsa settimana puoi vedere come ci sono i post dei blog che segui, mescolati con i post dei tag che segui, mescolati con i consigli dei blog. Ciascuno di questi è un flusso separato, con una propria logica, ma che condivide lo stesso framework. Inseriamo questi consigli a determinati intervalli, filtriamo i post in base a chi stai bloccando e classifichiamo i post per pertinenza se hai abilitato "Prima il meglio". Questi sono tutti esempi delle funzionalità che StreamBuilder ci offre.
Quindi, cosa è incluso nella confezione?
La libreria di codice framework completa che utilizziamo, su Tumblr, per alimentare quasi tutti i feed di contenuti che vedi sulla piattaforma.
Una sintassi YAML per comporre flussi di contenuti e come filtrarli, inserirli e classificarli.
Astrazioni per la composizione programmatica, il filtraggio, la classificazione, l'iniezione e il debug dei flussi.
Astrazioni per la composizione di flussi insieme, ad esempio con i caroselli, per flussi all'interno di flussi.
Un'astrazione per l'impaginazione basata su cursore per modelli di flusso complessi.
Unit test che coprono l'interfaccia pubblica per la libreria e la maggior parte del codice sottostante.
Documentazione. Abbiamo molto da migrare dai nostri strumenti interni e inserire qui!
Altri modelli di flusso di esempio e implementazioni di esempio di diversi flussi comuni.
In caso di domande, per favore controlla il codice e segnala un problema da lì.