Doggie Bus: come uno sviluppatore ha costruito un "\Uber per cani" con .NET MAUI e Azure
Cliente
Doggie Bus
Prodotti e servizi
.NET MAUI
ASP.NET
Azure
Settore
Trasporto
Dimensioni dell'organizzazione
Piccole dimensioni (1-100 dipendenti)
Paese/area geografica
Stati Uniti
Doggie Bus è una startup di New Orleans fondata da Troy Bergeron, che offre un servizio unico di "\Uber per cani" – un'app mobile che consente ai proprietari di animali domestici di pianificare corse sicure e convenienti per i loro cani verso l'asilo, il veterinario e altro ancora. Troy, un amante dei cani da sempre, guida personalmente la navetta Doggie Bus e tratta ogni cucciolo come un familiare. Il suo obiettivo è rendere il trasporto degli animali domestici facile e affidabile come chiamare un servizio di rideshare, così i proprietari possono avere totale tranquillità.
Per dare vita a questa visione, Troy ha collaborato con Mario DeLuca (DeLuca Technologies), un ingegnere del software esperto e early adopter di .NET MAUI (e Xamarin prima di questo). Insieme hanno costruito un'app mobile multipiattaforma al pari delle migliori esperienze di rideshare, ma è progettata per i genitori di animali domestici.



