ComputerLand

Tu sei qui: Articoli MSDN

Notizie dal web

Video su SharePoint 2010 per sviluppatori ASP.NET

E-mail Stampa PDF

SharePoint 2010 è un'incredibile piattaforma applicativa, molto utilizzata in ambito enterprise.

Ogni sviluppatore ASP.NET vi si può avvicinare e l'integrazione con Visual Studio 2010 dell' ambiente di sviluppo ne rende facile l'utilizzo.

In questi video fatti da Giuseppe Marchi, Microsoft MVP, scoprirete tutto quello che serve per svilupparci e capire la piattaforma.

Buona visione


read full article

Guest post: I nuovi launcher e chooser di Windows Phone 7.5

E-mail Stampa PDF

Questo Guest Post è stato scritto da Matteo Pagani, MVP Device Application Development

La versione 7.1 dell’SDK di Windows Phone (quella che consente di sviluppare applicazioni per Mango, ormai conosciuto con il nome ufficiale di Windows Phone 7.5) non ha introdotto solamente nuove API e nuove feature (come il Fast Application Switching o i background agents), ma ha anche espanso le funzionalità già esistenti.

E’ il caso dei launcher e chooser: oltre a quelli già presenti nella versione 7.0, ne abbiamo infatti di nuovi, che aprono nuovi scenari per le nostre applicazioni.

Ma facciamo un passo indietro e vediamo brevemente cosa sono i launcher e i chooser: le applicazioni Windows Phone girano in una sorta di sandbox, ovvero isolate l’una dall’altra. Questo significa che non hanno modo di accedere l’una ai dati dell’altra: questo vale ovviamente anche per le applicazioni native.

Per dare perciò la possibilità agli sviluppatori di interagire con il sistema sono stati creati i launcher e i chooser, ovvero dei meccanismi per demandare al sistema operativo stesso l’interazione con le applicazioni native. Questo significa che quando useremo una di queste API la nostra applicazione verrà sospesa, lasciando il controllo a quella nativa.

Che differenza c’è tra queste due tipologie? I launcher vengono utilizzati quando non ci sono informazioni di ritorno da restituire alla nostra applicazione, ma vogliamo semplicemente demandare un’operazione al sistema (ad esempio, la visualizzazione di una mappa); i chooser, invece, servono nel caso in cui è necessario importare dei dati da un’applicazione nativa verso la nostra (ad esempio, una foto o un contatto).

Già dalla versione 7.0 il numero di launcher e chooser disponibili era piuttosto nutrito: grazie ad essi era possibile importare foto dall’hub Pictures, contatti dall’hub People, spedire mail o sms, lanciare una ricerca sul Marketplace o su Bing, ecc. Potete leggere qui una panoramica sui launcher e qui sui chooser disponibili già dalla versione 7.0 di Windows Phone.

Tutti i launcher e chooser condividono la medesima struttura: si crea una nuova instanza di una delle classi facenti parte del namespace Microsoft.Phone.Tasks, si valorizzano una o più proprietà che servono per definire le informazioni richieste dal launcher / chooser e si chiama il metodo Show, che lo esegue.

Nel caso dei chooser solitamente occorre registrarsi anche ad un evento asincrono Completed, che viene scatenato nel momento in cui il chooser ha terminato il suo compito e dobbiamo recuperarne i dati restituiti.

Nel resto dell’articolo ci concentreremo solo sui nuovi launcher e chooser introdotti in Mang o, tralasciando quelli per la condivisione sui social network che sono già stati trattati da Lorenzo in un post precedente.

I launcher

Bing Maps Direction Task

L’applicazione Maps di Windows Phone, come saprete, offre la possibilità di calcolare il percorso da percorrere per raggiungere un determinato luogo.

Questo launcher vi permette di lanciare una ricerca di questo tipo dalla vostra applicazione, semplicemente specificando il punto di partenza e quello di arrivo. Vediamo un esempio:

  BingMapsDirectionsTask task = new BingMapsDirectionsTask

                                              {

                                                  Start = new LabeledMapLocation(StartAddress.Text, null),

                                      &nb sp;           End = new LabeledMapLocation(EndAddress.Text, null)

                                              };

            task.Show();

 

