Creați o aplicație pe Windows. Scrierea primei aplicații universale Windows

Salutare tuturor! Probabil ai auzit deja vestea că în primele 4 săptămâni Peste 75 de milioane de oameni au instalat deja Windows 10. În acest context, suntem deosebit de încântați să vă împărtășim un articol introductiv de la Arseny Pechenkin de la DataArt despre cum să începeți dezvoltarea celor mai bune zece aplicații.

Pentru cei care nu sunt siguri dacă să instaleze sau nu Windows 10 pe mașina lor preferată, vă sugerăm scurtă recenzie materiale despre platformă, instrumente de dezvoltare și funcții noi disponibile la dezvoltarea aplicațiilor.

Cred că toată lumea știe deja de unde și cum să-și obțină copia Windows 10 - nu ne vom opri asupra acestui punct. Instalarea se face în același mod Instalare Windows 8. Dacă intenționați să actualizați sistemul, vă recomand cu tărie să faceți fișiere de rezervă de pe discul de sistem.

Instrumente

Ce instrumente de dezvoltare pot folosi? Veți avea nevoie de un nou MS Visual Studio 2015. Ediție gratuită acum disponibilă Studio vizual 2015 Community Edition și edițiile plătite Professional și Enterprise.

Cu ceva timp în urmă, aproape toate secțiunile despre dezvoltare pentru Windows 10 au condus la secțiuni despre dezvoltare pentru Windows 8.1, dar după lansare documentația este actualizată treptat (ținând cont de faptul că platforma UWP pentru Windows 10 este o dezvoltare a WinRT).

Curs online la Microsoft Virtual Academy

Pentru cei care preferă un format audio-vizual de cunoaștere a platformei, există un curs introductiv: A Developer's Guide to Windows 10.

Cursul acoperă principalele caracteristici ale platformei, modelele și instrumentele disponibile pentru crearea aplicațiilor Windows. Sunt luate în considerare mai multe scenarii de bază care sunt implementate în aplicație: lucrul cu o cantitate mică de memorie, executarea sarcinilor în fundal, comunicarea între dispozitive, gestionarea fișierelor și a datelor și metode de interacțiune cu utilizatorul.

Deblocarea licenței și a dispozitivului

Ca și în cazul dezvoltării pentru Windows 8/8.1, va fi necesară o licență de dezvoltator. Aceasta este similară cu Licența de dezvoltator Windows 8/8.1 atunci când creați primul proiect direct în Visual Studio (acesta nu este același cu un cont de publicare în magazin). Pentru a instala aplicații pe dispozitivele dvs., nu uitați să le deblocați:

Aplicații universale

Ce este nou pentru dezvoltator? S-a anunțat că aplicația universală poate fi rulată pe orice platformă Windows 10. Aceasta este implementată printr-un sistem de diverse API-uri. Adică, există un strat API comun tuturor platformelor (Universal Windows Platform, UWP). Dacă aplicația își folosește numai capacitățile, va funcționa pe toate platformele cu UWP.

Dacă trebuie să utilizați capacități specifice platformei (de exemplu, lucrul cu butoanele hardware pe un smartphone), atunci puteți utiliza API-urile corespunzătoare prin extensii de platformă. Această funcționalitate va funcționa numai pe platformele care au aceste API-uri, așa că verificările pentru disponibilitatea metodelor și claselor corespunzătoare trebuie incluse în cod.

Șabloane

Din cutie în Visual Studio, avem acces la un singur șablon de proiect, Blank App.

Acesta este un proiect pentru o singură pagină aplicație Universal Windows care nu are elemente predefinite management si structura.
Cu exceptia șablon standard, puteți găsi șabloane din comunitatea de dezvoltatori.

Colecția include în prezent următoarele șabloane de proiect:

  • Blank App, un proiect XAML de bază pe o singură pagină. Similar cu aplicația standard Blank inclusă în SDK-ul Windows 10, dar fără telemetrie Application Insights.
  • SplitView App, un proiect de aplicație cu mai multe pagini cu control adaptiv SplitView.
  • Composition App, un proiect care nu folosește biblioteca de componente standard, ci folosind API-ul Windows.UI.Composition,
  • Aplicația Composition XAML, un proiect care utilizează XAML și API-ul Windows.UI.Composition.

Exemple

Pentru a facilita conectarea la platforma UWP, Microsoft a pregătit o colecție tot mai mare de exemple:

În dialogul New Project Visual Studio, selectați Visual C#, Silverlight pentru Windows Phoneși un șablon simplu de aplicație Windows Phone și să-l numim ExploringXAMLFeatures.

În dialogul de selecție a țintei sistem de operare selectați Windows Phone OS 7.1

După crearea proiectului, fereastra Visual Studio va arăta astfel:

Să ne uităm la structura proiectului în fereastra Solution Explorer:

