Blog Stats

  • Blogs - 41
  • Posts - 4278
  • Articles - 185
  • Comments - 23659
  • Trackbacks - 950

Bloggers (posts, last update)

Powered By:
Powered by Subtext

Latest Posts

Video-serie introduttiva a Xamarin

Ho recentemente collaborato con Syncfusion per la realizzazione di una serie di video di introduzione a Xamarin.

In 5 video, viene fornita un'infarinatura sullo sviluppo per Android e iOS + Xamarin.Forms con C# e Visual Studio 2017.

E' una serie introduttiva e come tale va considerata, quindi la ritengo particolarmente utile per coloro che hanno sentito parlare di Xamarin e vorrebbero capire meglio di cosa si tratta e cosa ci si può fare, senza avere la pretesa di essere un corso o un approfondimento.

Il primo video della serie è disponibile sul canale YouTube di Syncfusion:


I prossimi arriveranno con cadenza regolare.

Alessandro

posted @ 26/05/2017 11:54 by Alessandro Del Sole

Visual Studio for Mac, Xamarin e iOS: Risolvere l'errore MT2001 "Could not link assemblies"

Come sapete, Visual Studio 2017 for Mac è stato rilasciato ormai una decina di giorni fa. Nelle prossime settimane vorrei dedicare qualche post e video a questo fantastico strumento, nel frattempo segnalo un problema e come risolverlo.

Lo scenario è una solution Xamarin.Forms in cui la build del progetto iOS solleva l'errore MT 2001: "Could not link assemblies. Reason: value cannot be null" dove viene specificato il nome di un qualche metodo o costruttore nel codice a cui non verrebbe passato un argomento, peraltro non richiesto.

Se dovesse capitarvi, con estrema probabilità la causa è legata al fatto che, da qualche parte nel progetto PCL, avete abilitato la compilazione dello XAML (XamlC) con l'attributo XamlCompilation.

Provate a togliere o a commentare questo attributo e a ricompilare. A me questo tip ha funzionato. E si, concordo sul fatto che il messaggio di errore è totalmente fuorviante.

Alessandro

posted @ 22/05/2017 10:56 by Alessandro Del Sole

Nuovo articolo su MSDN Magazine, Roslyn + .NET Core

Sul numero di maggio 2017 di MSDN Magazine è apparso un mio nuovo articolo dal titolo "Cross-platform code generation with Roslyn and .NET Core".

Di che si tratta? viene spiegato come invocare il compilatore C# e le sue API per generare ed eseguire codice anche su .NET Core, ciò vuol dire generare ed eseguire codice su Windows, Linux e macOS.

Non a caso, viene utilizzato Visual Studio Code come ambiente di lavoro e la CLI di .NET Core.

Si trova qui.

Alessandro

posted @ 05/05/2017 02:00 by Alessandro Del Sole

Nuovo eBook da Xamarin dedicato a Forms

Microsoft e il team di Xamarin hanno pubblicato un nuovo eBook dedicato a Xamarin.Forms molto interessante, dal titolo: Enterprise Application Patterns using Xamarin.Forms.

Nell'eBook si parla di come usare Xamarin.Forms in applicazioni mobile per l'azienda, ricorrendo a pattern come MVVM e all'interazione con servizi esposti tramite Web API, in alcuni casi passando per Docker.

Certamente un'ottima risorsa per vedere Xamarin.Forms da un punto di vista più realistico e meno didattico, con spunti sicuramente interessanti.

Alessandro

posted @ 04/05/2017 16:16 by Alessandro Del Sole

Oggi, 10 anni fa, usciva il mio primo libro

10 anni fa, il 27 aprile del 2007, usciva il mio primo libro "Visual Basic 2005 Oltre il Codice".



Mai fu più vera la classica frase "quanta acqua è passata sotto i ponti"! Da allora ho scritto 4 libri cartacei in italiano, 4 cartacei in inglese, 7 eBook in inglese e 1 eBook in italiano, passando per Visual Basic, WPF, Visual Studio, Xamarin, Visual Studio Code, Roslyn e LightSwitch. Ho visto i miei libri esposti a Redmond e in varie librerie, belle soddisfazioni.

Mi ricordo perfettamente di quell'esperienza e del periodo della scrittura, ma sono ricordi intimi che tengo per me.

Soprattutto ho fatto tanta esperienza nello scrivere, ho "rubato il mestiere" ai vari editori tecnici e di produzione per imparare al meglio anche tecniche linguistiche, soprattutto in inglese, che poi negli anni sono convogliate nello stile di oggi.

Ringrazio ancora oggi Fabrizio Comolli per la fiducia che mi accordò all'epoca. Chissà senza di lui come sarebbero andate le cose e come sempre la community, sia per la visibilità ma anche per il sostegno morale Altrettanto ovviamente, difficilmente un autore viene confermato varie altre volte se i suoi libri non vendono, quindi un grazie di cuore a chi ha speso i propri soldi per leggere un po' delle mie esperienze.

