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.xml | Fișierul manifest necesar pentru generare fișier XAP, care împachetează aplicația pentru implementare pe telefon. |
AssemblyInfo.cs | Un alt fișier de configurare care definește unele metadate ale ansamblului principal al aplicației. |
WMAppManifest.xml | Un 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.xaml | Acesta 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.cs | Fiș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.png | O 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.png | Această 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.xaml | Aceasta 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.cs | Fișierul cod de pagină MainPage.xaml. |
SplashScreenImage.jpg | Această 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:
Controlul HyperlinkButton are o proprietate specială, NavigateUri, care vă permite să specificați Uri la care să navigați. Să adăugăm această proprietate cu valoarea /SecondPage.xaml, după cum se arată mai jos:
Să lansăm aplicația (F5).
Când interfața aplicației este afișată, dacă facem clic pe linkul a doua pagină, vom fi duși la a doua pagină SecondPage.xaml creată anterior. Dacă apoi faceți clic pe hardware Butonul Înapoi, apoi vom reveni la pagina principală (anterioră) - implicit, acest buton vă permite să mergeți la pagina activă anterioară.
Acum să profităm de tranziția programatică. Mai întâi, adăugați următorul cod la secțiunea de utilizare:
Privat void MyButton_Click (expeditor obiect, RoutedEventArgs e) ( NavigationService.Navigate (nou Uri ("/SecondPage.xaml", UriKind.Relative)); )
Lansați aplicația (F5) și asigurați-vă că butonul funcționează la fel de bine ca linkul.
Să adăugăm controale și cod pe a doua pagină (SecondPage.xaml) care să vă permită să reveniți la pagina anterioară.
În fișierul XAML SecondPage.xaml, în interiorul unui element Grid numit ContentPanel, inserați controalele Button și HyperlinkButton, așa cum se arată mai jos:
Pentru a crea un handler pentru evenimentul Click al butonului MyButton de pe SecondPage, faceți clic dreapta pe textul MyButton_Click din editorul XAML și selectați Navigare la Event Handler.
Lansați aplicația (F5) și verificați dacă linkul „Prima pagină” de pe a doua pagină returnează aplicația la MainPage.
Acum să profităm de tranziția programatică. În codul paginii SecondPage.xaml.cs, adăugați următorul cod la secțiunea de utilizare:
Utilizarea System.Windows.Navigation;
Și apoi, înlocuiți codul de gestionare MyButton_Click cu următorul:
Privat void MyButton_Click (expeditor obiect, RoutedEventArgs e) ( NavigationService.GoBack(); )
Rulați aplicația (F5) și asigurați-vă că butonul Înapoi de pe a doua pagină întoarce aplicația la MainPage.
Vă rugăm să rețineți că în codul care rulează la apăsarea butonului nu am folosit numele paginii la care trebuie să mergem, ci am cerut serviciului de navigare, reprezentat de clasa NavigationService, să meargă la pagina care era în stiva de navigare înaintea celei curente.
Evenimentele de tranziție a paginii pot fi procesate programatic, de exemplu, pentru a verifica cu utilizatorul dacă dorește cu adevărat să părăsească pagina curentă.
Adăugați următorul cod în fișierul SecondPage.xaml.cs imediat după handlerul MyButton_Click:
Suprascriere protejată void OnNavigatingFrom(NavigatingCancelEventArgs e) ( base.OnNavigatingFrom(e); // Dacă puteți anula tranziția, verificați cu utilizatorul dacă dorește să rămână activat pagina curenta if (e.IsCancelable) ( Rezultatul MessageBoxResult = MessageBox.Show("Poate că vei rămâne?", "Confirmarea tranziției", MessageBoxButton.OKCancel); if (rezultat == MessageBoxResult.OK) ( // Utilizatorul a decis să rămâne e.Anulează = adevărat;
Codul este suficient de simplu încât să-l poți da seama singur.
Lansați aplicația (F5) și observați că dialogul de clarificare este afișat indiferent dacă veți reveni la MainPage făcând clic pe un buton sau urmărind un link.
Acum tot ce rămâne este să înveți cum să treci parametrii între pagini.
Faceți dublu clic pe MainPage.xaml pentru a trece la editarea paginii principale. În codul MainPage.xaml vom adăuga un control TextBox, mai sus Element buton ca mai jos:
Faceți dublu clic pe SecondPage.xaml pentru a trece la editarea paginii principale. În codul SecondPage.xaml, să adăugăm un control TextBox deasupra elementului Button, la fel ca în pagina MainPage:
Acum, în handlerul de evenimente MyButton_Click al paginii MainPage, adăugați parametri la Uri ai tranziției la a doua pagină folosind butonul:
Privat void MyButton_Click(expeditor obiect, RoutedEventArgs e) ( NavigationService.Navigate(new Uri("/SecondPage.xaml?text="+Uri.EscapeDataString(MyTextBox.Text), UriKind.Relative)); )
Și în final, în codul paginii SecondPage.xaml.cs, imediat după handlerul OnNavigatedFrom, vom adăuga un handler de sosire la pagina OnNavigatedTo și în el vom procesa parametrul de intrare și îl vom afișa în MyTextBox:
Suprascriere protejată void OnNavigatedTo(NavigationEventArgs e) ( base.OnNavigatedTo(e); if (NavigationContext.QueryString.ContainsKey("text")) ( MyTextBox.Text = NavigationContext.QueryString["text"].ToString(); ))
Lansați aplicația (F5) și verificați cum funcționează, de exemplu, când urmăriți un link de la MainPage la SecondPage.
Rezultate și pașii următori
Deci, ne-am dat seama ce trebuie instalat pentru a dezvolta pentru Windows Phone 7, ne-am familiarizat cu șabloanele disponibile și am învățat cum să creați o nouă aplicație dintr-un șablon. De asemenea, am învățat cum să adăugăm controale direct în codul XAML, să adăugăm pagini noi la proiect și să organizăm navigarea între ele prin link și în cod, cu posibilitatea de a trece parametri.
Pe urmatorul pas Ne vom uita la unele dintre opțiunile de marcare disponibile în Silverlight, vom analiza controalele de bază și vom afla ce este un context de introducere pentru câmpurile de text.
Există o părere că în viata reala smartphone-urile cu sistemul de operare Microsoft se găsesc la fel de des ca și persoanele cu patronimul „Artemovich”. Politica ciudată (pentru a fi ușor) a „Evil Corporation” cu privire la a șaptea și a opta familie a sistemului de operare mobil i-a îndepărtat pe mulți utilizatori de a experimenta cu „ferestre” pentru smartphone-uri, iar acum corporația și-a asumat serios sarcina de a corectându-și imaginea în această nișă de utilizator. În calitate de fan subteran al Microsoft, sper că totul va funcționa pentru ei - „top zece” marșează în jurul planetei, atuul său principal este un nucleu pentru toate platformele și, prin urmare, are toate șansele să preia partea bună. piata mobila. Și ca programator, voi fi bucuros să vă fac un articol introductiv despre dezvoltarea acestei axe mobile, astfel încât să fiți mereu pregătit pentru creșterea popularității sale :).
Privire de ansamblu asupra arhitecturii
Datorită nucleului comun și sistemului de rulare a aplicației UWP, odată scrisă, aplicația va rula pe toate dispozitivele de sub Control Windows 10. Această gamă include:
- calculatoare desktop;
- sisteme server - OS Windows Server 2016;
- laptopuri - MS Surface Book;
- tablete - MS Surface Pro;
- smartphone-uri - Lumia;
- console de jocuri - Xbox One;
- ochelari de realitate augmentată - MS HoloLens;
- tablete de perete - MS Surface Hub;
- ceas inteligent - MS Band 2.
Lista este impresionantă. În plus, UWP nu se limitează la execuția programelor de aplicație, de asemenea, acceptă funcționarea driverelor la nivel de kernel. Acest lucru vă permite să creați drivere care să funcționeze diverse dispozitive, cu condiția ca componenta specifică pentru care este destinat șoferul să fie aceeași.
UWP acceptă drivere atât la nivel de kernel, cât și la nivel de utilizator. Subsistemul include interfețe de driver de dispozitiv (DDI), dintre care driverul pentru UWP le poate folosi.
Dar toate acestea nu-l scutesc pe dezvoltator de a ajusta interfața la anumite platforme și rezoluții de ecran. În unele cazuri speciale, acest lucru poate să nu fie necesar.
Instrumente de dezvoltare
Pentru a scrie, depana, implementa și testa aplicații pentru Windows 10 Mobile, veți avea nevoie de Visual Studio 2015 (cine s-ar îndoi). În această vară a fost lansată a treia actualizare. Il recomand cu caldura! Remedierea sa principală este consumul redus de memorie în comparație cu a doua actualizare.
Veți avea nevoie și de Windows 10 Actualizare aniversară SDK: include totul instrumentele necesare pentru dezvoltarea de aplicații pentru întreaga flotă de dispozitive care rulează Windows 10. Dacă utilizați VS 2015 cu a treia actualizare, atunci acesta include deja cel mai recent SDK.
Una dintre principalele inovații este Windows Ink. Folosind acest API, puteți adăuga suport pentru stilou în două linii de cod. Există două obiecte de control pentru aceasta: InkCanvas și InkToolbar.
Noul API Cortana facilitează implementarea controlului vocal. Componenta Cortana Actions din noul API vă permite să creați noi fraze/expresii.
Autentificarea biometrică Windows Hello este acum disponibilă dezvoltatorilor web în browserul Edge.
Blend pentru Visual Studio 2015, un instrument de modelare a interfeței cu utilizatorul, oferă capabilități îmbunătățite de proiectare a interfeței de utilizare față de VS. Cu ajutorul acestuia, puteți crea machete în XAML pentru toate aplicațiile acceptate: aplicație, web, universal, mobil și așa mai departe. Conține și constructori pentru sarcini suplimentare, printre care crearea de animație și controlul comportamentului elementelor.
Modalități de a crea aplicații pentru Windows 10 Mobile
Principala modalitate de a crea aplicații pentru smartphone-uri cu Windows 10 Mobile este dezvoltarea aplicații universale (UWP).(dezvoltare Visual C# → Windows → Universal New Project Wizards).
Cu toate acestea, el nu este singurul. După cum știți, Xamarin este integrat în Visual Studio 2015, cu ajutorul acestuia puteți crea și aplicații pentru Windows 10 Mobile, simultan pentru Android și iOS, schimbând interfața și lăsând logica programului în C# (Visual C# → Cross-Platform).
Cu exceptia Limbajul vizual C#, poate fi selectat în mod egal Visual Basic sau Visual C++. VS 2015 vă permite să creați aplicații versatile cu folosind JavaScript(JavaScript → Windows → Aplicații universale). Ele pot fi, de asemenea, implementate pe un dispozitiv Windows 10 Mobile.
Instrumente pentru lucrul cu proiecte vechi
De-a lungul istoriei îndelungate a sălii de operație sisteme Windows Un număr colosal de aplicații diferite au fost create pentru acesta. CU Lansare Windows 8 și WinRT (și mai târziu Windows 10 și UWP), vechile aplicații desktop aparțin trecutului, deoarece numai desktopul Win 8 și Win 10 acceptă aplicațiile clasice Win32, COM, .NET. Acest lucru l-a întristat pe Microsoft. Dar băieții și-au dat seama că ar putea dezvolta un convertor care să convertească aplicațiile vechi pentru noul subsistem avansat UWP. Din aceasta s-a născut Convertor de aplicații desktop.
Convertirea unui proiect Xcode se face în doi pași. Mai întâi trebuie să adăugați evidențierea sintaxelor Limbajul Objective-Cîn Visual Studio: instalați extensia objc-syntax-highlighting.vsix din folderul winobjc\bin. Apoi, folosind utilitarul Linie de comanda vsimporter.exe trebuie să convertească proiectul Xcode într-un proiect VS. După aceasta, fișierul sln rezultat poate fi deschis în studio, unde va fi evidențiată sintaxa Objective-C. Puteți construi și rula aplicația, aceasta va rula la fel ca toate celelalte programe Windows.
La naiba, cât de uimitor este să vezi codul Objective-C evidențiat corect în Visual Studio!
Un compilator gratuit este folosit pentru a compila codul Obj-C Zăngăni. Deoarece rezultatul este o aplicație UWP standard, poate fi rulat pe un dispozitiv mobil în Windows 10 Mobile. Un program poate conține cod în C++ și Obj-C.
Daca ai un proiect pentru versiunea anterioara Windows Phone, adică 8.1 (sau 8.0), apoi, când îl deschideți în VS 2015, studioul va actualiza automat proiectul pentru a îndeplini cerințele aplicației Universal Windows (UWP). Nu numai marcajul interfeței cu utilizatorul în XAML va fi convertit, ci și logica programului în JS/C++/C#/VB împreună cu acesta. Dacă au existat apeluri către subsistemul WinRT în cod, atunci acestea vor fi convertite în apeluri UWP.
Există un alt tip comun de aplicație - jocuri. iOS și Android redă folosind o interfață OpenGL de nivel scăzut. Pe de altă parte, pe Windows 10 Mobile, DirectX 11 este utilizat pentru a afișa imagini în jocuri. Acest lucru duce la incompatibilitate. Dar există o soluție - proiectul open source ANGLE. ANGLE (Almost Native Graphics Layer Engine) - motorul de strat grafic aproape nativ - permite utilizatorii de Windows Rulați aplicațiile OpenGL ES fără probleme pe hardware care rulează DirectX 11. Acest lucru se realizează prin conversia apelurilor din API-ul OpenGL ES în API-ul DirectX 11. ANGLE acceptă pe deplin următoarele trei tipuri de aplicații:
- aplicații universale pentru Windows 10 (aplicații universale Windows);
- aplicații pentru Windows 8.1 și Windows Phone 8.1;
- aplicații desktop Windows clasice ( Desktop Windows aplicații).
Problema este discutată mai detaliat în cartea mea „Magia cuplului” (din nou, îți promovezi cartea! Ei bine, bine, o meriți. - Ed.).
Continuarea este disponibilă numai pentru abonați
Opțiunea 1. Abonați-vă la Hacker pentru a citi toate materialele de pe site
Abonamentul vă va permite să citiți TOT în perioada specificată materiale plătite site-ul. Acceptăm plata carduri bancare
, bani electronici și transferuri din conturile operatorului de telefonie mobilă. Odată cu lansarea Windows 8, dezvoltatorilor li s-a prezentat absolut tip nou aplicatii - aplicatii in Stil modern UI Cum e nou? Aplicații similare au fost deja dezvoltate pentru Windows Phone. Aceste aplicații nu aveau nimic în comun cu aplicațiile familiare Windows. Astfel de aplicații nu sunt compatibile cu Versiuni anterioare Windows au o interfață complet nouă (Modern) și se folosește una nouă pentru dezvoltarea lor WinRT API (Windows Runtime API) și Windows XAML
(limbaj de marcare a interfeței). Nu au existat probleme la scrierea doar a versiunii Windows 8 a aplicației dvs., totuși, dacă trebuia să scrieți o aplicație nu numai pentru Windows, ci și pentru Windows Phone, trebuia să depășiți anumite dificultăți. Chestia este că Windows Phone folosește Silverlight (Windows Runtime API) șiși Windows Phone API, în timp ce Windows 8 folosește
și WinRT API. Au unele diferențe semnificative. Pentru o persoană ignorantă i se poate părea că acest lucru nu ar trebui să cauzeze probleme, deși în realitate fiecare versiune a aplicației trebuie scrisă complet de la zero. Acesta este exact ceea ce este problema principala
, deoarece cantitatea de muncă care trebuia făcută a fost colosală. Nu, desigur că au existat modalități de a unifica unele părți ale aplicației, dar sunt dificile pentru un dezvoltator începător. Microsoft știa despre această problemă și pentru o lungă perioadă de timp lucrau la o soluție. Rezultatul acestei lucrări a fost așa-numitul aplicații universale pentru Windows
Fiecare aplicație va fi în continuare creată și compilată separat pentru fiecare platformă, dar cantitatea de muncă necesară a fost acum redusă semnificativ. Chestia este că Microsoft a unificat în sfârșit majoritatea API-urilor pentru Windows și Windows Phone. Majoritatea modificărilor au fost făcute la Partea ferestrelor Telefon. De acum înainte, WinRT API și Windows XAML sunt folosite pentru a scrie aplicații pentru aceste două platforme (în curând vor fi trei, și Xbox One). Desigur, familiarul Silverlight pentru Windows Phone nu a dispărut și chiar a achiziționat unele caracteristici suplimentare, dar nu despre asta vorbim acum.
Aplicațiile universale folosesc acum cadrul Execuție Windows(același Windows Runtime). Aceste inovații permit programatorului să reducă la minimum codul dependent de platformă, deoarece majoritatea apelurilor către API sunt identice.
Aplicația de testare
Astăzi vă sugerez să încercați să scrieți o aplicație universală simplă, al cărei nume este "Salut Lume!". Vom scrie în limbaj C#(sunt necesare cel puțin cunoștințe de bază ale limbii și XAML). Pentru a face acest lucru, avem nevoie minim de:
Windows 8.1 (x86)
Este destul de minim. Cu acest kit puteți dezvolta o aplicație universală și puteți depana versiunea Windows pe dvs calculatorul actual. Puteți depana versiunea Windows Phone a aplicației doar pe un dispozitiv real (și este necesar un cont de dezvoltator).
Pentru a putea depana aplicația în emulatorul Windows Phone, veți avea nevoie de:
Windows 8.1 Professional (x64)
Procesor cu suport pentru virtualizarea hardware pentru clientul Hyper-V (chiar și Celeron G1610 de buget și chiar Pentium 4 pe LGA775 sunt potrivite)
Visual Studio Express 2013 pentru Windows Update 2
Cu acest kit, veți putea să vă dezvoltați aplicația mai complet și să o testați diverse moduri folosind un simulator de tabletă Windows și Emulator Windows Telefon.
voi folosi Studio vizual Ultimate 2013 și voi arăta totul despre el. Nu-ți face griji, de la Express gratuit interfata este practic aceeasi. Sa incepem!
Universal „Bună, lume!”
Să lansăm Visual Studio și să creăm un nou proiect.
În capitolul „Aplicații Magazin Windows» Există diverse șabloane aplicații atât pentru Windows, cât și pentru Windows Phone. Suntem interesați de aplicații universale, ale căror șabloane sunt disponibile într-o subsecțiune specială.
Există două opțiuni din care să alegeți: o aplicație goală și o aplicație cu Hub (acesta este un control atât de grozav). Să ne concentrăm pe o aplicație goală, pentru că încă învățăm și nu ar trebui să intrăm în buruieni imediat. Să începem cu simplul.
Introduceți un nume pentru aplicația care se creează. l-am sunat „UniversalHelloWorld”, clar și precis. Faceți clic pe OK și așteptați până când Visual Studio creează proiectul. Să ne uităm la structura proiectului creat.
Întregul proiect este împărțit în trei părți:
Windows - conține cod și elemente disponibile numai pentru versiunea Windows a aplicației
Windows Phone - conține cod și elemente disponibile numai versiuni Windows Phone aplicatii
Partajat – conține cod și elemente care sunt disponibile pentru două platforme simultan
Vă rugăm să rețineți că pe acest moment Există un singur element în comun: App.xaml(și App.xaml.cs). Acest element este responsabil pentru pornirea și oprirea aplicației.
Puteți încerca deja să lansați aplicația. Și pentru a face acest lucru apăsați F5. Pentru a opri depanarea, reveniți la Visual Studio și faceți clic „Shift+F5”. Ar trebui să vedeți un ecran gol. Versiunea Windows a aplicației va fi lansată inițial. Pentru a alege ce versiune a aplicației să ruleze, căutați butonul de depanare (triunghi verde) pe bara de instrumente.
Aici puteți alege unde să rulați depanarea aplicației dvs. Simulatorul simulează o tabletă Windows, pe care puteți schimba orientarea, rezoluția afișajului și alte lucruri. Butonul " Computer la distanță» este conceput pentru a rula depanarea Windows extern 8 dispozitiv. Folosesc Surface RT în aceste scopuri.
Să revenim la schimbarea versiunii de rulare. În submeniu „Proiectul de pornire” tu poti alege „Windows Phone 8.1”. După aceasta, conținutul meniului de bază se va schimba și mulți emulatori vor fi disponibile pentru alegerea dvs.
Selectați emulatorul dorit și începeți depanarea. Odată ce emulatorul pornește, veți vedea un ecran gol al aplicației dvs. Odată ce depanarea este completă, nu este nevoie să închideți deloc emulatorul.
În timp ce fiecare versiune a aplicației are un separat pagina principala MainPage.xaml. Deoarece aplicația noastră este foarte simplă, nu avem nevoie design diferit pagini de pe fiecare platformă. Mutați MainPage.xaml în secțiunea Partajat, apoi ștergeți-l din Partiții Windowsși Windows Phone. Structura proiectului va fi astfel:
Deschidere acest fișier, vei vedea această țară în editor vizual, precum și codul său de marcare. Până acum avem următorul cod:
Doar creează grila rădăcină a paginii, umbrită culoare standard pagini. Să adăugăm pe pagină o inscripție cu același nume și un buton de bun venit. Plasați un element TextBlock în Grid. Codul elementului va fi:
Pentru a vedea cum arată pagina în modul tabletă/desktop și telefon, utilizați lista derulantă de deasupra editorului de coduri.
Vom adăuga, de asemenea, un buton pe pagină care ne va afișa un mesaj mic. Codul pentru acest buton este:
Să adăugăm un handler de evenimente clic pentru acest buton. Pentru a face acest lucru, faceți dublu clic pe butonul și veți fi dus automat la editorul de cod C#. A fost generat automat un handler gol.
Articole și Lifehacks
Utilizatorii din întreaga lume pot crea jocuri și altele programe interactive pentru această platformă. Totuși, atunci cum se creează o aplicație pentru Windows Phone, precum și posibilitatea, puțini oameni știu. Trebuie înțeles că acesta este un proces foarte complex și consumator de timp și, pentru a stăpâni dezvoltarea, va trebui mai întâi să vă înscrieți pentru o pregătire specială pentru o lungă perioadă de timp.
Ce trebuie să știe cineva care este pe cale să înceapă să stăpânească crearea de jocuri și aplicații pe WP? Articolul nostru este dedicat secvenței de acțiuni pe care le include procesul de dezvoltare, caracteristicilor creării unei interfețe cu utilizatorul, precum și utilizării directe a capacităților platformei în sine.
Secvența de dezvoltare a aplicațiilor pentru Windows Phone și caracteristicile creării interfeței sale cu utilizatorul
Dezvoltarea oricărei aplicații ar trebui să înceapă întotdeauna cu a face o impresie bună. Cu alte cuvinte, va trebui să creați o interfață de utilizator bună (cunoscută și sub numele de XAML) care să pară clară și atractivă și apoi să începeți să adăugați funcții. A treia etapă va fi testarea aplicației.
Înainte de a proiecta o interfață cu utilizatorul, va trebui să învățați cum să alegeți între suprafețele pentru programul dvs. (le puteți găsi prin Magazinul Windows), să creați un aspect și să adăugați conținut și controalele necesare. Asigurați-vă că descărcați resurse de design din Magazin.
Deci, procesul de creare a unei interfețe începe cu crearea unui aspect. Poate fi utilizată o mare varietate de suprafețe, de ex. casete de dialog sau diverse elemente pop-up. În funcție de elementele folosite, aplicația va fi simplă și de înțeles, sau complexă. Orice aplicație Windows folosește și un set special de butoane (cum ar fi „Trimite”, „Căutare”, „Opțiuni”, etc.), care, în schimb, este probabil familiar tuturor.
Dacă există erori în aplicație, puteți afla despre ele prin una dintre cele trei suprafețe principale. Este afișat un mesaj de eroare.
Orice aplicație are nevoie și de controale, cum ar fi liste derulante sau butoane. Toate pot fi folosite datorită programelor speciale din Windows Store (de exemplu, în Visual Basic sau C++) și sunt folosite și la crearea interfeței.
Pentru ca un dezvoltator să-și testeze aplicația pe un dispozitiv mobil real, va avea nevoie de o deblocare.
Utilizarea platformei Windows Phone pentru a crea aplicații
La prima cunoaștere cu platforma WP, utilizatorul ar trebui să se asigure că nu numai cunoștințe necesare, dar și cu unelte speciale. Aceasta poate include, de exemplu, Pachetul Windows Phone SDK (ușor de descărcat din App Hub), Visual Studio 2010 (ediție profesională sau mai mare), mediu software XNA Studio de jocuri 4.0, designer interactiv vizual Expression Blend (pentru WP), Windows Phone Emulator și alte instrumente suplimentare.
Înainte de a începe să înțelegeți cum să creați o aplicație pentru Windows Phone, trebuie să studiați cu atenție toate caracteristicile principale ale acestei platforme - în special controalele acesteia (WebBrowser și Map), sarcinile de selecție și lansare (Choosers și, respectiv, Lansatoare), și lucrează cu un accelerometru și un sistem de geolocalizare. Anumite servicii de geolocalizare sunt disponibile pe un dispozitiv mobil care utilizează informațiile primite prin Wi-Fi, GPS și comunicatii celulare.
in afara de asta capabilități software, dezvoltatorul are și acces la capacitățile hardware ale platformei. După ce a creat aplicația de geolocalizare ExploreMapControl, utilizatorul va putea adăuga funcții de accelerometru specificând directiva corectă.