Persone reali, passione reale
All'inizio del 2024, Doggie Bus è stato lanciato su iOS e Android, rendendo semplicissimo per i proprietari di animali domestici organizzare le corse. L'impegno personale di Troy per la sicurezza degli animali domestici è al centro del servizio. Incontra ogni nuovo cliente (umano e cane) e fornisce fiducia attraverso la trasparenza: i proprietari possono tenere traccia del Doggie Bus in tempo reale su una mappa e ricevere notifiche ad ogni ritiro o riconsegna.
I genitori di animali domestici, spesso protettivi come qualsiasi genitore, amano questa visibilità. L'app offre loro tranquillità, sapendo dove si trova sempre il loro "cucciolo peloso" e che è in buone mani.
Sul lato tecnico, Mario è stato l'eroe dietro le quinte. Da sviluppatore C# di lunga data, era entusiasta di utilizzare .NET end-to-end per Doggie Bus. Questo gli ha permesso di creare un'esperienza mobile nativa e rifinita su entrambe le piattaforme. La partnership ha funzionato senza intoppi: Troy ha contribuito con una profonda conoscenza del settore e un feedback costante come primo utente dell'app (gestendo il suo percorso quotidiano tramite una modalità amministrativa), mentre Mario ha iterato rapidamente sulle funzionalità. Entrambi erano motivati dalla missione di rendere il servizio "così facile che anche un cane potrebbe svolgerlo", come ama scherzare Troy.
Il nostro servizio dovrebbe essere così semplice che persino un cane potrebbe svolgerlo"
Migliori insieme: risolverlo con .NET MAUI
La sfida: Doggie Bus aveva bisogno di app mobili di alta qualità su due piattaforme senza raddoppiare gli sforzi. Richiedeva inoltre comunicazioni in tempo reale (per il monitoraggio delle corse dal vivo) e un'interfaccia utente elegante e intuitiva per infondere fiducia negli utenti. Come piccola startup, hanno dovuto fornire tutto questo con tempi e budget limitati.
La soluzione .NET: Mario ha scelto .NET MAUI per l'app mobile, consentendogli di puntare a iOS e Android da una singola codebase C#. Questa decisione ha immediatamente dimezzato i tempi e i costi di sviluppo, poiché una codebase produce due app native. "Con .NET MAUI, siamo riusciti a condividere oltre il 90% del codice tra piattaforme. Questa efficienza ci ha permesso di muoverci più velocemente, ridurre il sovraccarico di manutenzione e fornire un'esperienza coerente sia su iOS che su Android.", aggiunge Mario. Il framework .NET MAUI ha fornito le prestazioni native e la flessibilità necessarie, senza richiedere un grande team. Gli aspetti chiave della soluzione includono:
- Codebase dell'app unificata: circa il 90% del codice dell'app Doggie Bus è condiviso tra le piattaforme. Le funzionalità principali (layout dell'interfaccia utente, logica di guida, modelli di dati) sono state scritte una volta in .NET ed eseguite in modo nativo sia su iOS che su Android. Solo alcune parti hanno richiesto modifiche specifiche per la piattaforma (ad esempio, un renderer mappa personalizzato su ciascun sistema operativo per animare senza problemi l'icona del bus). Questo approccio a codebase singolo garantisce parità di funzionalità e manutenzione semplificata.
- Back-end con tecnologia Azure: il team ha creato un back-end cloud con ASP.NET Core e Azure per gestire l'autenticazione, la pianificazione e l'archiviazione dei dati. Con Azure SignalR, l'app ottiene aggiornamenti in tempo reale: mentre Troy guida, la posizione GPS del furgoncino viene inviata al cloud e immediatamente trasmessa ai telefoni dei proprietari di animali domestici, in modo che possano vedere la navetta muoversi in tempo reale sulla mappa. Tutti i dati (pianificazioni, profili di animali domestici, libretti di vaccinazione) vengono archiviati nel Database SQL di Azure tramite Entity Framework. Il back-end si integra anche con Apple e Google per semplificare l'accesso. Questo stack Microsoft end-to-end (app MAUI + servizi di Azure) garantisce affidabilità e scalabilità fin dal primo giorno.
- Strumenti e librerie di sviluppo moderni: Mario ha sfruttato l'ecosistema .NET avanzato per accelerare lo sviluppo. Ha utilizzato il .NET MAUI Community Toolkit per componenti e effetti UI pronti all'uso e ha fatto uso di librerie open-source per flussi di autenticazione. Funzionalità di produttività come il Ricaricamento rapido XAML hanno consentito modifiche rapide all'interfaccia utente, e GitHub Copilot ha agito come un programmatore di coppia AI, generando codice di base e accelerando lo sviluppo. Il risultato: Doggie Bus è passato dal concetto a un'app ricca di funzionalità e rifinita in una frazione del tempo rispetto allo sviluppo tradizionale con più team.
Perché .NET MAUI? Oltre all'efficienza multipiattaforma, Doggie Bus ha scelto .NET per le sue prestazioni e l'ecosistema unificato. L'app utilizza la compilazione ahead-of-time (AOT), quindi funziona con prestazioni "fluide"\ anche su telefoni Android più vecchi. Utilizzando C# sia sul client che sul server, il team può condividere codice e competenze in tutto il progetto. Ad esempio, i modelli di dati vengono definiti una volta e riutilizzati su entrambi i lati, riducendo bug e discrepanze.
Mario ha considerato brevemente altri framework, ma dopo aver consegnato app di successo con Xamarin, ha ritenuto .NET MAUI affidabile per fornire risultati di qualità nativa. "Secondo me, è una scelta ovvia", dice riguardo alla scelta di MAUI. Questo approccio unificato ha eliminato la necessità di assumere sviluppatori iOS/Android separati e di apprendere nuovi linguaggi - un enorme vantaggio per una piccola azienda. Anche le sfide come l'implementazione di mappe in tempo reale e l'accesso social sono state risolte senza problemi grazie alla flessibilità e alle librerie di .NET.
Ogni volta che si presentava un ostacolo (come ottimizzare l'animazione del pin della mappa in movimento), .NET ha consentito soluzioni personalizzate senza arrivare a un vicolo cieco. In breve, .NET fornisce tutto il necessario in un'unica piattaforma, rendendo lo sviluppo più veloce, economico e piacevole per il team di Doggie Bus.
.NET MAUI ci ha aiutato a ridurre i costi di sviluppo di oltre il 50%. Con una singola codebase e logica di backend condivisa, abbiamo fornito app native ad alte prestazioni per iOS e Android, senza raddoppiare il lavoro"
Impatto e il cammino da percorrere
Proprietari di animali domestici felici: dal lancio, Doggie Bus ha trasformato il modo in cui i clienti gestiscono il trasporto di animali domestici. La prenotazione di una corsa richiede solo pochi secondi nell'app, sostituendo ciò che prima era una telefonata o un SMS. Con un paio di tocchi, un proprietario di animali domestici pianifica un ritiro - non sono necessarie scartoffie o andirivieni. L'app invia notifiche automatiche nei momenti chiave (quando l'autobus si avvicina, quando il cane viene prelevato e quando la consegna è completa), quindi i proprietari non si preoccupano né si chiedono.
A loro piace particolarmente il monitoraggio dal vivo: guardare l'icona del Doggie Bus muoversi sulla mappa in tempo reale è sia rassicurante che divertente. Troy osserva: "Ricevo molti complimenti sulle notifiche", e molti utenti gli hanno detto che il servizio è incredibilmente facile da usare. Questa comodità e trasparenza hanno promosso una forte adozione da parte dei proprietari di animali domestici locali. Molti clienti ora prenotano corse con Doggie Bus più volte alla settimana come parte della loro routine, certi che sia affidabile e sicuro per i loro cuccioli.
Per l'operazione di Troy, la soluzione .NET ha portato miglioramenti immediati. Tutta la pianificazione e la registrazione sono diventate 100% digitali - "tutto è in un'unica app, non c'è una traccia cartacea", come dice Troy. Niente più clipboard o registri manuali; le funzionalità di amministrazione dell'app gli consentono di gestire il percorso di ogni giorno, controllare i profili dei cani e i libretti di vaccinazione, e gestire i pagamenti tutto in un unico posto.
Ciò ha semplificato le operazioni e ridotto gli errori. Troy può concentrarsi sulla cura dei cani anziché sulla burocrazia. Dal punto di vista finanziario, l'uso di .NET ha fatto risparmiare all'azienda una fortuna in costi di sviluppo. Creare app native separate avrebbe richiesto due sviluppatori o costose esternalizzazioni, che erano al di là dei moro mezzi. Invece, un solo sviluppatore ha realizzato l'intero prodotto.
Mario stima che la scelta di .NET MAUI "ha drasticamente ridotto i costi di sviluppo", il che è stato fondamentale per il lancio di Doggie Bus. Nonostante un budget limitato, l'app finale ha raggiunto una qualità professionale pari a quella di concorrenti molto più grandi. La scelta della tecnologia ha anche semplificato la manutenzione futura: nuove funzionalità possono essere aggiunte una volta e apparire su entrambe le piattaforme, mantenendo bassi i costi continuativi.
Grazie alla sua solida base tecnologica, Doggie Bus è pronto per la crescita. L'architettura nativa del cloud su Azure può facilmente supportare l'incremento di veicoli o nuove località, allineandosi con i piani di Troy di concedere il servizio in franchising. Il team sta già esplorando l'espansione in altre città, sapendo che è possibile estendere la stessa app e il back-end con modifiche minime. Stanno anche pianificando un portale Web per le prenotazioni (probabilmente costruito con Blazor WebAssembly), e gran parte del codice .NET esistente può essere riutilizzato a tal fine. Con .NET, l'espansione è integrata, non un pensiero secondario - la versatilità della piattaforma significa che piattaforme mobili, Web e future possono condividere tutte una sola codebase e un set di competenze.
Riflettendo sul percorso finora, Troy e Mario sottolineano come .NET li abbia aiutati a trasformare un'idea in realtà. "Mario ha fatto diventare realtà il mio sogno", dice Troy, grato per la tecnologia e il talento che hanno dato vita a Doggie Bus. Mario, a sua volta, attribuisce il merito agli strumenti: ".NET fa diventare realtà i sogni", dice, notando che la piattaforma ha permesso a un piccolo team di fornire un'app oltre le loro aspettative iniziali. Mario continua: "Questa non è solo un'app mobile — è una piattaforma scalabile e connessa al cloud progettata per la crescita. Con .NET MAUI e Azure, abbiamo creato una base pronta per il futuro, snella, efficiente e progettata per espandersi.". Il successo di Doggie Bus - proprietari di animali domestici felici, un'azienda fiorente e una base per la crescita - è la prova. Con .NET al volante, questo "\Uber per cani" sta prendendo la strada con fiducia.
Con .NET e Microsoft, non stai solo creando software: stai trasformando la tua visione in soluzioni reali. È il luogo dove i sogni diventano realtà."
Pronti per iniziare?
Questa esercitazione dettagliata ti aiuterà a ottenere .NET MAUI in esecuzione nel computer.