Introduzione a Hilo (app per Windows Store scritte in C++ e XAML)

Applies to Windows only

Da : Sviluppo di un'app end-to-end per Windows Store scritta in C++ e XAML: Hilo

Logo di modelli di utilizzo e procedure consigliate

Pagina precedente | Pagina successiva

In questo argomento spieghiamo come compilare ed eseguire un'app Hilo per Windows Store, com'è organizzato il codice sorgente in C++ e XAML e infine gli strumenti e le lingue utilizzati

Download

Scarica l'esempio di Hilo
Download guida (PDF)

Dopo aver scaricato il codice, per istruzioni vedi Compilazione ed esecuzione dell'esempio in questa pagina.

Importante  Prima di eseguire l'esempio, assicurati che nella raccolta di immagini sia presente almeno un'immagine. Se sono disponibili immagini con formati e dimensioni diverse, verranno utilizzate più parti del codice. Ad esempio, l'operazione di rotazione archivia l'orientamento in dati EXIF (Exchangeable Image File) per immagini che supportano Exif, ad esempio molte immagini JPEG e TIFF. L'operazione relativa all'effetto animazione ridimensiona immagini di grandi dimensioni a un massimo di 1024x768 pixel.

Compilazione ed esecuzione dell'esempio

Crea il progetto Hilo come un qualsiasi progetto standard.

  1. Nella barra dei menu scegli Compila > Compila soluzione. L'istruzione di compilazione compila il codice e lo assembla in modo che si possa utilizzare come app di Windows Store.
  2. Dopo aver compilato il progetto lo devi distribuire. Nella barra dei menu scegli Compila > Compila soluzione. Microsoft Visual Studio distribuisce il progetto anche quando esegui l'app dal debugger.
  3. Dopo aver distribuito il progetto, scegli i riquadro di Hilo per eseguire dell'app. Oppure, nella barra dei menu di Visual Studio scegli Debug > Avvia debug. Assicurati che il progetto di avvio sia Hilo.
Pagina iniziale di Hilo

È possibile eseguire Hilo in una qualsiasi delle lingue supportate. Imposta la lingua desiderata dal Pannello di controllo. Ad esempio, se prima di avviare Hilo imposti la lingua preferita su Arabo (Arabia Saudita), l'app visualizzerà il testo in arabo, leggibile da destra a sinistra, e utilizzerà il calendario predefinito per queste impostazioni locali. Questa è una cattura di schermata che mostra la visualizzazione dei gruppi di anni localizzata in arabo (Arabia Saudita).

Gruppi di anni in Hilo localizzati in arabo (Arabia Saudita)

Il codice sorgente di Hilo include la localizzazione in lingua araba (Arabia Saudita), inglese (Stati Uniti), tedesca (Germania) e giapponese (Giappone).

[In alto]

Progetti e cartelle della soluzione

La soluzione Hilo Visual Studio contiene tre progetti: Hilo, HiloTests e CartoonEffect.

Nota  La versione di Hilo contenente il progetto HiloTests è disponibile nella sezione dei modelli e procedure per lo sviluppo di app di Windows Store in C++ e XAML dedicata a Hilo.

Il progetto Hilo usa le cartelle della soluzione Visual Studio per organizzare i file del codice sorgente nelle categorie logiche seguenti:

  • La cartella Assets contiene la schermata iniziale, il riquadro e altre immagini.
  • La cartella Common contiene la pagina comune e le funzionalità di navigazione dell'app.
  • La cartella ExceptionHandling definisce i criteri e le classi per trattare le eccezioni non gestite.
  • La cartella Imaging contiene codice di estensione e funzioni di supporto per la riproduzione di immagini.
  • La cartella Models contiene codice Repository e altre classi utilizzate dai ViewModel.
  • La cartella Strings contiene le stringhe di risorsa e una sottocartella per le singole impostazioni locali.
  • La cartella Tile contiene il codice che aggiorna il riquadro della schermata Start dell'app.
  • La cartella ViewModels contiene la logica applicativa esposta ai controlli XAML.
  • La cartella Views contiene i controlli XAML dell'app.
  • La cartella XamlExtensions contiene convertitori di dati e altre utilità.

