<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://dotnetcampania.org/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione.aspx</link><pubDate>Wed, 06 Jan 2010 11:21:51 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:22</guid><dc:creator>Liccardi Antonio</dc:creator><comments>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/comments.aspx</comments><description>Current revision posted to Articoli by Liccardi Antonio on 06/01/2010 12:21:51&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intento di questo articolo &amp;egrave; quello di approfondire ci&amp;ograve; che si &amp;egrave; detto nel webcast.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt; 
&lt;p&gt;Ci&amp;ograve; che ci occorre &amp;egrave; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l&amp;rsquo;Active Sync o maggiore. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si pu&amp;ograve; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un p&amp;ograve; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &amp;egrave; davvero semplice. Una volta aperto l&amp;rsquo;IDE basta fare click su Nuovo &amp;ndash;&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;img height="454" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell&amp;rsquo;IDE) la seguente schermata: &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;img height="396" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;img height="163" width="244" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c&amp;rsquo;&amp;egrave; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l&amp;rsquo;entry-point principale dell&amp;rsquo;applicazione. Aprendo il file notiamo del codice che consente di far partire l&amp;rsquo;applicazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;img height="194" width="488" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell&amp;rsquo;unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell&amp;rsquo;applicazione. In tale form abbiamo la possibilit&amp;agrave; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &amp;ldquo;reference&amp;rdquo; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l&amp;rsquo;AssemblyInfo.cs, che serve per definire informazioni riguardante l&amp;rsquo;assembly generato dall&amp;rsquo;applicazione.&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &amp;egrave; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l&amp;rsquo;ambiente di esecuzione. Unica differenza &amp;egrave; per&amp;ograve; la scelta della piattaforma di destinazione. Uno sviluppatore pu&amp;ograve; scegliere la tipologia di dispositivo in cui l&amp;rsquo;applicazione verr&amp;agrave; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore pu&amp;ograve; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l&amp;rsquo;applicazione direttamente sul dispositivo fisico. In quest&amp;rsquo;ultimo caso, Visual Studio effettuer&amp;agrave; una copia dell&amp;rsquo;applicazione nel dispositivo fisico e dopo eseguir&amp;agrave; l&amp;rsquo;applicazione stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell&amp;rsquo;applicazione per verificarne il corretto funzionamento.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si pu&amp;ograve; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e portano l&amp;rsquo;estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Creare un CAB &amp;egrave; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &amp;lsquo;Installazione e distribuzione&amp;rsquo; sotto la voce &amp;lsquo;Altri tipi di progetto&amp;rsquo;. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &amp;lsquo;Progetto Cab per Smart Device&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi comparir&amp;agrave; la seguente schermata, in cui &amp;egrave; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;img height="375" width="631" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprir&amp;agrave; un men&amp;ugrave; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &amp;ndash;&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;img height="129" width="329" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si aprir&amp;agrave; la seguente schermata:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;img height="371" width="322" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove occorrer&amp;agrave; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l&amp;rsquo;output della nostra applicazione al pacchetto di installazione. Oltre all&amp;rsquo;output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai men&amp;ugrave; di avvio. La modalit&amp;agrave; resta sempre la stessa (ovvero Aggiungi &amp;ndash;&amp;gt; &amp;hellip;). &lt;/p&gt;
&lt;p&gt;Fatto questo, occorrer&amp;agrave; compilare la soluzione e nella cartella relativa alla stessa, sar&amp;agrave; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sar&amp;agrave; presente una sottocartella che conterr&amp;agrave; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l&amp;rsquo;applicazione);&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &amp;egrave; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;it&amp;#39;s all about development...&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/4.aspx</link><pubDate>Tue, 05 Jan 2010 23:53:51 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:60</guid><dc:creator>Liccardi Antonio</dc:creator><comments>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/comments.aspx</comments><description>Revision 4 posted to Articoli by Liccardi Antonio on 06/01/2010 00:53:51&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intento di questo articolo &amp;egrave; quello di approfondire ci&amp;ograve; che si &amp;egrave; detto nel webcast.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt;
&lt;p&gt;Ci&amp;ograve; che ci occorre &amp;egrave; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l&amp;rsquo;Active Sync o maggiore. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si pu&amp;ograve; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un p&amp;ograve; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &amp;egrave; davvero semplice. Una volta aperto l&amp;rsquo;IDE basta fare click su Nuovo &amp;ndash;&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;img height="454" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell&amp;rsquo;IDE) la seguente schermata: &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;img height="396" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;img height="163" width="244" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c&amp;rsquo;&amp;egrave; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l&amp;rsquo;entry-point principale dell&amp;rsquo;applicazione. Aprendo il file notiamo del codice che consente di far partire l&amp;rsquo;applicazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;img height="194" width="488" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell&amp;rsquo;unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell&amp;rsquo;applicazione. In tale form abbiamo la possibilit&amp;agrave; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &amp;ldquo;reference&amp;rdquo; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l&amp;rsquo;AssemblyInfo.cs, che serve per definire informazioni riguardante l&amp;rsquo;assembly generato dall&amp;rsquo;applicazione.&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &amp;egrave; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l&amp;rsquo;ambiente di esecuzione. Unica differenza &amp;egrave; per&amp;ograve; la scelta della piattaforma di destinazione. Uno sviluppatore pu&amp;ograve; scegliere la tipologia di dispositivo in cui l&amp;rsquo;applicazione verr&amp;agrave; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore pu&amp;ograve; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l&amp;rsquo;applicazione direttamente sul dispositivo fisico. In quest&amp;rsquo;ultimo caso, Visual Studio effettuer&amp;agrave; una copia dell&amp;rsquo;applicazione nel dispositivo fisico e dopo eseguir&amp;agrave; l&amp;rsquo;applicazione stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell&amp;rsquo;applicazione per verificarne il corretto funzionamento.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si pu&amp;ograve; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e portano l&amp;rsquo;estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Creare un CAB &amp;egrave; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &amp;lsquo;Installazione e distribuzione&amp;rsquo; sotto la voce &amp;lsquo;Altri tipi di progetto&amp;rsquo;. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &amp;lsquo;Progetto Cab per Smart Device&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi comparir&amp;agrave; la seguente schermata, in cui &amp;egrave; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;img height="375" width="631" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprir&amp;agrave; un men&amp;ugrave; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &amp;ndash;&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;img height="129" width="329" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si aprir&amp;agrave; la seguente schermata:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;img height="371" width="322" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove occorrer&amp;agrave; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l&amp;rsquo;output della nostra applicazione al pacchetto di installazione. Oltre all&amp;rsquo;output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai men&amp;ugrave; di avvio. La modalit&amp;agrave; resta sempre la stessa (ovvero Aggiungi &amp;ndash;&amp;gt; &amp;hellip;). &lt;/p&gt;
&lt;p&gt;Fatto questo, occorrer&amp;agrave; compilare la soluzione e nella cartella relativa alla stessa, sar&amp;agrave; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sar&amp;agrave; presente una sottocartella che conterr&amp;agrave; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l&amp;rsquo;applicazione);&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &amp;egrave; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="background: SpringGreen;"&gt;it&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;#39;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;s&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;about&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;development..&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;.&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/3.aspx</link><pubDate>Tue, 05 Jan 2010 23:53:05 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:58</guid><dc:creator>Liccardi Antonio</dc:creator><comments>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/comments.aspx</comments><description>Revision 3 posted to Articoli by Liccardi Antonio on 06/01/2010 00:53:05&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;L&amp;rsquo;intento di questo articolo &amp;egrave; quello di approfondire ci&amp;ograve; che si &amp;egrave; detto nel webcast.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt;
&lt;p&gt;Ci&amp;ograve; che ci occorre &amp;egrave; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l&amp;rsquo;Active Sync o maggiore. &lt;/p&gt;
&lt;p&gt;L&amp;rsquo;installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si pu&amp;ograve; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un p&amp;ograve; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &amp;egrave; davvero semplice. Una volta aperto l&amp;rsquo;IDE basta fare click su Nuovo &amp;ndash;&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="454" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image5[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="454" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell&amp;rsquo;IDE) la seguente schermata: &lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="396" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image10[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="396" width="600" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="163" width="244" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image15[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="163" width="244" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c&amp;rsquo;&amp;egrave; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l&amp;rsquo;entry-point principale dell&amp;rsquo;applicazione. Aprendo il file notiamo del codice che consente di far partire l&amp;rsquo;applicazione:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="194" width="488" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[14].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="194" width="488" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell&amp;rsquo;unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell&amp;rsquo;applicazione. In tale form abbiamo la possibilit&amp;agrave; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &amp;ldquo;reference&amp;rdquo; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l&amp;rsquo;AssemblyInfo.cs, che serve per definire informazioni riguardante l&amp;rsquo;assembly generato dall&amp;rsquo;applicazione.&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &amp;egrave; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l&amp;rsquo;ambiente di esecuzione. Unica differenza &amp;egrave; per&amp;ograve; la scelta della piattaforma di destinazione. Uno sviluppatore pu&amp;ograve; scegliere la tipologia di dispositivo in cui l&amp;rsquo;applicazione verr&amp;agrave; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore pu&amp;ograve; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l&amp;rsquo;applicazione direttamente sul dispositivo fisico. In quest&amp;rsquo;ultimo caso, Visual Studio effettuer&amp;agrave; una copia dell&amp;rsquo;applicazione nel dispositivo fisico e dopo eseguir&amp;agrave; l&amp;rsquo;applicazione stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell&amp;rsquo;applicazione per verificarne il corretto funzionamento.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying dell&amp;rsquo;applicazione&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si pu&amp;ograve; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e &lt;span style="text-decoration: line-through; color: red;"&gt;porta&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;portano&lt;/span&gt; l&amp;rsquo;estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze&amp;hellip;).&lt;/p&gt;
&lt;p&gt;Creare un CAB &amp;egrave; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &amp;lsquo;Installazione e distribuzione&amp;rsquo; sotto la voce &amp;lsquo;Altri tipi di progetto&amp;rsquo;. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &amp;lsquo;Progetto Cab per Smart Device&amp;rsquo;.&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi comparir&amp;agrave; la seguente schermata, in cui &amp;egrave; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="375" width="631" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[15].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="375" width="631" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprir&amp;agrave; un men&amp;ugrave; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &amp;ndash;&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="129" width="329" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[16].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="129" width="329" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si aprir&amp;agrave; la seguente schermata:&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img height="371" width="322" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[17].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="371" width="322" src="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove occorrer&amp;agrave; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l&amp;rsquo;output della nostra applicazione al pacchetto di installazione. Oltre all&amp;rsquo;output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai men&amp;ugrave; di avvio. La modalit&amp;agrave; resta sempre la stessa (ovvero Aggiungi &amp;ndash;&amp;gt; &amp;hellip;). &lt;/p&gt;
&lt;p&gt;Fatto questo, occorrer&amp;agrave; compilare la soluzione e nella cartella relativa alla stessa, sar&amp;agrave; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sar&amp;agrave; presente una sottocartella che conterr&amp;agrave; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l&amp;rsquo;applicazione);&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &amp;egrave; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/2.aspx</link><pubDate>Tue, 05 Jan 2010 23:46:55 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:57</guid><dc:creator>Liccardi Antonio</dc:creator><comments>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/comments.aspx</comments><description>Revision 2 posted to Articoli by Liccardi Antonio on 06/01/2010 00:46:55&lt;br /&gt;
&lt;h2&gt;Sviluppo di una semplice applicazione&lt;/h2&gt;
&lt;div style="font-size: 90%;"&gt;Inserito sotto: windows mobile first app&lt;/div&gt;

&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;[&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;WEBCAST]&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;L’intento&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;iframe marginwidth="0" width="550" frameborder="0" src="http://www.dotnetcampania.org/webcast/1_HelloWindowsMobile.html" marginheight="0" height="350" style="width:550px;height:350px;"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;L&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;intento&lt;/span&gt; di questo articolo &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; quello di approfondire &lt;span style="text-decoration: line-through; color: red;"&gt;ciò&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;ci&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; che si &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; detto nel webcast.&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Gli strumenti&lt;/h3&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Ciò&lt;/span&gt; &lt;/h3&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;Ci&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; che ci occorre &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina &lt;span style="text-decoration: line-through; color: red;"&gt;l’Active&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;Active&lt;/span&gt; Sync o maggiore. &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;L’installazione&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="background: SpringGreen;"&gt;L&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;installazione&lt;/span&gt; di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;
&lt;p&gt;Non si &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un &lt;span style="text-decoration: line-through; color: red;"&gt;sms…)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;sms&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;hellip;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Mi pare giusto a questo punto lasciare un &lt;span style="text-decoration: line-through; color: red;"&gt;pò&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;p&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; di link:&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://msdn.microsoft.com/it-it/vstudio/default.aspx"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;
&lt;p&gt;- &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a target="_blank" href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;La prima applicazione&lt;/h3&gt;
&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; davvero semplice. Una volta aperto &lt;span style="text-decoration: line-through; color: red;"&gt;l’IDE&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;IDE&lt;/span&gt; basta fare click su Nuovo &lt;span style="text-decoration: line-through; color: red;"&gt;–&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ndash;&amp;gt;&lt;/span&gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="454" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img01.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="454" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image5[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi &lt;span style="text-decoration: line-through; color: red;"&gt;dell’IDE&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;)&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;IDE)&lt;/span&gt; la seguente schermata: &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="396" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img02.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="396" width="600" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image10[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="244" height="163" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img03.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="163" width="244" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image15[1].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis &lt;span style="text-decoration: line-through; color: red;"&gt;c’è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;c&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;&amp;egrave;&lt;/span&gt; il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il &lt;span style="text-decoration: line-through; color: red;"&gt;l’entry-point&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;entry-point&lt;/span&gt; principale &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione.&lt;/span&gt; Aprendo il file notiamo del codice che consente di far partire &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;:&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="488" height="194" /&gt;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img04.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="194" width="488" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[14].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire &lt;span style="text-decoration: line-through; color: red;"&gt;nell’unica&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;nell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;unica&lt;/span&gt; riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione.&lt;/span&gt; In tale form abbiamo la &lt;span style="text-decoration: line-through; color: red;"&gt;possibilità&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;possibilit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;
&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di &lt;span style="text-decoration: line-through; color: red;"&gt;“&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;reference”&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ldquo;reference&amp;rdquo;&lt;/span&gt; alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e &lt;span style="text-decoration: line-through; color: red;"&gt;l’AssemblyInfo.cs&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;,&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;AssemblyInfo.cs,&lt;/span&gt; che serve per definire informazioni riguardante &lt;span style="text-decoration: line-through; color: red;"&gt;l’assembly&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;assembly&lt;/span&gt; generato &lt;span style="text-decoration: line-through; color: red;"&gt;dall’applicazione&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dall&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Testing e debugging &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Testare la propria applicazione per dispositivi mobile &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti &lt;span style="text-decoration: line-through; color: red;"&gt;l’ambiente&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;ambiente&lt;/span&gt; di esecuzione. Unica differenza &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;però&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;per&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; la scelta della piattaforma di destinazione. Uno sviluppatore &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; scegliere la tipologia di dispositivo in cui &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;verrà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;verr&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; direttamente sul dispositivo fisico. In &lt;span style="text-decoration: line-through; color: red;"&gt;quest’ultimo&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;quest&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;ultimo&lt;/span&gt; caso, Visual Studio &lt;span style="text-decoration: line-through; color: red;"&gt;effettuerà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;effettuer&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; una copia &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; nel dispositivo fisico e dopo &lt;span style="text-decoration: line-through; color: red;"&gt;eseguirà&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;eseguir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; stessa.&lt;/p&gt;
&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt; per verificarne il corretto funzionamento.&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h3&gt;Packaging e deploying &lt;span style="text-decoration: line-through; color: red;"&gt;dell’applicazione&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dell&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione&lt;/span&gt;&lt;/h3&gt;
&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si &lt;span style="text-decoration: line-through; color: red;"&gt;può&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;pu&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ograve;&lt;/span&gt; procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e porta &lt;span style="text-decoration: line-through; color: red;"&gt;l’estensione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;estensione&lt;/span&gt; .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, &lt;span style="text-decoration: line-through; color: red;"&gt;dipendenze…)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;dipendenze&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;hellip;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Creare un CAB &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione &lt;span style="text-decoration: line-through; color: red;"&gt;‘&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Installazione&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Installazione&lt;/span&gt; e distribuzione&lt;span style="text-decoration: line-through; color: red;"&gt;’&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;rsquo;&lt;/span&gt; sotto la voce &lt;span style="text-decoration: line-through; color: red;"&gt;‘&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Altri&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Altri&lt;/span&gt; tipi di &lt;span style="text-decoration: line-through; color: red;"&gt;progetto’&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;progetto&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;.&lt;/span&gt; Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare &lt;span style="text-decoration: line-through; color: red;"&gt;‘&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;Progetto&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;lsquo;Progetto&lt;/span&gt; Cab per Smart &lt;span style="text-decoration: line-through; color: red;"&gt;Device’&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;.&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;Device&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Una volta aggiunto il progetto, vi &lt;span style="text-decoration: line-through; color: red;"&gt;comparirà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;comparir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; la seguente schermata, in cui &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="631" height="375" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img05.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="375" width="631" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[15].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si &lt;span style="text-decoration: line-through; color: red;"&gt;aprirà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aprir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; un &lt;span style="text-decoration: line-through; color: red;"&gt;menù&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;men&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi &lt;span style="text-decoration: line-through; color: red;"&gt;–&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ndash;&amp;gt;&lt;/span&gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="329" height="129" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;#160;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img06.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="129" width="329" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[16].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Vi si &lt;span style="text-decoration: line-through; color: red;"&gt;aprirà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;aprir&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; la seguente schermata:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="322" height="371" /&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="/cfs-filesystemfile.ashx/__key/CommunityServer.Components.SiteFiles/ArticoliAntonio/art02_5F00_img07.png"&gt;&lt;span style="background: SpringGreen;"&gt;&lt;img height="371" width="322" src="/wikis/articoli/sviluppo-di-una-semplice-applicazione/edit.aspx/$image[17].png" alt="image" border="0" title="image" style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" /&gt;&lt;/span&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;dove &lt;span style="text-decoration: line-through; color: red;"&gt;occorrerà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;occorrer&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere &lt;span style="text-decoration: line-through; color: red;"&gt;l’output&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;output&lt;/span&gt; della nostra applicazione al pacchetto di installazione. Oltre &lt;span style="text-decoration: line-through; color: red;"&gt;all’output&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;all&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;output&lt;/span&gt; primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai &lt;span style="text-decoration: line-through; color: red;"&gt;menù&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;men&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;ugrave;&lt;/span&gt; di avvio. La &lt;span style="text-decoration: line-through; color: red;"&gt;modalità&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;modalit&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; resta sempre la stessa (ovvero Aggiungi &lt;span style="text-decoration: line-through; color: red;"&gt;–&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="text-decoration: line-through; color: red;"&gt;…&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;).&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;ndash;&amp;gt;&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;hellip;).&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Fatto questo, &lt;span style="text-decoration: line-through; color: red;"&gt;occorrerà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;occorrer&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; compilare la soluzione e nella cartella relativa alla stessa, &lt;span style="text-decoration: line-through; color: red;"&gt;sarà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sar&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), &lt;span style="text-decoration: line-through; color: red;"&gt;sarà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;sar&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; presente una sottocartella che &lt;span style="text-decoration: line-through; color: red;"&gt;conterrà&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;conterr&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;agrave;&lt;/span&gt; 3 files:&lt;/p&gt;
&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;
&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire &lt;span style="text-decoration: line-through; color: red;"&gt;l’applicazione)&lt;/span&gt;&lt;span style="text-decoration: line-through; color: red;"&gt;;&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;l&lt;/span&gt;&lt;span style="background: SpringGreen;"&gt;&amp;rsquo;applicazione);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;
&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, &lt;span style="text-decoration: line-through; color: red;"&gt;è&lt;/span&gt; &lt;span style="background: SpringGreen;"&gt;&amp;egrave;&lt;/span&gt; anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;
&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;</description></item><item><title>Sviluppo di una semplice applicazione</title><link>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/revision/1.aspx</link><pubDate>Tue, 05 Jan 2010 23:29:50 GMT</pubDate><guid isPermaLink="false">793b29df-8c2a-42d1-a022-8914441a68e5:56</guid><dc:creator>Liccardi Antonio</dc:creator><comments>http://dotnetcampania.org/wikis/articoli/sviluppo-di-una-semplice-applicazione/comments.aspx</comments><description>Revision 1 posted to Articoli by Liccardi Antonio on 06/01/2010 00:29:50&lt;br /&gt;
&lt;p&gt;Qualche mese fa ho postato un webcast in cui illustravo come realizzare una semplice applicazione per Windows Mobile. &lt;/p&gt;

&lt;p&gt;[WEBCAST]&lt;/p&gt;

&lt;p&gt;L’intento di questo articolo è quello di approfondire ciò che si è detto nel webcast.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Gli strumenti&lt;/h3&gt;

&lt;p&gt;Ciò che ci occorre è una copia di Visual Studio 2005 standard o maggiore (le versioni express non sono supportate!), a cui si dovranno aggiungere le installazioni dei relativi SDK per Windows Mobile. Oltre a questo deve essere poi installato sulla macchina l’Active Sync o maggiore. &lt;/p&gt;

&lt;p&gt;L’installazione di Visual Studio consente di installare anche una serie di tools (come i .net Remote Tools) che aiutano gli sviluppatori nel testare le proprie applicazioni.&lt;/p&gt;

&lt;p&gt;Non si può fare a meno di citare anche gli &lt;em&gt;emulatori&lt;/em&gt; che non solo aiutano il testing delle applicazioni su diverse tipologie di device (ma anche di OS), ma consentono gli sviluppatori di avere un valido strumento di supporto nello sviluppo (es. gli emulatori consentono di ricreare determinate situazioni tipo una chiamata, la ricezione di un sms…).&lt;/p&gt;

&lt;p&gt;Mi pare giusto a questo punto lasciare un pò di link:&lt;/p&gt;

