Stage a Vivido SRL (Giugno 2012) -Windows 8 e Podio

Stage a Vivido SRL (Giugno 2012) -Windows 8 e Podio

Inizio col precisare che in questa azienda sono tutti disponibili/gentili e si chiamano tutti per nome.

Detto ciò passiamo alla parte tecnica:

Studio presso l’istituto superiore ITIS Meucci di Firenze (http://www.itismeucci.net), sono al quarto anno della specializzazione di Informatica (che sta per terminare con questa esperienza a Vivido). Premettendo che le materie in cui spicco sono quelle di indirizzo (Informatica, sistemi, matematica, calcolo ecc..) e non quelle umanistiche (in cui ho un 6 regalato), la mia specialità non è la scrittura quindi non c’è da aspettarsi un linguaggio forbito, cercherò solo di esprimere nel modo migliore ciò che ho fatto in queste 3 settimane + il giorno del colloquio.

Colloquio di Introduzione all’Azienda

Qualche giorno prima della fine delle lezioni sono venuto a Vivido per fare un semplice colloquio introduttivo. Tralasciando la parte in cui, per un fraintendimento, sono arrivato 2ore dopo l’orario fissato, sono stato accolto da Andrea Serena, responsabile di progetto.

Dopo avermi chiesto le mie conoscenze sull’informatica mi ha spiegato in una ventina di minuti ciò che avrei fatto, senza entrare troppo nel dettaglio ma in modo molto diretto mi ha fatto capire che avrei sviluppato un’applicazione per Windows 8 o per Windows Phone 7. Prima di congedarmi mi sono fatto dire di cosa si occupava in generale la sua azienda. E’ stato un colloquio interessante.

Prima Settimana

Ho cominciato da subito a lavorare su Windows 8 (macchina virtuale), ho dato un’occhiata alle nuove ‘funzionalità’ e ho notato subito che il tasto START è stato rimpiazzato con una schermata in cui vengono mostrate un po’ tutte le applicazioni, devo dire che è utile per un’utilizzo su Tablet ma per PC è molto scomodo.

Dopo una ventina di minuti ho finalmente aperto Visual Studio 2012 RC, mi è stato spiegato in breve il nuovo modo di sviluppare la parte Xaml  con grafica Metro Style.
Ho scelto di sviluppare tutti i miei progetti i C# visto che è il linguaggio che ho studiato durante tutto il 4°anno.
Il primo giorno mi è stato dato un Lab online della Microsoft che mostrava un po’ i vari aspetti di questo nuovo ambiente di sviluppo. Devo dire che la maggior parte del Lab riguardava copiare del codice qua e la. Comunque dopo un paio di Task cominci a capire come gira.
(Avendo terminato il programma scolastico di Informatica con “Le classi derivate” non avevo neanche lontanamente le capacità per capire del tutto i codici che mi proponeva Microsoft quindi mi sono limitato a copiarli e a fare qualche prova).

Alla fine della settimana avevo “sviluppato” 3applicazioni abbastanza semplici (…le ho copiate pari pari dai Lab):

  • Un’applicazione Hello Word (niente da dire)
  • Un’applicazione per gestire il gli Stati (congelare e ripristinare un’applicazione)
  • Un Blog Reader (che di default riportava le notizie principali dei vari blog Microsoft, essendo carino ho provato a inserire anche un po’ dei miei blog preferiti, tutto sommato un’applicazione niente male)

+ un’applicazione, anche questa abbastanza semplice, una specie di Memory/Quiz sui Kanji.

Seconda Settimana

Dopo essermi esercitato per la prima settimana sono passato a progettare l’applicazione (per Windows 8 ) che avrebbe dovuto gestire un’interfaccia per il sito di Podio.

Cos’è podio? E’ un Social Network molto simile a Facebook, con la differenza che non è destinato al passatempo o allo stalkerare ciò che fanno i tuoi amici ma bensì è progettato per gestire un ambiente aziendale. Non ho visto tutte le funzionalità quindi elenco quelle che ho notato essere diverse da quelle di Facebook:

  • Puoi affidare dei Task (compiti, o lavoro da svolgere)
  • Gestire un calendario con gli Eventi e gli Impegni dell’Azienda
  • Puoi aggiungere delle tue applicazioni (non ho idea di come quindi mi limito a dire questo)
  • Creare degli Space di lavoro
  • più altre funzionalità sempre per organizzare il lavoro.

Per saperne di più ovviamente: https://podio.com/

L’idea di sviluppare un applicazione per Podio è scaturita quando sono state rilasciate le Api, infatti l’obiettivo era di rilasciare:

  • un’applicazione per Windows Phone 7, visto che sono state già sviluppate quelle per iPhone e per Android.
  • un’applicazione per Windows 8, in modo da essere una delle prime aziende a pubblicare un’applicazione Win8 sullo Store.

Un po’ demotivato (visto che uno può benissimo aprire il browser e usare lì Podio e non ha bisogno di un Applicazione, anche se alla fine migliorando la grafica potrebbe venir fuori qualcosa di carino) ho inziato il progetto che si può suddividere in 6 parti, due le ho create nella 2°settimana, il resto nella 3°.

Prima parte del progetto: Creare la Schermata di Log In.

La parte più semplice, infatti ci sono stato la bellezza di 4 giorni. Non avendo mai affrontato l’argomento ho trovato difficoltà in ogni passaggio.
Lo scopo: (era semplice) Ricevere da Podio un access token che permette di accedere a tutte le altre funzionalità e un user ID che serve a filtrare i dati che verranno inviati (contatti, messaggi, stream ecc…)
I passaggi: (invece non mi risultavano altrettanto semplici, anche perché ho dovuto dedurli in parte da solo, comunque dopo una giornata e mezzo erano abbastanza chiari)

  1. Inviare a Podio una richiesta web passandogli come parametri l’Username e la Password  dell’utente.
  2. Ricevere il response (che viene inviato in JSon) da Podio e inserirlo in una stringa.
  3. Deserializzare la stringa JSon e creare un oggetto visibile a tutta l’app con i dati ricevuti.

 

Per la WebRequest non ho impiegato poi così tanto tempo, mentre capire come deserializzare il JSon è stato un dramma.

Alla fine ho aggiunto una dll di Newtonsoft scaricata da qui per ottenere le funzioni per deserializzare, mentre per crearmi le classi ho fatto ricorso a http://json2csharp.com/, tu gli passi un JSon e lui ti restituisce le classi in C#, senza questo sito sarei stato perso.
Comunque c’è voluto davvero molto tempo a capire come far funzionare il tutto.  Ecco il risultato:

Seconda parte del progetto: Recuperare lo Stream di un Utente

E’ stata (relativamente) più semplice avendo capito come fare le WebRequest, consisteva nel recuperare le attività dell’utente.
Comunque c’è voluto diverso tempo e così è finita la settimana.

Terza Settimana

E’ stato deciso di sostituire la seconda parte con una che desse all’utente la possibilità di accedere a: Task, Notifiche, Attività e Contatti.

(nuova) Seconda parte del progetto: Creare il Menu

E’ stato facile, si tratta solo di recuperare le informazioni ( e crearsi gli oggetti) relative alla funzionalità al quale uno vuole accedere nel momento in cui l’utente clicca l’icona.  Risultato:

Terza, Quarta, Quinta e Sesta parte del progetto: Creare le varie pagine (Task, Notifiche, Attività e Contatti)

In questa parte c’è stato da lavorare sullo Xaml, anche qui per la prima pagina che sono andato a creare (Contatti) ci sono state varie difficoltà, non sapevo cosa fosse il binding e come utilizzarlo.

Lo scopo: visualizzare le informazioni ricevute

I passaggi:

  1. Creare un template per ogni tipo di oggetto che si vuole visualizzare, bindando i vari campi con quelli dell’oggetto ricevuto da Podio.
  2. Creare un contenitore (Gridview o Listview) per gli oggetti da visualizzare.
  3. Abbinare il template al contenitore.
  4. Dare come source al contenitore la Lista di oggetti pieni di informazioni inviate da Podio.

Un po’ di ScreenShot:

Andando avanti con questo metodo è stato possibile sviluppare facilmente (quasi) tutte le pagine del progetto.

Posso dire di aver imparato molto e di essermi spinto oltre le semplici applicazioni che di solito sviluppavo a scuola.

3 commenti

  • Bravo Martin. A settembre dovrai raccontare tutto questo ai tuoi compagni di classe.

    Andrea Zurli Reply
  • Complimenti Martin, credo che questa esperienza ti abbia dato una carica di stimoli per proseguire la tua formazione in modo più motivato e interessante.

    Aicha Helifa Reply
  • Pingback: Windows Developer Conference 2012 – La nostra esperienza | VIVIDO

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *