Bitforce universal

Bitforce universal e’ il nostro setup unico per gestire all’interno della solita codebase applicazioni web, PWA, e native (ibride), 

Una configurazione monorepo ci permette di creare in tempi rapidi suite di apps, omogenee, testate e performanti. In questo ecosistema sono accelerati anche deploy, sviluppo di change requests e bug fix.

Come nasce l'idea

Come nasce l'idea

Una richiesta che riceviamo frequentemente e’ quella di sviluppare un nuovo applicativo composto da: app pubblica, app admin, ed applicazioni native iOs / Android.

Invece di proporre lo sviluppo di app completamente separate, grazie a Bitforce universal possiamo sviluppare tutto all’interno del solito progetto!

Abbiamo utilizzato le nostre migliori conoscenze da architetti software applicando design pattern che ci hanno permesso di astrarre il concetto di piattaforma sulla quale stiamo sviluppando. Per aprire una modale usiamo un semplice dialog.open({}) e questa si mostrerà correttamente su web o sull’app nativa.

In questo modo la PWA pubblica può usare un design system, la PWA admin un altro, e le app native il design system di nativo.

I Vantaggi

Poter avere quattro applicazioni all’interno della solita codebase permette un elevato riuso del codice che si traduce in delivery date accorciata,  minor numero di bugs e regressioni.

Modelli, controllers e chiamate alle API sono tutti condivisi.

Monorepo vs Multi repo

Monorepo vs Multi repo

Pensate alla differenza tra l’approccio con un solo team che lavora su un solo progetto con sole tecnologie web e quello di avere due o addirittura tre team se si opta per app native.

Con più team è necessario:

  • Interagire con team diversi: Più meeting e SAL, più backlog da gestire, più daily stand up etc..

  • Costi del personale elevati: Più scrum master, project manager e sviluppatori!

  • Trovare bravi sviluppatori: Recruiting su diverse skills, web iOs ed Android.

  • Tenere allineati i team: Web, nativo ed API / BE devono essere tutti allineati per poter deployare la solita feature o bug fix su tutti i canali.

L'importante è arrivare per primi!

L'importante è arrivare per primi!

La fase di sviluppo è fondamentale ma un progetto prende vita soltanto quando va in produzione. Da quel momento in poi il suo successo sarà decretato dalla flessibilità e velocità con cui riuscirà ad adattarsi alle richieste del business e degli utenti

Con un’infrastruttura articolata, con team eterogenei e tante persone da gestire difficilmente si otterrà la velocità desiderata.

Caso di studio: Children Monitor

Per il progetto children monitor, abbiamo utilizzato l’approccio Bitforce universal creando una PWA per i genitori, una PWA per l’amministrazione delle aziende di trasporto ed una app nativa / ibrida per gli autisti. Il tutto all’interno della solita codebase. 

Questo ci ha permesso di ridurre drasticamente i tempi di sviluppo riusando la totalità dei modelli, tutte le chiamate ai servizi API e gran parte della business logic.

Il progetto adesso è in produzione ed operazioni come bug fix o change request vengono eseguite rapidamente su tutte e 3 le apps mantenendole allineate sia per quanto riguarda la UI che per le features deployate. Fantastico!!!