Archivi Tag: blog

A volte ritornano…

E’ passato più di un’anno dall’ultimo articolo pubblicato su questo Blog.

La vita è strana ed a volte ci sono dei periodi in cui ti ritrovi ad essere sopraffatto dagli eventi e a non trovare il tempo per quello che vorresti fare.

Questo anno è volato tra la nascita del terzo figlio e tutto un susseguirsi di giri di clienti, senza contare i tanti eventi community a cui ho partecipato sia come speaker che come partecipante.

Ma per fortuna le cose cambiano sempre e finalmente è tempo di ripartire anche con questa avventura. Mi è sempre piaciuto spendere un pò del mio tempo condividendo su questo blog (oltre che farlo alle sessioni degli eventi) un pò di quello che sò perchè magari può essere utile a qualcuno, e quindi a breve ci saranno altri post con molte novità e nuovi argomenti che spero vi interesseranno.

Le idee che ho in mente sono molte, ma per ora preferisco non spoilerare (come è di moda dire in questo periodo) niente 😀

Quindi per ora non mi resta da fare altro che augurarvi buon coding e darvi appuntamento a breve su queste pagine 😉

Insider Dev Tour Roma – un evento fantastico

Qualche giorno fà (il 14 giugno 2018 per l’esattezza) si è tenuta la tappa di Roma dell’Insider Dev Tour, un Tour mondiale organizzato da Microsoft in collaborazione con gli MVP locali in 42 città per far conoscere tutte le novità Insider che ci aspetteranno all’interno di Windows nel futuro prossimo.

Per quanto mi riguarda ho avuto la fortuna di partecipare all’organizzazione di questo evento insieme a Marco Dal Pino e tutta la squadra di DotNetToscana e tutti gli amici di sempre e devo dire di essere veramente soddisfatto della riuscita dell’evento.

idt3

Nonostante qualche piccolo intoppo nella giornata precedente di preparazione all’evento, come il drone che faceva le bizze o problemi con la prenotazione delle stanze d’albergo :P, la giornata dell’evento è stata perfetta il tutto è andato nel modo giusto e la giornata è stata un successo con un afflusso ottimo di persone e drop delle resenze rispetto alle prenotazioni inferiore alle nostre aspettative.

Eventi come questi ti fanno essere ancora più orgoglioso di essere parte di un mondo community che riesce a fare grandi cose mettendoci impegno, passione e quel pizzico di follia che rende il tutto meno pesante e riesce a spezzare il clima in alcuni momenti in cui ti sembra ci siano problemi molto grandi

Sò che molti purtroppo non capiranno quello di cui sto parlando ma vi rinnovo come sempre il consiglio che dò quando parlo con le persone che incontro, se avete una passione cercate sempre di condividerla con gli altri, in questo modo il vostro cammino sarà sempre una crescita in comune dove tutti avranno modo di far migliorare gli altri e migliorarsi.

 

Se vi siete perso questo evento mi consiglio di seguire i vari canali social delle community intorno a voi in modo da essere sempre aggiornati su quello che bolle in pentola, e vi posso assicurare che ce ne saranno ancora delle belle 😀

A questo punto non mi resta altro da fare che augurarvi buon coding come sempre e sperare di vedervi al prossimo evento!

DotNetAbruzzo su Technet

Grazie ad Emiliano Musso ho avuto modo di fare un’intervista per raccontare quanto abbiamo fatto quest’anno con DotNetAbruzzo

Già qualche giorno fà era stata postata la versione inglese dell’articolo

https://blogs.technet.microsoft.com/wikininjas/2017/06/23/friday-international-update-news-from-dotnet-abruzzo-italian-community/

Da oggi è presente anche quella in italiano.

https://blogs.technet.microsoft.com/wikininjasit/2017/07/09/sunday-special-aggiornamenti-dalla-community-dotnet-abruzzo/

Non posso far altro che ringraziare Emiliano per l’opportunità e consigliarvi di leggere l’articolo in questione 😀

Il mio primo MVP Summit

Come tutte le cose, soprattutto quelle belle, finiscono subito e così domenica sono rientrato in italia dopo il mio primo MVP summit.

Devo dire che per essere la prima volta le mie aspettative erano molto alte e fortunatamente sono state soddisfatte 😀