Il progetto HiloTests contiene unit test per Hilo. Condivide codice con il progetto Hilo e include inoltre file di origine contenenti a loro volta unit test. Il progetto CartoonEffect implementa un algoritmo di elaborazione immagini che applica un effetto cartone animato alle immagini incluse nel pacchetto come una libreria statica.

Puoi riutilizzare alcuni componenti di Hilo con qualsiasi app senza apportare modifiche o con modifiche minime. Puoi adattare per la tua app l'organizzazione e le idee suggerite da questi file. Quando riteniamo che un modello di codifica sia particolarmente applicabile a qualsiasi app lo evidenziamo qui.

[In alto]

Strumenti e linguaggi di sviluppo

Hilo è un'app di Windows Store scritta in C++ e XAML. Ma l'uso combinato di questi due linguaggi non è l'unica opzione possibile. Ci sono molti modi per scrivere app di Windows Store nel linguaggio che preferisci. Al momento di decidere quale linguaggi usare per Hilo ci siamo posti queste domande:

  • Che tipo di app desideriamo creare?  Se stai creando un'app gastronomica, per servizi bancari o per la gestione di foto, puoi optare per HTML5/CSS/JavaScript o XAML/C++/C#/Visual Basic poiché Windows Runtime fornisce abbastanza funzionalità e controlli predefiniti per creare app di questo tipo. Però, se stai creando un'app o un gioco 3D e desideri sfruttare appieno l'hardware grafico, potresti preferire C++ e DirectX.
  • Quali sono le tue competenze?   Se sei esperto di linguaggio XAML forse la scelta più ovvia per la tua app potrebbe essere XAML e C++ o .NET. Se conosci le tecnologie di sviluppo Web, allora potresti scegliere HTML5, CSS e JavaScript.
  • Quale codice esistente possiamo portare avanti?   Se disponi di codice, algoritmi o librerie esistenti utilizzabili con app di Windows Store puoi portare avanti il relativo codice. Ad esempio, se disponi di logica dell'app esistente scritta in C++, puoi decidere di scrivere la tua app di Windows Store in C++.

Suggerimento  Puoi creare componenti Windows Runtime riutilizzabili usando C++, C# o Visual Basic. Puoi usare un componente da te creato in qualsiasi app, anche se scritta in un linguaggio di programmazione diverso. Per altre info, vedi l'argomento relativo alla creazione di componenti Windows Runtime.

Noi abbiamo scelto C++ perché garantiva prestazioni adeguate e corrispondeva alle nostre competenze. A nostro avviso un'app per la gestione di foto completa probabilmente avrebbe effettuato elaborazioni di immagini molto complesse, come l'applicazione di effetti di filtro alle immagini. Sapevamo inoltre che C++ ci avrebbe consentito di sfruttare al meglio le funzionalità multicore e GPU della piattaforma hardware. Ad esempio, Hilo utilizza C++ Accelerated Massive Parallelism (C++ AMP) per implementare un effetto cartone animato. C++ ci ha fornito un percorso diretto a librerie quali C++ AMP e PPL (Parallel Patterns Library).

Abbiamo scelto il codice XAML perché favorisce la produttività degli sviluppatori. A nostro avviso, l'approccio dichiarativo allo sviluppo dell'interfaccia utente e le tante funzionalità predefinite del linguaggio XAML ci avrebbero fatto risparmiare tempo, consentendoci di concentrarci meglio sulla progettazione e sulla logica fondamentale dell'app.

Per eseguire scrittura, debugging e unit test del codice abbiamo scelto Visual Studio Express, per tenere traccia del lavoro pianificato, gestire i file di report sui bug, assegnare versioni al codice sorgente e automatizzare la compilazione delle varie versioni Team Foundation Server e infine per progettare le animazioni Blend per Visual Studio.

Il documento relativo alla creazione della prima app aiuta a orientarsi fra i linguaggi disponibili.

Nota  Indipendentemente dal linguaggio scelto, assicurati che l'app funzioni in modo rapido e fluido e che offra agli utenti la miglior esperienza possibile. Grazie alle operazioni asincrone, con Windows Runtime puoi ottenere questo risultato. Ogni linguaggio di programmazione offre un modo per elaborare queste operazioni. Per altre info su come abbiamo usato C++ per implementare un'esperienza utente rapida e fluida, vedi Programmazione asincrona.

[In alto]

 

 

Mostra:
© 2015 Microsoft