&lt;p&gt;- &lt;a href="http://msdn.microsoft.com/it-it/vstudio/default.aspx" target="_blank"&gt;Visual Studio&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=06111A3A-A651-4745-88EF-3D48091A390B&amp;amp;displaylang=en" target="_blank"&gt;Windows Mobile 6.0 SDK&lt;/a&gt; / &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=20686A1D-97A8-4F80-BC6A-AE010E085A6E&amp;amp;displaylang=en" target="_blank"&gt;Windows Mobile 6.5 DTK&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;- &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9e641c34-6f7f-404d-a04b-dc09f8141141&amp;amp;DisplayLang=it" target="_blank"&gt;ActiveSync 4.5&lt;/a&gt; / &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=46F72DF1-E46A-4A5F-A791-09F07AAA1914&amp;amp;displaylang=it" target="_blank"&gt;Centro gestione dispositivi Windows Mobile 6.1 per Vista&lt;/a&gt;;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;La prima applicazione&lt;/h3&gt;

&lt;p&gt;Creare una nuova applicazione per dispositivi Windows Mobile con Visual Studio è davvero semplice. Una volta aperto l’IDE basta fare click su Nuovo –&amp;gt; Progetto, e scegliere tra le varie tipologie &lt;em&gt;Smart Device&lt;/em&gt; e poi selezionare la tipologia di progetto che si vuole creare, nel nostro caso &lt;em&gt;Applicazione Dispositivo&lt;/em&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="454" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Dopo che Visual Studio ha creato tutta la struttura del progetto ci troviamo davanti (a seconda della disposizione degli elementi dell’IDE) la seguente schermata: &lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="600" height="396" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Vediamo in particolare la struttura del progetto creato dal Visual Studio:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="244" height="163" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Abbiamo una serie di file/cartelle create in automatico. Da notare in primis c’è il &lt;em&gt;Program.cs&lt;/em&gt; che rappresenta il l’entry-point principale dell’applicazione. Aprendo il file notiamo del codice che consente di far partire l’applicazione:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" width="488" height="194" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Naturalmente se decidiamo di cambiare il nome del form principale dobbiamo agire nell’unica riga di codice presente nel &lt;em&gt;Main()&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Oltre al file &lt;em&gt;Program.cs &lt;/em&gt;abbiamo un form predefinito, &lt;em&gt;Form1.cs&lt;/em&gt;, che rappresenta la nostra prima schermata dell’applicazione. In tale form abbiamo la possibilità di trascinare controlli, ed abbiamo anche un &lt;em&gt;MainMenu&lt;/em&gt; da impostare per la nostra applicazione. &lt;/p&gt;

&lt;p&gt;Altri elementi predefiniti del progetto sono la cartella &lt;em&gt;Riferimenti&lt;/em&gt;, che come in altre tipologie di progetto, rappresenta la cartella di “reference” alle librerie del .Net Framework, e la cartella &lt;em&gt;Properties&lt;/em&gt;, che include un file di risorse e l’AssemblyInfo.cs, che serve per definire informazioni riguardante l’assembly generato dall’applicazione.&lt;/p&gt;

&lt;p&gt;A questo punto non ci resta che aggiungere qualche controllo al nostro form e scrivere anche qualche riga di codice nella parte di code-behind relativa ai controlli che abbiamo aggiunto e premere F5 per testarla.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Testing e debugging dell’applicazione&lt;/h3&gt;

&lt;p&gt;Testare la propria applicazione per dispositivi mobile è come testare una semplice applicazione Web: basta premere F5 e attendere che Visual Studio setti l’ambiente di esecuzione. Unica differenza è però la scelta della piattaforma di destinazione. Uno sviluppatore può scegliere la tipologia di dispositivo in cui l’applicazione verrà deployata e verificare la corretta esecuzione della stessa. In questo ambito uno sviluppatore può scegliere se usare gli emulatori installati sulla macchina di sviluppo o se testare l’applicazione direttamente sul dispositivo fisico. In quest’ultimo caso, Visual Studio effettuerà una copia dell’applicazione nel dispositivo fisico e dopo eseguirà l’applicazione stessa.&lt;/p&gt;

&lt;p&gt;Anche per il debugging la situazione resta la stessa. Si hanno a disposizione i ben noti &lt;em&gt;breakpoint&lt;/em&gt;, che gli sviluppatori possono sistemare nei punti critici dell’applicazione per verificarne il corretto funzionamento.&amp;#160; &lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Packaging e deploying dell’applicazione&lt;/h3&gt;

&lt;p&gt;Una volta terminato lo sviluppo della propria applicazione, si può procedere con la creazione di un pacchetto di installazione della stessa. I pacchetti di installazione di software per dispositivi Windows Mobile vengono chiamati CAB (il nome deriva da &lt;em&gt;cabinet&lt;/em&gt; e porta l’estensione .cab). I file CAB non sono altri degli archivi eseguibili, che possono contenere al loro interno tutti i file correlati alla nostra applicazione (es.: dll, file di risorse, dipendenze…).&lt;/p&gt;

&lt;p&gt;Creare un CAB è semplice. Basta aggiungere alla propria soluzione un nuovo progetto, e selezionare nella finestra che si apre, la sezione ‘Installazione e distribuzione’ sotto la voce ‘Altri tipi di progetto’. Nel riquadro sulla destra compaiono diverse tipologie di progetto disponibili, e tra quelle presenti occorre selezionare ‘Progetto Cab per Smart Device’.&lt;/p&gt;

&lt;p&gt;Una volta aggiunto il progetto, vi comparirà la seguente schermata, in cui è necessario aggiungere i file relativi alla vostra applicazione.&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="631" height="375" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;In questa schermata occorre selezionare la Cartella Applicazione e dopo aver cliccato con il pulsante destro, vi si aprirà un menù contestuale in cui dovrete selezionare le voci: &lt;em&gt;Aggiungi –&amp;gt; Output Progetto.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="329" height="129" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Vi si aprirà la seguente schermata:&lt;/p&gt;

&lt;p&gt;&lt;a&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" width="322" height="371" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;dove occorrerà selezionare &lt;em&gt;Output Primario&lt;/em&gt; per aggiungere l’output della nostra applicazione al pacchetto di installazione. Oltre all’output primario, possono essere aggiunti diversi file al CAB, come file di dipendenze, chiavi di registro, file di risorse, collegamenti ai menù di avvio. La modalità resta sempre la stessa (ovvero Aggiungi –&amp;gt; …). &lt;/p&gt;

&lt;p&gt;Fatto questo, occorrerà compilare la soluzione e nella cartella relativa alla stessa, sarà presente una nuova cartella relativa al file CAB e, in base alla configurazione di compilazione utizzata (debug/release), sarà presente una sottocartella che conterrà 3 files:&lt;/p&gt;

&lt;p&gt;1)Un file CAB (la nostra applicazione : ) );&lt;/p&gt;

&lt;p&gt;2)Un file INF (che contiene informazioni riguardanti la cartella di destinazione e i requisiti di sistema per eseguire l’applicazione);&lt;/p&gt;

&lt;p&gt;3)Un file di log (che contiene informazioni relative alla procedura di packaging).&lt;/p&gt;

&lt;p&gt;Per incrementare la fiducia degli utenti nei confronti della nostra applicazione, è anche possibile firmare il proprio CAB con un certificato rilasciato da un ente appropriato.&lt;/p&gt;

&lt;p&gt;A questo punto non resta che trasferire la nostra applicazione al dispositivo! Enjoy it!&lt;/p&gt;</description></item></channel></rss>