E’ stata una settimana intensissima di sessioni, party, incontri, chiacchiere e risate che mi hanno fatto capire perchè c’è gente che da anni si reca a questo evento e come finisce non fà altro che aspettare il seguente.

Oltre alle sessioni è questo clima di vera community che si respira che ti permette di fare networking con persone che vengono dall’altra parte della terra ( anche se a dire il vero in questo caso eravamo noi italiani quelli 😛 ) e di incontrare e scambiare quattro chiacchiere con dipendenti microsoft che prima evevo visto solo su video di Channel 9 o dei grandi eventi ufficiali.

Quello che mi ha stupito è stato proprio questo clima di informalità dove con un bicchiere di caffè in mano, una birra e magari in un pub o su un autobus potevi discutere con chiunque di qualunque livello e di qualsiasi nazionalità

Mentre i contenuti naturalmente sono sotto NDA, posso tranquillamente ringraziare tutte le persone che hanno trascorso con me questa fantastica avventura e che mi hanno fatto da guida essendo al mio primo Summit ed anche al mio primo viaggio oltre oceano.

Devo però ringraziare nel dettaglio la mia famiglia che ha sopportato la mia assenza 😀 , Cristina che mi ha sopportato per tutti i problemi tecnici che ho avuto e che ha cercato di risolvere, Nicolò che mi ha sopportato come compagno di stanza e soprattutto tutti i componenti di DotNetToscana che come al solito accolgono tutti sotto la loro ala protettiva e sono sempre prodighi di consigli e suggerimenti (anche culinari) e perchè no anche a scarrozzare tutti in giro per Siattle con l’autista e cicerone d’eccezione Marco Dal Pino 😀

Naturalmente sono tornato con molti gadget che dividerò al prossimo evento community e visto che c’ero ne ho approfittato per spendere qualche soldino ed acquistare anche il Surface Dial che da noi è introvabile e del quale a breve leggerete qualche post.

A questo punto non mi resta che fare altro che augurarvi buon coding come al solito ed io non posso far altro che sperare di essere rinnovato il prossimo anno e di poter andare di nuovo al Summit 😀

mvp_summit

Perchè community? (#TecHeroes loves #Gamedev Tour)

Poche settimane fà insieme a Microsoft con DotNetAbruzzo abbiamo organizzato la tappa Aquilana del  #TecHeroes loves #Gamedev Tour, un’evento itinerante con varie tappe in giro per l’italia per far conoscere il mondo dello sviluppo di videogame.

Come è consuetudine Microsoft in queste situazioni si appoggia alle community locali che conoscono bene il territorio per avere una mano nell’organizzazione e nel contempo dà essa stessa una mano pubblicizzando l’evento e facendo quindi conoscere la community.

In questo caso come DotNetAbruzzo, di cui sono fondatore, siamo stati onorati della scelta, ancor di più per la giovinezza della nostra community che ha da poco superato il primo anno dalla fondazione.

L’evento è stato un gran successo sia in partecipazione che in interesse, stupendo gli stessi speaker ( che diciamo non sono proprio neofiti e quindi ne hanno viste di platee 😀 ) e ci ha ripagato come organizzatori e speaker di tutto quello che abbiamo fatto.

Questo è un tipico esempio di quello che vorrei far capire alle persone che mi chiedono “perchè utilizzi tempo ed energie per portare avanti la community?”

Dietro cose del genere c’è molto lavoro di organizzazione, ricerca della location, pubblicità, preparazione delle sessioni ecc e se devo confessare a volte c’è anche sconforto quando ti trovi davanti ostacoli futili ma poi ti rimbocchi le mani ed insieme agli altri membri cerchi di aggirare l’ostacolo (come non posso ringraziare Gino per la grande pazienza con me e lo sbattimento per la location 😀 ).

Il tutto poi è fatto in modo gratuito, anzi spendendo anche dei soldi in viaggi, cene, alloggi che nessuno ti rimborsa. A questo punto la domanda torna, perchè?

Almeno nel mio caso è la voglia di condividere e l’amore che ho per quello che faccio e che fortunatamente è il mio lavoro. Vedere persone interessate, soprattutto ragazzi, che finito l’evento ti vengono a parlare, ti fanno domande e ti ringraziano personalmente non ha valore. C’è poi la voglia di voler dare una mano alle nuove generazioni, quando ero io lì al loro posto avrei voluto poter avere occasioni del genere ed avendo due figlie piccole vorrei che anche loro potessero avere occasioni del genere in futuro per poter sapere cosa li circonda e quale potrebbe essere il loro impegno futuro, soprattutto in un campo che è quello della tecnologia che avanza ad una velocità impressionante ed in cui le università fanno fatica a stare al passo.

Questa volta siamo stati fortunati e l’università ha anche realizzato un video dell’evento quindi potete avere un’idea di quello che vi siete perso se non avete partecipato, e magari potrà farvi venire voglia di andare ad un’altro evento. Quello che voglio consigliarvi è di guardarvi intorno, di qualsiasi cosa siate appassionati cercate e sicuramente troverete una community in cui potrete partecipare per condividere le vostre passioni e magari se non c’è fate come me è fondatela 😀

Spero di non avervi annoiato con questo lungo post ma di aver invece stuzzicato la vostra voglia di conoscenza.

Di seguito trovate il video di cui vi parlavo.

Come sempre buon coding…….

UWP: Lavorare con i file – i permessi

Riscrivendo come UWP la mia app Your Files e volendo trasformarla anche in un file manager ho avuto (e stò avendo) molto a che fare con la gestione dei files. Ho deciso quindi di scrivere questa serie di post cercherò di condividere  quello che ho imparato in modo che possa essere utile anche ad altri.

Questi post hanno come riferimento le app UWP per windows 10 ma visti i punti in comune con la versione RT della piattaforma (Windows 8/8.1 e Windows Phone 8.1 RT) quanto sarà descritto potrà essere applicato anche ad essa.

Permessi per accedere ai file

Le app UWP per poter essere controllate e non fare danni o accedere a file sensibili sono confinate in una sandbox e hanno necessità che gli vengano forniti i permessi per poter accedere ai file sul file system.

L’accesso ai file può avvenire in due modi:

  • Attraverso il file di manifest
  • Attraverso una richiesta programmatica all’utente (FilePicker)

Permessi attraverso il file di manifest

Tramite il file di manifest possiamo selezionare due permessi di accesso alla raccolta musicale ed alle immagini che ci permettono di avere accesso diretto alle due cartelle relative

manifest

 

Per tutti gli altri file e cartelle (compresa quella dei documenti) occorre fare esplicita richiesta all’utente

Permessi tramite esplicita richiesta

Per poter richiedere il permesso di poter accedere a qualsiasi file o cartella (non protetta) del file system Windows 10 ci mette a disposizione gli oggetti FileOpenPicker e FileSavePicker per i file e FolderPicker per le directory

Iniziamo a vedere un esempio di come ottenere l’accesso ad un file

// Configurazione
 FileOpenPicker fop = new FileOpenPicker();
 fop.FileTypeFilter.Add(".png");
 fop.FileTypeFilter.Add(".jpeg");
 fop.FileTypeFilter.Add(".jpg");
 
 // Interazione con l'utente
 StorageFile sf=await fop.PickSingleFileAsync();
 // controllo se il file è stato selezionato
 if (sf != null)
 

Come potete vedere una volta creato l’oggetto FileOpenPicker è necessario popolare la lista FileTypeFilter con le estensioni tra cui vogliamo che l’utente possa scegliere.

Considerazione importante è che non è possibile aggiungere il filtro .* o simili sempre per motivi di sicurezza, quindi è necessario sempre inserire la lista completa delle estensioni che si vogliono gestire

Se vogliamo invece avere accesso a tutti i file di una cartella (e di tutte le relative sottocartelle) possiamo utilizzare il FolderPicker in modo molto simile a come visto precedentemente

FolderPicker fp = new FolderPicker();
StorageFolder folder=await fp.PickSingleFolderAsync();
if(folder!=null)

Mantenere i permessi ricevuti

Utilizzando il codice che abbiamo visto negli scorsi paragrafi saremo costretti a richiedere i permessi ogni volta che andiamo ad utilizzare una cartella, anche se l’utente li aveva già dati in una sessione precedente. Per risolvere il problema possiamo utilizzare l’oggetto FutureAccessList che ci permette di memorizza cartelle e file con relativi permessi per un utilizzo futuro.

In più ad ogni oggetto possiamo assegnare un token per una ricerca più veloce.

L’utilizzo è decisamente semplice

// Aggiunta di una cartella o file alla lista
 StorageApplicationPermissions.FutureAccessList.Add(folderOrFile, metadata);
 
// Ripristino di un file o folder con i relativi permessi
StorageFile sf=await StorageApplicationPermissions.FutureAccessList.GetFileAsync(token);
 StorageFolder folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);