La classe BingMapsDirectionsTask espone due proprietà, Start e End, che rappresentano rispettivamente il punto di partenza e il punto di arrivo del nostro percorso. Entrambe le proprietà sono di tipo LabeledMapLocation e, in fase di inizializzazione, possiamo specificare due parametri:

  • ·         L’indirizzo, sotto forma di stringa.
  • ·         Le coordinate geografiche, sotto forma di oggetto di tipo GeoCoordinate.

Nessuno dei due parametri è obbligatorio: possiamo lanciare il calcolo del percorso solo specificando l’indirizzo (e impostando a null le coordinate, come nell’esempio) oppure solo le coordinate geografiche (lasciando vuoto il primo parametro).

Bing Maps Task

Se abbiamo la necessità di mostrare informazioni di tipo geografico il controllo Map di Windows Phone può sicuramente dare un grande valore aggiunto alle nostre applicazioni. A volte , però, l’implementazione di tale controllo può essere troppo onerosa se, ad esempio, dobbiamo solo mostrare uno specifico luogo sulla mappa.

In queste situazioni ci viene in aiuto il BingMapsTask, che permette di demandare questa operazione all’applicazione Maps nativa: date le coordinate del luogo che vogliamo mostrare, l’utente verrà portato direttamente in Bing Maps per visualizzarlo.

Vediamo un esempio:

BingMapsTask task = new BingMapsTask
                                    {
                                        SearchTerm = Address.Text,
                                        ZoomLevel = 10
                                    };
            task.Show();

 

Questo launcher supporta tre propriet& agrave;:

  • ·         SearchTerm rappresenta la parola chiave di ricerca, ad esempio un indirizzo o il nome di una città
  • ·         ZoomLevel rappresenta il livello di zoom che vogliamo utilizzare di default.
  • ·         Center: se conosciamo le coordinate precise del luogo che vogliamo mostrare, possiamo valorizzare questa proprietà, che è di tipo GeoCoordinate. All’apertura, la mappa verrà centrata su questa posizione. Attenzione che se avete valorizzato anche la proprietà SearchTerm la proprietà Center sarà praticamente ignorata: la mappa verrà centrata nel punto definito, ma si sposterà subito dopo nel luogo risultante dalla ricerca.

ConnectionSettingsTask

Se avete già installato Mango sul vostro device vi sarete imbattuti in applicazioni come Network Dashboard o Connectivity Shortcuts, che offrono la possibilità di avere direttamente in home delle tile per accedere velocemente alle varie impostazioni di rete (Wi-Fi, Bluetooth, ecc.)

Queste appl icazioni sono basate proprio su questo task, che permette da un’applicazione di aprire direttamente una specifica schermata dell’hub Impostazioni relativa alle connessioni.

Vediamo un esempio:

  ConnectionSettingsTask task = new ConnectionSettingsTask();
            if (WiFi.IsChecked.Value)
            {
                task.ConnectionSettingsType = ConnectionSettingsType.WiFi;
            }
            if (Cellular.IsChecked.Value)
            {
                task.ConnectionSettingsType = ConnectionSettingsType.Cellular;
            }
            if (AirplaneMode.IsChecked.Value)
            {
                task.ConnectionSettingsType = ConnectionSettingsType.AirplaneMode;
       &nbs
p;    }
            if (Bluetooth.IsChecked.Value)
            {
                task.ConnectionSettingsType = ConnectionSettingsType.Bluetooth;
            }
            task.Show();

 

Il launcher espone solamente una proprietà, chiamata ConnectionSettingsType, che è un emumeratore, il quale contiene un valore per ogni tipo di connessione disponibile.

  • ·         WiFi: per accedere alle impostazioni della connessione wireless.
  • ·         Cellular: per accedere alle impostazioni della connessione dati su rete cellulare.
  • ·         AirplaneMode: per attivare o disattivare la modalità aereo (la quale spegne in automatico tutti i tipi di connessione del telefono).
  • ·         Bluetooth: per accedere alle impostazioni del bluetooth

I chooser

SaveRingtoneTask

Windows Phone 7.5 ha introdotto la tanto attesa possibilità di utilizzare suonerie personalizzate. Ma non solo! Grazie a questo chooser, potremo consentire alla nostra applicazione di salvare dei file audio direttamente tra le suonerie di sistema.

Vediamo un esempio:

   SaveRingtoneTask task = new SaveRingtoneTask

                                        {

                                           Source = new Uri("appdata:/Assets/Ringtones/Ringtone01.wma"),

                                           DisplayName = "Ringtone 1"

                                        };

            task.Completed += (obj, args) =>

                                   {

                                      if (args.TaskResult == TaskResult.OK)

                                      {

                                          MessageBox.Show("La suoneria è stata salvata!");

                                      }

                                      else

                                      {

                                          MessageBox.Show("La suoneria non è stata salvata");

               ;                        }

                                  };

            task.Show();

Questo chooser supporta le proprietà:

  • ·         Source: è l’URI della suoneria da salvare. Possiamo utilizzare, come nell’esempio, il prefisso appdata:/ per identificare un percorso all’interno del progetto, oppure isostore:/ nel caso il file sia salvato nell’isolated storage.
  • ·         DisplayName: il nome della suoneria, che verrà visualizzato nell’elenco della sezione Impostazioni.

Chiamando il metodo Show l’utente avrà comunque la possibilità di cambiarne il nome e di impostarla come suoneria predefinita. Una volta che l’operazione è completata, torneremo alla nostra applicazione e verrà scatenato l’evento Completed. L’unica informazione restituita sarà l’esito dell’operazione, sotto forma di enumeratore di tipo TaskResult e valorizzato nella proprietà TaskResult.

Nell’esempio, ci limitamo a mostrare un semplice messaggio di conferma in base all’esito dell’operazione.

Importante! Affinchè un file audio sia utilizzabile come suoneria devono essere soddisfatte le seguenti condizioni:

  • ·         Deve essere un file di tipo MP3 o WMA
  • ·         Deve durare meno di 40 secondi
  • ·         Deve avere una dimensione inferiore a 1 MB
  • ·         Non deve essere protetto da sistemi di DRM


read full article

Windows Phone Lab con Nokia e Microsoft il 18 gennaio 2012 a Roma

E-mail Stampa PDF

Un piccolo post di servizio per segnalare una nuova edizione del Windows Phone Lab il 18 gennario a Roma dedicato a chi vuole sviluppare, migliorare e testare le proprie applicazioni per Windows Phone e provarle su dei fantastici Nokia Lumia 800!

Ecco il link per l'iscrizione: http://communitydevtool.com/public/frmdetailevent.aspx?eventid=0203DKENTLDKJPRGRSCLPI

Per chi vuole invece partecipare ad un lab di mezza giornata e seguire un'altra mezza giornata di sessioni su Windows Phone a Milano a febbraio, vi consiglio la prima giornata dei Community Days 2012.


read full article

Per Natale regalati Visual Studio 2010

E-mail Stampa PDF

Questo Natale sei pronto a liberare la tua creatività?

Acquistando  un nuovo Visual Studio 2010  con MSDN, puoi scegliere uno dei regali che i nostri partner hanno pensato per te.

Comparex ti offre la possiibilità di acquistare Visual Studio 2010 con MSDN, con contratto di  tre anni, ad un prezzo davvero conveniente. E in più, con la versione Premium, una Kinect per XBOX 360 in omaggio; con la Ultimate, ben due Kinect per XBOX 360.

Il divertimento è doppio: cominci a sviluppare per le sfide di nuova generazione e, se possiedi una XBOX 360, ti diverti in compagnia, collegando il Kinect alla tua XBOX 360 e giocando senza controller con la piena libertà del corpo. Contatta Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. per maggiori informazioni.

Gorilla.it invece pensa alla tua formazione: acquistando un contratto a 2 o 3 anni di Visual Studio 2010 Professional o Premium con MSDN, usufruisci di imperdibili sconti.  In aggiunta,compreso nel prezzo 1 libro per ogni abbonamento Professional e 3 libri per ogni abbonamento Premium a tua scelta tra oltre 70 libri tra i piu' recenti e di riferimento tra i migliori editori. Contatta Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo. per i dettagli.

Sei  invece già utente di Visual Studio 2008 o 2010 Professional ma non hai una sottoscrizione MSDN? Abbiamo pensato anche a te!
Puoi risparmiare il 35%* sull’acquisto di Visual Studio 2010 con MSDN o il 15%* su Visual Studio Premium con MSDN. Scopri i dettagli dell’offerta.

Non fermare la tua creatività, con Visual Studio 2010 questo Natale puoi!

*La percentuale di sconto è calcolata sul prezzo stimato di vendita utente finale. Microsoft non impone alcuna condizione ai rivenditori che decidono liberamente


read full article

Guest post: Utilizzare HTML5 in applicazioni native per Windows Phone

E-mail Stampa PDF

Una delle principali novità di Windows Phone 7.5 è relativa al nuovo Internet Explorer 9 mobile e quindi al supporto per HTML5. E' possibile utilizzare questo supporto anche integrandolo nelle applicazioni native , attraverso l'utilizzo del controllo Web Browser. In questo guest post ospitiamo un articolo di Ugo Lattanzi che introduce le possibilità offerte per l'utilizzo del Web Browser nelle applicazioni sviluppate con SDK di Windows Phone e l'interazione del contenuto HTML5 e JS con il codice locale della applicazione. 

 

Come nel caso di Silverlight e WPF, anche in Windows Phone esiste il controllo WebBrowser, che permette di visualizzare pagine HTML all’interno di una propria applicazione. Molte applicazioni che uso quotidianamente sul mio smartphone utilizzano questo potente strumento: esso offre l’opportunità all’utilizzatore di visualizzare un contenuto web senza dover uscire dall’applicazione.

Il funzionamento è abbastanza banale: all’interno della nostra applicazione viene “caricata” un’istanza di Internet Explorer, e tutto ciò che è visualizzabile con Internet Explorer per WP7 è visualizzabile anche all’interno del controllo WebBrowser. Se a questo scenario aggiungiamo che nell’ultima release di Windows Phone 7.5 possiamo visualizzare anche contenuti HTML5, l’interesse verso questo controllo aumenta.  Per utilizzarlo all’interno di applicazioni per il marketplace vanno comunque tenute presenti le policy ed il fatto che si può usare questo controllo all’interno di applicazioni ma senza trasformare l’applicazione in un esclusivo contenitore per il controllo del browser ma utilizzandolo in integrazione con funzionalità sviluppate localmente :

http://msdn.microsoft.com/en-us/library/hh184841(v=VS.92).aspx

2.10

Your application must have distinct, substantial and legitimate content and purpose. Your application must provide functionality other than launching a webpage.

 

Ma procediamo con ordine.

Per prima cosa è necessario creare un nuovo progetto Windows Phone e “draggare” dalla toolbox l’apposito controllo, come mostrato dallo screenshot seguente:

A questo punto, tramite l’apposita proprietà Source, è possibile specificare l’indirizzo della pagina web da visualizzare all’interno del controllo (tostring.it nell’esempio seguente):

Se si preferisce utilizzare lo xaml e non i tool visuali, basta scrivere questo codice:

<phone:WebBrowser HorizontalAlignment="Left" Name="webBrowser1" VerticalAlignment="Top" Height="601" Width="450" Source="http://tostring.it" />


A questo punto, mandando in play l’applicazione l’emulatore dovrebbe visualizzare il sito all’interno di essa, più o meno come visualizzato dallo screenshot seguente:

Uno degli aspetti più interessanti del controllo WebBrowser è la possibilità di interazione tra l’applicazione host (la nostra applicazione nel Runtime di Windows Phone per intenderci) e la pagina web visualizzata.

Per provare questo scenario è necessario realizzare una semplice pagina web ed “hostarla” tramite un web server come IIS, o come il più semplice
IISExpress. Personalmente consiglio quest’ultimo in quanto non necessita di privilegi elevati ed è molto più facile da configurare; di fatto per questo esempio ci basta creare un nuovo progetto ASP.NET o ASP.NET MVC scegliendo il template empty (non ci interessa la tecnologia per questo esempio) e configurare IISExpress, come mostrato dallo screenshot seguente:


A questo punto, per provare l’interazione tra la pagina web e la nostra applicazione Windows Phone, è necessario abilitare il controllo WebBrowser inserito precedentemente ad accettare notifiche dalla pagina,  e successivamente mostrare un messaggio (un banale MessageBox può andare bene in questo caso).
Per far ciò è necessario impostare la proprietà IsScriptEnabled=”True” ed agganciare l’evento, come mostrato di seguito:

public partial class MainPage : PhoneApplicationPage {
                    // Constructor
                    public MainPage() {
                               InitializeComponent();
                               this.webBrowser1.ScriptNotify +=webBrowser1_ScriptNotify;
                    }
 
                    void webBr
owser1_ScriptNotify(object sender, NotifyEventArgs e) {
                               MessageBox.Show(e.Value);
                    }
          }

Come potete vedere il codice si commenta da solo, con l’unica nota sulla property Value del NotifyEventArgs, che conterrà il valore passato dalla pagina web all’applicazione WP7.

Ecco come deve essere impostato nel  codice XAML con la proprietà IsScriptEnabled=”True”:

<phone:WebBrowser IsScriptEnabled="True" HorizontalAlignment="Left" x:Name="webBrowser1" VerticalAlignment="Top" Height="601" Width="450" Source="http://localhost:45923/Test/default.html" />

 

Ora non ci resta che creare una pagina web con all’interno un pulsante che invierà un messaggio all’applicazione. Per far ciò è sufficiente invocare il metodo window.external.notify passando il valore desiderato che, come per magia, verrà assegnato alla property Value del NotifyEventArgs menzionato sopra.
Il codice seguente mostra la pagina web:

<!DOCTYPE html>
<html>
<head>
<title></title>

 <script src="/Scripts/jquery-1.5.1.js" type="text/javascript"></script>

                <script type="text/javascript">

                    $(document).ready(function () {

                        $('#myButton').click(function () {

                            try {

                                window.external.notify('ciao');

                            }

                            catch (ex) {

                                $("#status").html('Si è verificato un errore');

            &nb sp;               }

                        });

                    });

</script>

</head>
<body>

                <input id="myButton" type="button" value="Invia richiesta"/>

                <div id="status" style="font-size:48px;"></div>

</body>
</html>

 

A questo punto l’applicazione dovrà visualizzare un messaggio come quello mostrato di seguito:

 

Per rendere il tutto un po’ più complesso e testare a fondo le funzionalità del controllo WebBrowser possiamo aggiungere un tag <video> a lla nostra pagina, in modo da provare il render di un elemento HTML5. 

Il codice della pagina dovrà diventare più o meno come il seguente:

<!DOCTYPE html>
<html>
<head>
              <title></title>

                <script src="/Scripts/jquery-1.5.1.js" type="text/javascript"></script>

                <script type="text/javascript">

                    $(document).ready(function () {

                        $('#myButton').click(function () {

                            try {

                                window.external.notify('ciao');

               &nbs p;            }

                            catch (ex) {

                                $("#status").html('Si è verificato un errore');

                            }

                        });

                    });

</script>

</head>

<body>

                <input id="myButton" type="button" value="Invia richiesta"/>

                <div id="status" style="font-size:48px;"></div>

      &nbs p;                         <video id="videoContent"

                                width="400"

                                controls=""

                                autoplay=""

                                src="/http://msnvidweb.vo.msecnd.net/o3/IE9%20Demo/Salt_Trailer_2.mp4"></video>

</body>

</html>

Il risultato finale sarà un render corretto del tag video, a dimostrazione del supporto all’HTML5, ed il corretto funzionamento del video player.

Buon browsing a tutti !!

 


read full article

Windows Phone: modifica procedura invio modulo W-8 BEN e vincitore ultima estrazione

E-mail Stampa PDF

Una grande notizia per tutti quelli che stanno per ricevere dei pagamenti dal Marketplace di Windows Phone:

  • Non è più necessario mandare per posta il modulo W-8 BEN, è sufficiente scaricarlo, compilarlo, stamparlo, firmarlo, scannerizzarlo e mandare il file scannerizzato all'indirizzo Questo indirizzo e-mail è protetto dallo spam bot. Abilita Javascript per vederlo.
  • La scannerizzazione è necessaria perché non sono accettati documenti firmati digitalmente
  • Le istruzioni presenti in questa pagina non sono aggiornate, in quanto non è più necessario ottenere l'ITIN tramite il form W-7 e il modulo W-8 BEN può essere mandato via mail come indicato prima