Nume de fișier Scop
AppManifest.xmlFișierul manifest necesar pentru generare fișier XAP, care împachetează aplicația pentru implementare pe telefon.
AssemblyInfo.csUn alt fișier de configurare care definește unele metadate ale ansamblului principal al aplicației.
WMAppManifest.xmlUn fișier de metadate care conține diverse setări ale aplicației: titlu, setarea primei pagini, căi către pictograme, definirea necesarului capabilitățile sistemului etc.
App.xamlAcesta este fișierul de resurse ale aplicației. Aici sunt situate resurse globale(acest lucru va fi discutat atunci când utilizați stiluri) sau evenimente globale (care au loc la pornirea aplicației). Acest fișier este, de asemenea, punctul de intrare al aplicației.
App.xaml.csFișier de cod (code-behind) pentru App.xaml. Aici puteți gestiona evenimentele și erorile la nivel de aplicație, inclusiv tombstoneing aplicației. Acest concept va fi acoperit mai târziu când este acoperit multitasking.
ApplicationIcon.pngO poză care va fi pictograma aplicației de pe telefon. E într-adevăr dosar important, deoarece este primul lucru pe care îl vor vedea utilizatorii când lucrează cu aplicația.
Fundal.pngAceastă imagine este utilizată atunci când aplicația este fixată Ecranul de pornire telefon (ecran de pornire). În esență, asta icoană mare aplicatii. Este logic să îl faceți similar vizual cu ApplicationIcon.png.
MainPage.xamlAceasta face parte din șablonul de aplicație selectat. MainPaige nu este un nume foarte bun, dar este ceea ce folosește șablonul implicit de proiect. Această pagină reprezintă interfața pe care o vede utilizatorul la pornirea aplicației.
MainPage.xaml.csFișierul cod de pagină MainPage.xaml.
SplashScreenImage.jpgAceastă imagine este afișată în timp ce aplicația se încarcă. Puteți seta propria imagine cu animație pentru a informa că aplicația se încarcă. Există o tehnică de creare a paginilor de încărcare foarte dinamice în XNA, dar aceasta depășește cu mult scopul acestei serii de articole.

Fișierele XAML definesc interfața aplicației. De fapt, este simplu fișiere XML cu limbaj de marcare XAML.

Deși acesta este cel mai simplu proiect, acesta conține toate elementele cheie pe care le conțin toate celelalte șabloane și tipuri de proiecte.

Vă rugăm să rețineți că unele dintre setările prezentate în formular fișierele de configurare, poate fi editat în interfața vizuală pentru editarea setărilor aplicației.

Adăugarea de controale la o pagină XAML

Rețineți că Visual Studio redă implicit atât designul, cât și XAML ale paginii.

Dacă ați mers să vizualizați alte fișiere de soluție, dublu click accesați fișierul MainPage.xaml.

În codul XAML al fișierului MainPage.xaml, în interiorul elementului Grid numit ContentPanel, inserați un control Button:

În fereastra de design, butonul va apărea imediat aproximativ în centrul interfeței. Acordați atenție atributului Nume? Acesta este identificatorul unic al elementului, care vă ajută să faceți referire la el în cod. Gândiți-vă la acesta ca la atributul ID al controlului. Să adăugăm acum o acțiune când se face clic pe acest buton. Există două moduri de a lega un eveniment la un Buton (sau orice alt control). În XAML, chiar în definiția Button, putem adăuga un atribut Click și InteliSense va întreba automat dacă vrem să generăm un nou handler de evenimente:

Puteți lega handlerul de evenimente direct în codul paginii Home.xaml.cs fără a-l specifica în fișierul XAML:

Public MainPage() (InitializeComponent(); MyButton.Click +=new RoutedEventHandler(MyButton_Click); )

Ambele metode funcționează. Puteți folosi oricare dintre ele. Pentru simplitate, vom folosi aici definiția metodei XAML. Acum puteți scrie cod gestionat în funcția MyButton_Click care va schimba interfața sau va apela alte funcții. Să completăm exemplul de aplicație prin adăugarea unui cod care va schimba textul din TextBlock PageTitle (PageTitle este un nume, așa că îl puteți referi direct în cod) la „hello wp7”. Pentru a face acest lucru, adăugați următorul cod la funcție:

Privat void MyButton_Click (expeditor al obiectului, RoutedEventArgs e) ( PageTitle.Text = "bună ziua wp7"; )

Selectați în setările proiectului Dispozitiv Windows Emulator

Și lansați aplicația făcând clic pe triunghiul verde sau pe butonul F5. După lansarea aplicației și făcând clic pe butonul „Apăsați-mă”, ecranul ar trebui să arate similar cu captura de ecran de mai jos:

Adăugarea de noi pagini la un proiect

Doar cea mai simplă aplicație constă dintr-o pagină. Vrem să învățăm cum să scriem aplicații complexe cu mai multe pagini. Putem folosi șabloanele Pivot, Panorama, putem folosi modelul de design MVVM (Model-View-ViewModel) și mai întâi vom învăța cum să adăugăm noi pagini la proiect și să ne mutăm între ele.

În fereastra Solution Explorer, faceți clic pe Click dreapta mouse-ul peste numele proiectului, iar în meniul care apare, selectați Adăugare, apoi Element nou, în caseta de dialog care se deschide, selectați Pagina portret Windows Phone și denumește-o SecondPage.xaml:

Acum avem o pagină XAML goală, copie exactă Pagina MainPage.xaml înainte de a o edita.

Pentru a distinge mai bine între pagini, să mergem la codul XAML al paginii SecondPage și să edităm elementul TextBlock cu Name PageTitle Proprietate text ca mai jos:

Navigarea între paginile aplicației

Deci, avem două pagini în proiect când pornește aplicația, este afișată pagina MainPage.xaml. Cum pot trece acum de la MainPage.xaml la SecondPage.xaml?

Să încercăm două moduri simple de a face acest lucru.

În codul XAML al fișierului MainPage.xaml după codul Button pe care l-am adăugat mai devreme, adăugați codul HyperlinkButton după cum se arată mai jos: