Introduzione
Al corso di Ingegneria e Scienze Informatiche dell’Università di Bologna, è presente un esame facoltativo di Sviluppo Mobile.
Da usufruitore dell'ecosistema Apple e appassionato di sviluppo mobile, mi sono iscritto al corso e ho deciso di portare un rifacimento dell'applicazione MyVet User, applicazione che ho co-prodotto in qualità socio e programmatore di MyVet S.r.l.
Scopo
Lo scopo e' quello di presentare un'applicazione MVP per l'esame, garantendo la compatibilità con l'app originale, con anche l'intento di presentarla come demo al resto dei soci, dove al tempo era oggetto di discussione la possibilità di ricostruire l'app.
Struttura
Dato che l'esame consiste nella presentazione del solo frontend nativo, come backend ho usato le API dell'ambiente aziendale di Development.
Nel momento della presentazione, il software permette di:
registrarsi e accedere tramite credenziali, negoziando un Token JWT;
registrarsi e accedere con il proprio account Apple;
CRUD completo dei propri animali;
ricerca fuzzy e geolocalizzata dei veterinari su mappa nativa, attraverso il motore di ricerca Elasticsearch;
salvare i professionisti trovati;
prenotare un appuntamento;
Architetturalmente parlando, l'applicazione e' progettata totalmente seguendo il pattern MVVM e utilizza una logica a servizi per condividere lo stato delle entità applicative.
Peculiarità
Questo progetto e' stato l'utilizzo di Liquid Glass, iniziando il progetto con le versioni Beta Sviluppatore, rilasciate dopo la presentazione alla WWDC25. Cio' mi ha permesso di essere il primo in assoluto a portare un progetto con il nuovo linguaggio visivo.
Tra le altre unicità, per via della pesantezza di XCode, il mio povero MacBook M2 da 8GB non era in grado di reggere l'IDE e l'Emulatore iOS contemporaneamente. Quindi, per impedimenti tecnologici, l'applicazione e' stata totalmente sviluppata in versione desktop e compilata al termine dello sviluppo delle singole feature nella versione mobile. Questo mi ha garantito anche il primato di prima app Desktop presentata al corso.
Conclusione
Il mio progetto ha rispettato appieno tutte le richieste minime applicative, presentando anche tutte le feature opzionali, superando ampiamente i punti massimi possibili.
Questo più tutte le esclusività come Liquid Glass e la versione Desktop, ho ricevuto la splendida valutazione di 30 e Lode.