La classe mette a disposizione anche ulteriori metodi come CheckAccess per controllare se sono presenti i permessi per una determinata cartella.

Conclusioni

In questo post abbiamo visto come vengono devono essere gestiti i permessi per accedere ai file nelle nostre app.

Rispetto alla normale programmazione desktop occorre avere qualche accortezza in più, ma è lo scotto da pagare per avere una piattaforma più sicura.

Nei prossimi articoli vedremo come visualizzare modificare tutti i dettagli dei file e come utilizzarli per scrivere e leggere le informazioni in essi contenute

Se avete qualche dubbio lasciate pure un commento! Buon coding!!

Xamarin diventa gratuito!!

La notizia era nell’aria da quando Microsoft aveva acquisito Xamarin e molti (me compreso) ci speravano e ieri sera Build è stato finalmente dato l’annuncio che Xamarin è diventato gratuito.

Vediamo nel dettaglio cosa cambia.

Adesso Xamarin è diventato parte integrante di Visual Studio e rientra nella sua licenza in tutte le versioni, il che vuol dire che anche se avete diritto ad utilizzare la licenza community (hobbysti, sviluppatori freelance, piccole aziende con meno di 5 sviluppatori e meno di 1 milione di $ di fatturato, progetti open souce, ecc) potete utilizzarla gratuitamente.

Naturalmente chi ha le versioni professional ed enterprise avrà alcuni vantaggi come l’accesso a contenuti extra di Xamarin Universiti e sconti sul Test Cloud ma diciamo che il cambiamento è veramente importante e pone lo sviluppo con xamarin ad un livello superiore eliminando la barriera di accesso iniziale che era l’acquisto di una costosa licenza.

Altra novità non da poco è che il Runtime Mono alla base di Xamarin sarà reso Open Source sotto licenza MIT e liberamente scaricabile di GitHub

Per tutti i dettagli potete partire dallo store ufficiale di Xamarin

https://store.xamarin.com/

e dal post di annuncio ufficiale di Microsoft

https://blogs.msdn.microsoft.com/visualstudio/2016/03/31/mobile-app-development-made-easy-with-visual-studio-and-xamarin/

Buon coding!!

Evitare che la nostra applicazione funzioni su continuum

Continuum è una delle funzioni più interessanti pra quelle inserite in windows 10 per mobile, e di default permette di far girare qualsiasi applicazione sviluppata con la tecnologia delle UWP.

Se però per qualche ragione vogliamo evitare che la nostra app possa essere lanciata sul monitor collegato basta inserire qualche riga nel nostro package.appxmanifest

no_continuum.

Dovremo anche aggiungere al progetto il riferimento all’estensione per Windows Mobile

estensioneWindowsMobile

È inutile aggiungere che escludere il funzionamento in continuum delle nostre app è una pratica sconsigliata, in quanto gli utilizzatori potrebbero non comprenderne la motivazione e ripagarvi con commenti negativi ma se proprio volete farlo adesso sapete come 😀

UWP: Come dare un’occhiata a tutte le impostazioni dello stile di default

Per poter modificare lo stile di un elemento di una UWP è risaputo che da Visual Studio oppure da Blend basta premere il tasto destro un elemento e quindi generare una copia del template.

Quello che forse è meno conosciuto è il fatto che è possibile avere accesso in modo veloce allo stile di tutti gli elementi e a tutte le risorse.

Basta recarsi nella cartella

C:\Program Files (x86)\Windows Kits\10\DesignTime\CommonConfiguration\Neutral\UAP

dove troveremo varie sottocartelle in base alle versioni dell’SDK che abbiamo installato, nel nostro caso c’è solo la cartella 10.0.10240.0. All’interno di essa c’è poi un’altra cartella Generic al cui interno troveremo i file che ci interessano

uwp_res

All’interno di essi abbiamo tutti gli stili che possiamo copiare all’interno della nostra applicazione e modificare per dare alla nostra app il tocco grafico che vogliamo.

Buon divertimento 😀

Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

Questo sito utilizza i cookie per fonire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o clicchi su "Accetta" permetti al loro utilizzo.

Chiudi