Per festeggiare la ricorrenza sto, ovviamente, lavorando a un nuovo libro per un importante editore americano

Alessandro

posted @ 27/04/2017 02:00 by Alessandro Del Sole

Il mio nuovo eBook su Xamarin, in italiano

Ieri Microsoft ha pubblicato un mio nuovo eBook di introduzione a Xamarin, dal titolo Tutti X uno, Uno X Tutti. La X, come potete immaginare, richiama la lettera caratteristica di Xamarin.



E' in italiano, prima nota degna di considerazione

E' un ebook introduttivo, quindi serve a fare la conoscenza di Xamarin, a prendere confidenza con la tecnologia, a muovere i primi passi con Xamarin.Android, Xamarin.iOS e Xamarin.Forms, oltre che per esplorare alcuni scenari Cloud come il Visual Studio Mobile Center per implementare autenticazione e tabelle per i dati.

Colgo l'occasione per ringraziare Francesca Longoni di Microsoft, per aver curato in modo impeccabile l'intero processo, e l'amico Dan Ardelean di Mahiz Srl, popolare MVP e grande esperto di Xamarin che ha curato la revisione tecnica del libro.

Se vi stavate chiedendo da dove cominciare con Xamarin, questo è il testo che fa per voi.

Alessandro

posted @ 13/04/2017 02:00 by Alessandro Del Sole

Xamarin.Forms: gestire il flyout delle MasterDetailPage

Come forse sapete, una MasterDetailPage in Xamarin.Forms è un particolare tipo di pagina che permette di avere un menu laterale a scorrimento, detto Master, e una parte di dettaglio che contiene tipicamente una NavigationPage o anche una ContentPage.

In questo post non voglio parlare di come utilizzarla, bensì di come gestire un suo comportamento.

Un piccolo fastidio è che, quando tocchiamo elementi che stanno nella parte Master, il flyout rimane aperto e non scompare automaticamente. Questo più che altro se siamo in una visualizzazione "portrait", perché se siamo in "landscape" con maggiore spazio a disposizione non ci dovrebbero essere problemi.

Fortunatamente, la MasterDetailPage ha una proprietà che si chiama IsPresented e che può essere assegnata con false per nascondere il flyout da codice. Quando lo si fa, però, è bene controllare che sia utile o necessario, per esempio verificando che la pagina sia in modalità portrait sfruttando il codice descritto nel post precedente.

Alessandro

posted @ 11/04/2017 02:00 by Alessandro Del Sole

Xamarin.Forms e l'orientamento delle pagine

Xamarin.Forms non ha, di suo, strumenti per capire o gestire l'orientamento delle pagine. Bisogna lavorare sui progetti di piattaforma.

Tuttavia, se il nostro obiettivo è solamente capire l'attuale orientamento della pagina, si può sfruttare l'evento SizeChanged e dire che l'orientamento è landscape se la larghezza è maggiore dell'altezza. In questo semplice modo:


Alessandro

posted @ 10/04/2017 02:00 by Alessandro Del Sole

Nuovo video: Xamarin, pubblicare app Android su Google Play con VS 2017

Sul canale YouTube della nostra community Visual Studio Tips & Tricks è disponibile un nuovo video registrato dal sottoscritto che spiega come pubblicare un'app Android, creata con Xamarin e C#, sullo store Google Play eseguendo la generazione e la certificazione del pacchetto .apk direttamente in Visual Studio 2017, per poi esaminare i passaggi da eseguire all'interno della developer console di Google.

Lo trovate qui:



Alessandro

posted @ 06/04/2017 02:00 by Alessandro Del Sole

Xamarin, Android e i crash in chiusura

Può succedere che un'app Android scritta con Xamarin.Forms vada in crash quando, dalla pagina principale, si preme il back button e si porta l'app alla chiusura.

Il problema si rileva tipicamente quando la pagina principale è una MasterDetailPage. Il punto è che, non solo si tratta di un bug noto da parecchio tempo, i pacchetti NuGet in pre-release di Xamarin.Forms non hanno ancora risolto il problema.

Gli workaround possono essere di tanti tipi, a seconda dello scenario. Per esempio si può forzare l'apertura di una pagina nell'override di OnBackButtonPressed.

Nel caso in cui, invece, non si voglia far niente se non evitare un fastidioso messaggio all'utente, si può andare nel file MainActivity.cs del progetto Android e fare l'override di OnDestroy in questo modo:

protected override void OnDestroy() 
{    
try
   
{        
base
.OnDestroy();    
}    
catch
 (Exception ex)    
{    
}
}

OnDestroy viene chiamato quando l'activity dev'essere distrutta e, se siete curiosi e vi aiutate col debugger, scoprirete che qui si va in eccezione perché l'activity risulta già distrutta e inaccessibile.

Non è la soluzione più elegante, ma funziona con poco sforzo. In attesa di un fix.

Alessandro

posted @ 04/04/2017 02:00 by Alessandro Del Sole