Xamarin Forms & .NET Standard – Getting started

In this blog post we’re going to lay the basis for future posts about Xamarin Forms. We’ll explore briefly what’s Xamarin Forms and why it’s so powerful. Then we’ll talk about .NET Standard and we’ll understand why it’s a very big achievement for the .NET ecosystem.Read More »

Advertisements

Agile@School – quinta lezione

Oggi siamo giunti al giro di boa per all’IIS Viola/Marchesini di Rovigo col progetto Agile@School e Xamarin: quinta lezione su dieci.

Il clima natalizio si è sentito e gli studenti erano tutti di buon umore e carichi.

IMG_20171220_162553

Read More »

Agile@School – Terza lezione

Eccoci giunti alla terza lezione su dieci del laboratorio Agile@School dell’IIS Viola/Marchesini di Rovigo

Screenshot_1

Stand-up meeting

Anche questa volta abbiamo fatto pratica con lo stand-up meeting in cui abbiamo fatto un piccolo riassunto della puntata precedente ed è stato introdotto a grandi linee il programma della giornata. La partecipazione al riassunto sugli argomenti passati è stata tiepida ma ugualmente ci ha fatto scontrare col fatto che per riassumere gli episodi precedenti bisogna scegliere l’adeguato livello di astrazione: né troppo elevato, né troppo dettagliato. A seguire ho introdotto gli argomenti della giornata e una previsione sulla lezione futura.

MVVM – Comandi

Abbiamo ripreso il filo della lezione precedente introducendo il concetto di comandi nel mondo MVVM. Con l’occasione abbiamo letto insieme la documentazione MSDN dell’interfaccia ICommand, abbiamo ripassato il concetto di delegati e studiato un’implementazione di ICommand. Ancora una volta il livello di preparazione delle quinte mi ha stupito perché la definizione di delegato era già stata spiegata dai prof. nelle ore “standard”, cose che ai miei tempi non si facevano.

Hands-on

Per impratichirsi coi comandi ai ragazzi è stata consegnata un’applicazione già iniziata ma con delle parti mancanti. Abbiamo preso questa occasione per riconciliare tutte le cose provate nelle puntate precedenti e quindi abbiamo:

  • Creato un nuovo progetto su VSTS;
  • Inizializzato il repository git con l’applicativo di base;
  • Ho fatto finta di essere un cliente che racconta un’esigenza che è stata trascritta dagli studenti in forma di user story in VSTS;
  • Sviluppato su feature-branch collegato alla user-story;
  • Creato pull-request e fatto merge del lavoro.

Quello che qui è riassunto in cinque punti di un elenco puntato è stato ricco di interazione tra me e la classe e tra gli studenti stessi. Confronti, dubbi, errori, chi finiva priva che spiegava agli altri…

A questo punto la classe mi ha nuovamente stupito perché hanno finito in anticipo rispetto alle tempistiche che avevo immaginato e quindi mi sono dovuto inventare al volo un’altra esigenza e abbiamo ripetuto di nuovo il processo di sviluppo. Già al secondo giro si vedeva una maggiore confidenza sia con VSTS che con il pattern MVVM.

Wrap-up

Anche questa volta una giornata positiva e sicuramente la più operativa in termini d’uso di VSTS e righe di codice.

Nella prossima lezione approderemo su Xamarin facendo una panoramica sui concetti base.

Alla prossima settimana!

Agile@School – Seconda lezione

Anche questa settimana si è svolto l’incontro del laboratorio Agile@School all’IIS Viola/Marchesini.

Stand-up meeting

In questa seconda lezione abbiamo applicato subito uno dei concetti affrontati la lezione scorsa: il feedback per incentivare il miglioramento continuo. Ne abbiamo approfittato per introdurre lo stand-up meeting che viene svolto da molti team. In questi minuti di  incontro “informale” in piedi abbiamo provato a raccogliere sensazioni e pareri sul primo incontro. Dopo un primo momento di silenzio qualcuno ha detto il proprio parere:

  • Alcuni hanno definito l’incontro più interessante del previsto, in particolare è stato trovato interessante il concetto di team e la sua gestione;
  • Qualcun’altro è stato colpito dalla potenza della visualizzazione del lavoro tramite una kanban board;
  • Uno dei professori ha riferito che i principi base riguardanti DevOps sono molto interessanti.

Ho provato anche a incentivare feedback negativi ma nessuno si è sbilanciato. Per ora 3 feedback positivi sono un buon risultato, avanti così!

Sempre per esercitarci sullo stand-up meeting abbiamo anche accennato gli argomenti che avremmo affrontato nel pomeriggio e quelli della prossima lezione.

Slack

Per prendere confidenza con gli strumenti di collaborazione più diffusi ci siamo inseriti nell team Slack agileschool.slack.com. I ragazzi si sono trovati subito a loro agio senza problemi. Useremo Slack per passarci esercizi e il materiale che di volta in volta riterremo necessario.

Pull-Request

Tornati seduti abbiamo lavorato con VSTS per esercitarci con le pull-request. Gli studenti sono stati suddivisi in team da tre persone che hanno lavorato su un semplice esercizio con un’app WPF già preparata a cui apportare piccole modifiche. Alla fine del lavoro si chiedeva un’approvazione tramite PR agli altri membri del team. Con alcuni team ci siamo scontrati con problemi di merge. In alcuni casi li abbiamo risolti, in altri non ce l’abbiamo fatta per motivi di tempo.
Ad ogni modo mi sembra che il concetto e a cosa servono le pull-request sia stato ben capito.

MVVM

Come ultimo argomento abbiamo introdotto le basi dell’MVVM, il noto pattern a tre livelli per strutturare app che verrà utile con Xamarin Forms.

Abbiamo svolto un esercizio che ci ha fatto mettere le mani e vedere funzionare i meccanismi alla base di questo template e in particolare ci siamo concentrati sui Binding.

L’argomento non era di certo facile ma l’impegno da parte di tutti è stato notevole. Era bello vedere come chi aveva concluso tra i primi poi spiegava o aiutava agli altri, questo è lavoro di squadra!

photo_2017-11-30_23-03-04

Alla prossima settimana!