Per maggiori informazioni vi rimando a questo thread sul forum italiano di Windows Phone.

Vinci con Windows Phone

Meditation TimerSettimana scorsa c'è stata la quinta estrazione del concorso Vinci con Windows Phone e ha vinto l'applicazione "Meditation Timer".

Complimenti ad "ila" per aver vinto 150 euro di buoni acquisto MediaWorld.

Vi ricordo che partecipare è molto semplice, bisogna sviluppare un'applicazione Windows Phone, pubblicarla sul Marketplace e registrarla nella pagina dedicata. Tutto qui! (Le informazioni dettagliate ed il regolamento ufficiale sono disponibili sul pagina ufficiale del concorso).

-Lorenzo


read full article

Disponibili i video in inglese dell'ALM Summit 2011

E-mail Stampa PDF

A novembre c'è stato a Redmond l'ALM Summit 2011 , con tre intense giornate di formazione dedicate all'Application Lifecycle Management, a Visual Studio, a  Team Foundation Server, alle pratiche Agili, al cloud, etc: etc: con sessioni anche su Eclipse e il Team Explorer Everyhwere.

A questo link potete vedere tutti i video.


read full article

Windows Azure : appena rilasciate importanti novità sulla piattaforma

E-mail Stampa PDF

Sono state da poco annunciate (dal blog ufficiale di Windows Azure) importanti novità di Windows Azure che hanno come obiettivo quello di semplificare lo sviluppo di applicazioni cloud, di agevolare l'adozione della piattaforma e di gestire in modo più efficace le risorse utilizzate. In questo nuovo rilascio ci siamo concentrati nel aiutare gli sviluppatori .NET a sviluppare in modo più semplice ed efficace e al tempo stesso di permettere agli sviluppatori open source di conservare le proprie conoscienze nell'adozione della nostra piattaforma cloud. Di seguito le novità introdotte:

  • Introdotto lo Spending cap per le sottoscrizioni trial o per l'attivazione del benefit nel programma MSDN.
  • Il nuovo sdk per .NET, Java e Node.js è disponibile attraverso il modello di licenza open source Apache 2 e scaricabili attraverso GitHub.
  • Un nuovo servizio Hadoop per Windows Azure porta le funzionalità di Hadoop per Big Data in Windows Azure e consente di distribuire applicazioni Hadoop in ore invece che in giorni.
  • Il nuovo sito http://www.windowsazure.com è stato completamente ridisegnato seguendo lo stile Metro ed è completamente hostato su Windows Azure
  • Un nuovo pricing calculator è stato inserito nel portale per semplificare il calcolo del costo della piattaforma
  • Attivato un nuovo sistema di billing che perme tte di avere un controllo molto più efficace del costo (aggiornato real time !!)
  • Il nuovo portale per gestire i database SQL Azure anch'esso in stile Metro.
  • Aumentata la dimensione massimo di SQL Azure da 50Gb a 150GB e aggiunto SQL Azure Federation, che grazie al meccanismo di sharding semplifica lo scaling-out di SQL Azure
  • Cambiato il prezzo di SQL Azure
    image 
  • Nuovi prezzi anche per il data transfer in uscita dal Datacenter con una riduzione del 25%
    image
  • Rilasciato in nuvo Windows Azure Training Kit con nuovi interessanti laboratori e le slide in stile Metro:
  • Semplificato il prezzo i attivato un periodo di free trial del Service Bus: ad iniziare dal primo Aprile 2012 , l'uso del Service Bus verrà fatturato usando due nuove metriche e non verrà più fatto pagare in base alle connessioni.
    • Relay Hours - $0.10 per 100
    • Message Operations - $0.01 per 10,000

Se volete saperne di più no n perdete questo appuntamento live http://www.learnwindowsazureevent.com/, una conferenza dedicata a Windows Azure con speaker di eccezione come Scott Guthrie, Dave Campbell, and Mark Russinovich!

Maggiori dettagli sulle novità le potete trovare qui.


read full article

Pagina 24 di 49

 
 
 
 
Certificazioni