- Traducere
Dezvoltare de aplicatii pentru Platforma Windows Telefonul 7 este similar cu dezvoltarea de sub Platforma Android mai mult decât te-ai putea aștepta. În acest articol, Chris Bennett explorează asemănările dintre cele două platforme.
Diferențele între platforme
Înainte de a vă scufunda în instrumente și procese specifice pentru portarea și/sau crearea de aplicații pentru Windows Phone 7, să începem cu terminologia și diferențele tehnologice dintre Windows Phone 7 și Android. Primul mare diferență este că aplicațiile pentru Windows Phone 7 sunt create ca ansambluri .NET gestionate scrise în C#. Platforma acceptă două tipuri de aplicații: jocuri Silverlight și XNA.Majoritatea aplicațiilor Windows Phone 7 sunt create folosind Silverlight, care oferă o modalitate bazată pe formular de a interacționa cu utilizatorul prin controale standard, cum ar fi casetele de text, câmpuri de text, liste etc. Analogul Silverlight pentru Android Layout și Activitatea însoțitoare este Page.
Un alt tip de aplicație suportat de Windows Phone 7 este XNA, care permite dezvoltatorilor să creeze jocuri 2D și 3D. Acesta este echivalentul Android al SurfaceView și GLSurfaceView pentru 2D și, respectiv, 3D. Spre deosebire de Android, care se concentrează pe utilizarea OpenGL pentru jocuri, jocurile XNA folosesc Direct3D, ceea ce facilitează portarea jocurilor de pe platformele PC și Xbox 360.
Pagini și navigare
Paginile Silverlight sunt create ca fișiere XML, la fel ca Android Layouts. Pentru a descrie o pagină într-un fișier XML, se folosește XAML (Extensible Application Markup Language). XAML este similar cu Android Layout, dar are mai multe gamă largă oportunități. XAML permite dezvoltatorilor să implementeze acțiuni legate de pagină, inclusiv animații, legare de date și multe altele, reducând cantitatea de cod necesară.Android Layout este decuplat de Activitatea folosită pentru a efectua acțiuni. Ca rezultat, sunteți forțat să scrieți cod pentru a asocia Activitatea cu elementele corespunzătoare ale interfeței cu utilizatorul (UI). Codul C# pentru o anumită pagină este deja legat de elementele UI și pur și simplu nu există o astfel de nevoie. Platforma creează automat „legăturile” necesare pentru obiecte și evenimente pentru Pagina și UI. Acest lucru previne dezordinea care apare în mod obișnuit în metoda OnCreate a fiecărei sarcini, în care creați legăturile UI și diferiți handlere necesari.
O altă diferență importantă între platforme este navigarea. În Android, treci de la o sarcină la alta creând o intenție. Echivalentul în Windows Phone 7 este Navigarea, care vă permite să navigați între diferite Pagini. Ca și în cazul Android Intent, puteți transmite date către Pagina la care navigați. Pagina din Windows Phone 7 are unele proprietăți similare paginii ASP.net. De exemplu, este obișnuit să utilizați QueryString pentru a transmite informații către următoarea pagină.
Convertiți aspectele în pagini
Înainte de a pătrunde în cod, trebuie să ne uităm la transformarea Android Layout XML în Windows Phone 7 XAML Pages. Desigur, unul dintre lucrurile grozave despre instrumentele gratuite pentru Windows Phone 7 este calitatea instrumentelor de proiectare disponibile pentru XAML. Designer XAML inclus în Studio vizual 2010 este destinat să fie utilizat în primul rând de către dezvoltatori pentru a obține controale de bază ale paginii și pentru a începe dezvoltarea. Expression Blend este conceput pentru a crea design profesional cu un set mai avansat de instrumente pentru a îmbunătăți interfața cu utilizatorul. Ca și în cazul Android Layout, puteți recurge oricând la editarea XAML direct în editor de text, deoarece este un fișier XML obișnuit.Pagina Windows Phone 7 oferă aspect și comenzi similare cu aspectul Android. Următorul tabel prezintă echivalentele pentru ambele platforme.
Elemente de marcare
Vă rugăm să rețineți că Windows Phone 7 are potriviri unu-la-unu pentru elemente de baza marcarea si managementul. Dar pentru unele dintre elementele specializate de marcare și control, nu există nicio corespondență. Motivul pentru acest lucru constă în bogăția XAML, ceea ce face foarte ușor să imbricați controalele unul în celălalt. În acest fel puteți, de exemplu, să adăugați un ListBox cu CheckBoxes lângă fiecare articol fără a fi nevoie să scrieți niciun cod. Acest lucru înseamnă că nu aveți nevoie de toate aceste controale complexe, care pot fi create și modificate în cadrul aplicației dvs.Stocare a datelor
Stocarea datelor este o mare parte a provocării atunci când se dezvoltă majoritatea aplicatii mobile. În Windows Phone 7, ideea este să folosiți serviciile cloud ca mijloc principal de stocare a datelor. Acest lucru poate părea puțin ciudat la început, dar dacă creați o aplicație client pentru site-ul dvs., are sens. Dacă nu veți merge pe această rută, atunci aveți două opțiuni: folosiți servicii comerciale pentru depozitare, precum Windows Azure sau utilizați interfața locală IsolatedStorage. IsolatedStorage vă permite să stocați fișiere pentru a le utiliza numai de către aplicația dvs.În funcție de modul în care aplicația dvs. stochează datele, este posibil să doriți să stocați datele local fără a fi nevoie să creați și să utilizați o bază de date. De exemplu, dacă creați o aplicație RSS/Podcast, puteți stoca pur și simplu XML-ul din fluxul RSS. Dacă trebuie să accesați date, pur și simplu încărcați datele și utilizați LINQ (Language Integrated Query) pentru a prelua datele specifice.
În exemplul aplicației RSS, am putea fie să lucrăm cu XML brut din fluxul RSS, fie să folosim LINQ for XML pentru a crea un XDocument pentru a stoca înregistrările, așa cum se arată mai jos:
- //Creează XML
- XDocument doc = nou XDocument();
- doc.Add(new XElement("DataRoot" ,
- XElement nou ("Înregistrare",
- nou XElement ("valoare", "data1" )),
- XElement nou ("Înregistrare",
- nou XElement ("valoare", "data2"))
XML generat de aceasta un fragment simplu codul arata asa:
* Acest cod sursă a fost evidențiat cu Sursa de evidențiere a codului.
- < DataRoot >
- < Record >
- < value >date1 value >
- Record >
- < Record >
- < value >date2 value >
- Record >
- DataRoot >
Pentru a stoca acest XML într-un spațiu de stocare izolat, folosim IsolatedStorageFile cu IsolatedStorageFileStream, așa cum se arată în următorul fragment:
* Acest cod sursă a fost evidențiat cu Sursa de evidențiere a codului.
- //Salvați XML
- doc.Salvare(fișier);
- file.Close();
După cum puteți vedea, este foarte ușor să implementați stocarea datelor XML în stocare izolată. Codul pentru a obține XML și a crea o interogare LINQtoXML este prezentat mai jos:
* Acest cod sursă a fost evidențiat cu Sursa de evidențiere a codului.
- //Încărcați XML
- folosind (IsolatedStorageFile isf = IsolatedStorageFile.GetUserStoreForApplication())
- folosind (Fișier IzolatedStorageFileStream = isf.OpenFile("data.xml", FileMode .OpenOrCreate))
- XDocument d = XDocument .Load(fișier);
- var interogare = din r în d.Root.Elements("Înregistrare" )
- selectați r;
- //Procesează lista de înregistrări
Deși exemplul de mai sus este foarte simplu, ilustrează cât de ușor este să implementezi stocarea datelor pe telefon fără a fi nevoie să creezi și să folosești o bază de date. Acest cod poate fi extins și pentru a stoca date mai complexe.
Instrumente de dezvoltare
În calitate de dezvoltator Android, cel mai probabil sunteți obișnuit cu părțile bune și rele ale dezvoltării open-source. Utilizarea IDE-ului Eclipse pentru Android face, desigur, parte din partea bună. Dar Android Development Toolkit (ADT) îi lipsesc multe instrumentele necesare, cum ar fi instrumentele de marcare adecvate. Deși ADT oferă instrumente similare, acestea nu sunt suficient de robuste pentru a vă permite să creați cu ușurință markup - probabil va trebui să vă scufundați în XML.Microsoft furnizează instrumente de dezvoltare fiabile de mulți ani. Și platforma Windows Phone 7 nu a făcut excepție. Microsoft, ca de obicei, face ușor și ieftin să începeți dezvoltarea imediată. Dezvoltatorii Java pot descărca și încerca aceste instrumente fără a cheltui bani.
Următoarele instrumente sunt disponibile în prezent pe create.msdn.com:
- Microsoft Visual Studio 2010 Express pentru telefon
- Microsoft Expression Blend pentru telefon
- Microsoft XNA Game Studio pentru telefon
Microsoft Visual Studio 2010 Express pentru telefon este mediul de dezvoltare cuprinzător (IDE) principal utilizat pentru a crea aplicații pentru Windows Phone 7. Acesta include toate instrumentele de care aveți nevoie pentru a crea aplicații, inclusiv un instrument de marcare a paginii, un compilator C #, Windows Phone 7 emulator și multe altele.
Microsoft Expression Blend pentru telefon este un instrument destinat în primul rând designeri profesioniștiși este folosit pentru a îmbunătăți Pagini într-o aplicație Silverlight. Dezvoltatorii pot folosi acest instrument pentru a crea pagini de la zero sau pentru a îmbunătăți deja paginile aplicație existentă fără a-i afecta codul.
Microsoft XNA Game Studio for Phone oferă un set de instrumente necesare pentru a crea jocuri 2D și 3D pentru platformă. Studio include, de asemenea, XNA Framework, precum și instrumentele necesare pentru a activa sunetul și grafica necesare pentru a crea jocuri bazate pe bucle.
Concluzie
Oferte Windows Phone 7 noua abordare la un sistem de operare pentru smartphone, dar se bazează încă pe tehnologii dovedite precum Silverlight, WPF, C# și multe altele. După cum puteți vedea din acest articol, diferențele dintre Android și Windows Phone 7 nu sunt atât de mari.UPD: Am publicat o traducere a acestui articol pentru a arăta că dezvoltarea învățării pentru platforma Windows Phone 7 nu este atât de dificilă dacă aveți deja experiență în dezvoltarea pentru Android. Nu spune că oricare dintre acestea platforme mobile mai bine sau mai rău.
Vă rog să nu-mi împingeți karma în negativ pentru a putea publica și alte articole despre dezvoltare pentru Windows Phone 7. Dacă nu vă interesează, treceți, nu-i lipsiți pe cei interesați de oportunitatea de a învăța ceva nou.
Înainte de a începe procesul de dezvoltare a aplicației pentru telefoane mobile cei care lucrează pentru ar trebui să fie pregătiți unelte speciale, fără de care va fi imposibil de finalizat etapele ulterioare.
Pregătirea pentru dezvoltare necesită următorul software:
- Visual Studio2010
Acest software vă permite să utilizare deplinăîntârzieri. Este de remarcat faptul că amânări similare sunt utilizate pentru versiunile desktop de Windows.
- Amestecul de expresie
Software-ul este un designer vizual, datorită căruia puteți lucra cu ușurință cu straturi, tot felul de șabloane, stiluri de design și animații. Versiunea Expression Blend4 pentru Windows Telefon disponibil pt descărcare gratuită. Merită remarcat faptul că Expression Blend este o bază pentru XAML.
- WindowsPhone SDK
Prin utilizarea a acestui pachet procesul de dezvoltare poate începe.
- Emulator WindowsPhone
Vă permite să creați într-un emulator cu încorporat Internet Explorer 9, echipat cu aplicații HTML5. De asemenea, îl puteți folosi pentru a testa apeluri și trimiteri de SMS-uri, precum și pentru a susține multe funcții utile, inclusiv multi-touch pe monitoare, simularea camerei. Serviciile de geolocalizare sunt disponibile pentru utilizare. Cu toate acestea, acest emulator nu acceptă conținutul media Zune.
- XNA Game Studio4.0
Datorită acestui software, puteți dezvolta jocuri atât pentru console, PC-uri, cât și pentru WindowsPhone. Bibliotecile XNA Framework sunt o piesă importantă de software care se caracterizează prin cod gestionat.
Software suplimentar
Instrumentele suplimentare pentru dezvoltatori includ următoarele:
- Windows Dezvoltator de telefon Instrument de înregistrare.
- WindowsPhone Profiler. Ajută la detectarea problemelor de performanță.
- Setul de instrumente Silverlight pentru WindowsPhone.
Caracteristicile mediului de dezvoltare
Odată ce toate instrumentele necesare sunt instalate, dezvoltatorii vor avea acces la numeroase șabloane de aplicații Silverlight pentru WindowsPhone. Acest software include atât un set complet de componente tehnologice pentru dezvoltare, cât și interfața de utilizare în stil Windows 8, care este un concept eficient pentru proiectarea interfeței și a sistemului care vă permite să interacționați cu utilizatorul pe nivel inalt. Cu ajutorul lui, poți crea un stil memorabil și original, care va face cu adevărat aplicația să iasă în evidență printre multe altele din magazin.
Există trei șabloane care reprezintă trei stiluri diferite concepute pentru WindowsPhone:
- Primul șablon se numește Aplicație WindowsPhone, care este un exemplu comun de aplicație conversațională. Interacțiunea cu utilizatorii se realizează folosind un singur ecran.
- Aplicația WindowsPhone Pivot este creată ca o aplicație care conține marcaje. Fiecare dintre marcaje are propriul titlu, prin care puteți determina conținutul. Pivotul este folosit ca element de control.
- Aplicația WindowsPhone Panorama are un sistem unic de interacțiune cu utilizatorii, care se realizează prin zone împărțite în panouri cu defilare orizontală. Pentru a acestui șablon plasarea caracteristică a imaginii de fundal în întreaga panoramă. Conținut plasat pe panoul alăturat cu partea dreapta, poate fi văzut la afișarea celui curent. Panorama este un element de management.
Este de remarcat faptul că șabloanele ale căror nume se termină cu Agent sunt șabloane pentru biblioteci speciale, scopul principal care este de a efectua diverse sarcini de fundal. De asemenea este si o cantitate mare diverse alte șabloane care funcționează rol importantîn curs de dezvoltare a diverselor aplicaţii mobile.
Puteți afla mai multe despre dezvoltarea aplicațiilor pentru Windows Phone .
Înainte de a începe să explorăm capacitățile platformei și să dezvoltăm aplicații, trebuie să ne asigurăm că avem toate instrumentele necesare și că înțelegem câteva elemente de bază ale dezvoltării.
Instrumente
Visual Studio 2010
Pentru a dezvolta pentru Windows Phone veți avea nevoie de Visual Studio 2010 cu Service Pack 1 Professional Edition sau o versiune superioară. Dacă nu aveți Visual Studio 2010, atunci când instalați Instrumentele de dezvoltare Windows Phone, acesta se va instala automat versiune gratuită Visual Studio 2010 Express pentru Windows Phone, care poate fi folosit și pentru a dezvolta aplicații pentru Windows Phone.
Ambele versiuni ale Instrumentelor de dezvoltare integrate Visual Studio oferă dezvoltatorului capabilități complete depanare pe dispozitiv și emulator, la fel ca pentru dezvoltatorii de aplicații pentru versiunea desktop de Windows.
Vă rugăm să rețineți că pentru a depana pe dispozitiv, pe lângă dispozitivul în sine și cablul de conectare la computer, trebuie să aveți software-ul Zune (http://zune.net) instalat pe computer cu instrumentele de dezvoltare. De asemenea, înainte de a implementa aplicația și de a depana, trebuie să înregistrați dispozitivul („deblocați”) folosind Instrumentul de înregistrare pentru dezvoltatori Windows Phone, care este instalat cu Windows Phone SDK.
Windows Phone SDK
Acest pachet, disponibil pentru descărcare de pe site-ul App Hub http://create.msdn.com, conține tot ce aveți nevoie pentru a începe dezvoltarea. La momentul scrierii acestui articol, ultima versiune trusa de instrumente disponibilă în versiuni Windows Phone SDK 7.1 Release Candidate în licența „Go Live” cu posibilitatea de a dezvolta propriile aplicații și de a le publica în Windows Phone Marketplace. Windows Phone SDK 7.1 Release Candidate conține următoarele componente:
- Windows Phone SDK 7.1
- Emulator Windows Phone
- Windows Phone SDK 7.1 Ansambluri
- Silverlight 4 SDK și DRT
- Extensii Windows Phone SDK 7.1 pentru XNA Game Studio 4.0
- Expression Blend SDK pentru Windows Phone 7
- Expression Blend SDK pentru sistemul de operare Windows Phone 7.1
- Client WCF Data Services pentru Windows Phone
- Microsoft Advertising SDK pentru Windows Phone
Dacă nu aveți instalat Visual Studio 2010 Professional Edition, Expression Bland 4 sau XNA Game Studio 4.0, procesul de instalare va descărca și instala și:
- Visual Studio 2010 Express pentru Windows Phone
- Expression Blend 4 pentru Windows Phone
- XNA Game Studio 4.0
Expression Blend și Expression Blend pentru Windows Phone
Expression Blend este un designer vizual interactiv pentru XAML, tehnologia de descriere a interfeței pentru aplicațiile Silverlight și Windows Presentation Foundation (WPF). Este un instrument excelent de dezvoltare care vă permite să manipulați cu ușurință straturi, animații, stiluri și șabloane. Acesta este un instrument de dezvoltare XAML de bază. Expression Blend în sine nu este gratuit, dar versiune speciala pentru a crea modele de aplicații pentru Windows Phone numite Expression Blend 4 pentru Windows Phone este disponibil gratuit pentru dezvoltatori. Acesta va fi descărcat și instalat în timpul procesului de instalare Windows Phone SDK, dacă nu îl aveți pe computer versiunea completa Amestecul de expresie. Puteți citi mai multe despre Expression Blend 4 pe MSDN:
XNA Game Studio 4.0
Emulator Windows Phone
Chiar dacă Windows Phone Emulator nu conține Set complet aplicații disponibile pe dispozitiv real, oferă un mediu puternic care vă permite să vă dezvoltați aplicația aproape în întregime într-un emulator.
Emulatorul Windows Phone nu acceptă redarea conținutului media Zune. Emulatorul vine cu o singură aplicație încorporată pentru Internet Explorer, dar este Internet Explorer 9 cu suport HTML5.
În același timp, emulatorul vă permite să testați apeluri și să trimiteți mesaje SMS, acceptă multi-touch pe monitoarele care îl acceptă, acceptă simularea unei camere, servicii de geolocalizare și accelerometru și vă va permite, de asemenea, să faceți capturi de ecran.
Instrumente suplimentare pentru dezvoltatori
Instrument de înregistrare pentru dezvoltatori Windows Phone
Windows Phone Profiler
Windows Phone Profiler este disponibil în meniul Debug din Visual Studio cu Windows Phone SDK instalat.
Setul de instrumente Silverlight pentru Windows Phone- trusa elemente utile Comenzi Silverlight pentru Windows Phone cu suport pentru modul design, de la echipa de dezvoltare Silverlight. Toate valabile sursă, exemple și documentație. Actualizat aproximativ o dată la trei luni, disponibil la http://silverlight.codeplex.com sau prin NuGet.
Versiunea actuală include controale precum ContextMenu, DatePicker și TimePicker, ToggleSwitch, WrapPanel și GestureHelper.
Mediu de dezvoltare
După instalarea instrumentelor Dezvoltare Windows Grupurile de proiecte Phone SDK pentru Silverlight pentru Windows Phone vor apărea în dialogul Proiect nou din Visual Studio:
și proiectele pentru Windows Phone vor fi adăugate la grupul XNA Game Studio 4.0:
Această serie de articole se concentrează pe dezvoltarea pentru Windows Phone folosind Silverlight, așa că ne vom uita puțin mai detaliat la șabloanele disponibile pentru dezvoltatorii de aplicații.
După instalare, dezvoltatorul are la dispoziție următoarele șabloane de aplicație Silverlight pentru Windows Phone:
- Aplicația Windows Phone
- Aplicația Windows Phone Databound
- Biblioteca de clasă Windows Phone
- Aplicația Windows Phone Silverlight și XNA
Înainte de a trece direct la șabloanele de aplicații, trebuie să spun câteva cuvinte despre Windows Phone și interfața de utilizare în stil Windows 8.
Windows Phone și interfața de utilizare în stil Windows 8
Windows Phone nu este doar o altă platformă pentru dispozitive mobile. Acesta conține nu numai o componentă tehnologică, ci și un concept complet dezvoltat de proiectare a interfeței și interacțiunea cu utilizatorul numit Windows UI în stil 8 sau UI în stil Windows 8.
Dacă sunteți designer sau aveți un designer dedicat în echipa dvs., puteți profita din plin de puterea Expression Blend 4 sau Expression Blend pentru Windows Phone, care vine cu Windows Phone SDK.
Ce trebuie să faceți dacă sunteți dezvoltator și nu doriți să vă ocupați de designul vizual al aplicației, de exemplu, dezvoltați o aplicație de afaceri și tot ceea ce este necesar de la aceasta este să respectați designul general și stilul Windows Phone ?
Totul este foarte simplu. În primul rând, Silverlight pentru telefon este proiectat cu Cerințe Windows UI în stil 8, astfel încât toate comenzile încorporate sunt realizate în stilul UI în stil Windows 8. În al doilea rând, în mod implicit, aplicațiile create din șabloane furnizate de Windows Phone SDK funcționează, arată și folosesc stiluri și fonturi în conformitate cu interfața de utilizare în stil Windows 8.
Pe de altă parte, capacitățile de stil pe care Silverlight le oferă pentru controalele și aplicațiile bazate pe XAML sunt suficiente pentru a face aplicația dvs. unică și recunoscută, rămânând în același timp în interfața de utilizare în stil Windows 8.
Ghidul pentru proiectarea interfeței de utilizator și experiența utilizatorului pentru Windows Phone poate fi găsit la următorul link
Tot ceea ce s-a spus mai sus se aplică, desigur, la proiectarea aplicațiilor obișnuite, de la cerințele de proiectare aplicații de jocuri iar interfața lor poate diferi semnificativ. În același timp, nu trebuie să uităm principii generale experiența utilizatorului inerentă conceptului Windows Phone.
Șabloane de aplicație
Mai întâi, să ne uităm la trei șabloane care reprezintă cele trei stiluri principale ale unei aplicații Windows Phone:
- Aplicația Windows Phone
- Aplicația Windows Phone Pivot
- Aplicația Windows Phone Panorama
Aplicația Windows Phone este un analog al unei aplicații conversaționale simple care are un ecran principal prin care are loc interacțiunea principală cu utilizatorul.
Aplicația Windows Phone Pivot este un fel de aplicație de marcaj, în care titlul fiecărui marcaj determină conținutul. Opțiune standard utilizare - fiecare marcaj reprezintă aceleași, în general, date, dar în vizualizări diferite și/sau cu filtrare diferită. De exemplu, un calendar client de mailși setările telefonului. Șablonul folosește un control Pivot.
Aplicația Windows Phone Panorama este o aplicație panoramică în care zonele de interacțiune cu utilizatorul sunt, de asemenea, împărțite în panouri, dar sunt accesibile prin defilare orizontală; imagine de fundal instalat pe întreaga panoramă deodată, are un titlu comun care derulează mai lent decât panourile; conținutul panoului alăturat din dreapta este vizibil atunci când este afișat cel curent. De exemplu, hub-urile din Windows Phone sunt implementate în acest fel: Oameni, Piață, Imagini, Muzică+Video, etc. Șablonul folosește controlul Panoramă.
Șabloanele care se termină cu Agent sunt șabloane de bibliotecă pentru efectuarea sarcinilor de fundal corespunzătoare:
- Agent de redare audio Windows Phone
- Agent de streaming audio Windows Phone
- Agent de activități programate Windows Phone
Șablon de aplicație Windows Phone Databound - un șablon de aplicație simplu cu o listă - o vizualizare detaliată cu implementarea navigării între pagini, transmiterea parametrilor și stocarea datelor într-un ViewModel global.
Windows Phone Class Library Template – șablon de bibliotecă de clasă pentru Windows Phone.
Windows Phone Silverlight și șablon de aplicație XNA pentru o aplicație Silverlight care poate folosi XNA pentru a reda conținut grafic.
Înainte de a începe să explorăm capacitățile platformei și să dezvoltăm aplicații, trebuie să ne asigurăm că avem toate instrumentele necesare și că înțelegem câteva elemente de bază ale dezvoltării.
Instrumente
Visual Studio 2010
Pentru a dezvolta pentru Windows Phone veți avea nevoie de Visual Studio 2010 cu Service Pack 1 Professional Edition sau o versiune superioară. Dacă nu aveți Visual Studio 2010, atunci când instalați instrumentele de dezvoltare pentru Windows Phone, se va instala automat versiunea gratuită a Visual Studio 2010 Express pentru Windows Phone, care poate fi folosită și pentru dezvoltarea aplicațiilor pentru Windows Phone.
Ambele versiuni ale Instrumentelor de dezvoltare integrate Visual Studio oferă dezvoltatorului aceleași capacități complete de depanare pe dispozitiv și emulator pe care le au dezvoltatorii de aplicații pentru versiunea desktop a Windows.
Vă rugăm să rețineți că, pentru a depana pe dispozitiv, pe lângă dispozitivul în sine și cablul de conectare la computerul de dezvoltare, trebuie să aveți software-ul Zune (http://zune.net) instalat pe computerul cu programul de dezvoltare. unelte. De asemenea, înainte de a implementa aplicația și de a depana, trebuie să înregistrați dispozitivul sau să-l „deblocați”, utilizând Instrumentul de înregistrare pentru dezvoltatori Windows Phone, care este instalat cu SDK-ul Windows Phone.
Windows Phone SDK
Acest pachet, disponibil pentru descărcare de pe site-ul App Hub http://create.msdn.com, conține tot ce aveți nevoie pentru a începe dezvoltarea. La momentul scrierii acestui articol, cea mai recentă versiune a setului de instrumente este disponibilă în Windows Phone SDK 7.1 Release Candidate sub licența „Go Live”, cu posibilitatea de a dezvolta propriile aplicații și de a le publica pe Windows Phone Marketplace. Windows Phone SDK 7.1 Release Candidate conține următoarele componente:
- Windows Phone SDK 7.1
- Emulator Windows Phone
- Windows Phone SDK 7.1 Ansambluri
- Silverlight 4 SDK și DRT
- Extensii Windows Phone SDK 7.1 pentru XNA Game Studio 4.0
- Expression Blend SDK pentru Windows Phone 7
- Expression Blend SDK pentru sistemul de operare Windows Phone 7.1
- Client WCF Data Services pentru Windows Phone
- Microsoft Advertising SDK pentru Windows Phone
Dacă nu aveți instalat Visual Studio 2010 Professional Edition, Expression Bland 4 sau XNA Game Studio 4.0, procesul de instalare va descărca și instala și:
- Visual Studio 2010 Express pentru Windows Phone
- Expression Blend 4 pentru Windows Phone
- XNA Game Studio 4.0
Expression Blend și Expression Blend pentru Windows Phone
Expression Blend este un designer vizual interactiv pentru XAML, tehnologia de descriere a interfeței pentru aplicațiile Silverlight și Windows Presentation Foundation (WPF). Este un instrument excelent de dezvoltare care vă permite să manipulați cu ușurință straturi, animații, stiluri și șabloane. Acesta este un instrument de dezvoltare XAML de bază. Expression Blend în sine nu este gratuit, totuși, o versiune specială pentru crearea de design de aplicații pentru Windows Phone, numită Expression Blend 4 pentru Windows Phone, este disponibilă gratuit pentru dezvoltatori. Acesta va fi descărcat și instalat în timpul procesului de instalare Windows Phone SDK dacă nu aveți versiunea completă a Expression Blend pe computer. Puteți citi mai multe despre Expression Blend 4 pe MSDN:
XNA Game Studio 4.0
Emulator Windows Phone
Deși Windows Phone Emulator nu conține setul complet de aplicații disponibile pe un dispozitiv real, oferă un mediu puternic care vă permite să dezvoltați aproape complet o aplicație în emulator.
Emulatorul Windows Phone nu acceptă redarea conținutului media Zune. Emulatorul vine cu o singură aplicație încorporată pentru Internet Explorer, dar este Internet Explorer 9 cu suport HTML5.
În același timp, emulatorul vă permite să testați apeluri și să trimiteți mesaje SMS, acceptă multi-touch pe monitoare cu suport multi-touch, acceptă simularea camerei, servicii de geolocalizare și accelerometru și vă va permite, de asemenea, să faceți capturi de ecran.
Instrumente suplimentare pentru dezvoltatori
Instrument de înregistrare pentru dezvoltatori Windows Phone
Windows Phone Profiler
Windows Phone Profiler este disponibil în meniul Debug din Visual Studio cu Windows Phone SDK instalat.
Setul de instrumente Silverlight pentru Windows Phone
Silverlight Toolkit pentru Windows Phone - un set de comenzi Silverlight utile pentru Windows Phone cu suport pentru modul design, de la echipa de dezvoltare Silverlight. Tot codul sursă, exemplele și documentația sunt disponibile. Actualizat aproximativ o dată la trei luni, disponibil la http://silverlight.codeplex.com sau prin NuGet.
Versiunea actuală include controale precum ContextMenu, DatePicker și TimePicker, ToggleSwitch, WrapPanel și GestureHelper.
Mediu de dezvoltare
După instalarea SDK-ului Windows Phone, grupurile de proiecte pentru Silverlight pentru Windows Phone vor apărea în dialogul Proiect nou din Visual Studio:
și proiectele pentru Windows Phone vor fi adăugate la grupul XNA Game Studio 4.0:
Această serie de articole se concentrează pe dezvoltarea pentru Windows Phone folosind Silverlight, așa că ne vom uita puțin mai detaliat la șabloanele disponibile pentru dezvoltatorii de aplicații.
După instalare, următoarele șabloane de aplicație Silverlight pentru Windows Phone sunt disponibile dezvoltatorului:
- Aplicația Windows Phone
- Aplicația Windows Phone Databound
- Biblioteca de clasă Windows Phone
- Aplicația Windows Phone Silverlight și XNA
Înainte de a trece direct la șabloanele de aplicații, trebuie să spun câteva cuvinte despre designul Windows Phone și Metro.
Design Windows Phone și Metro
Platforma Windows Phone nu este doar o altă platformă pentru dispozitive mobile. Conține nu doar o componentă tehnologică, ci și un concept complet dezvoltat de proiectare a interfeței și interacțiune cu utilizatorul numit Metro design sau Metro style.
Dacă sunteți designer sau aveți un designer dedicat în echipa dvs., puteți profita din plin de puterea Expression Blend 4 sau Expression Blend pentru Windows Phone, care vine cu Windows Phone SDK.
Ce trebuie să faceți dacă sunteți dezvoltator și nu doriți să vă ocupați de designul vizual al aplicației, de exemplu, dezvoltați o aplicație de afaceri și tot ceea ce este necesar de la aceasta este să respectați designul general și stilul Windows Phone ?
Totul este foarte simplu. În primul rând, Silverlight pentru telefon este proiectat ținând cont de cerințele designului Metro, astfel încât toate comenzile încorporate sunt realizate în design Metro. În al doilea rând, în mod implicit, aplicațiile create din șabloanele furnizate în Windows Phone SDK rulează, arată și folosesc stiluri și fonturi în concordanță cu designul Metro.
Pe de altă parte, capacitățile de stil pe care Silverlight le oferă pentru controalele și aplicațiile bazate pe XAML sunt suficiente pentru a face aplicația dvs. unică și recunoscută, rămânând în același timp în stilul Metro.
Ghidul pentru proiectarea interfeței de utilizator și experiența utilizatorului pentru Windows Phone poate fi găsit la următorul link
Tot ceea ce s-a spus mai sus se aplică, desigur, pentru proiectarea aplicațiilor obișnuite, deoarece cerințele pentru proiectarea aplicațiilor de jocuri și interfața acestora pot diferi semnificativ. În același timp, nu trebuie să uităm de principiile generale de interacțiune cu utilizatorul inerente conceptului Windows Phone.
Șabloane de aplicație
Mai întâi, să ne uităm la trei șabloane care reprezintă cele trei stiluri principale ale unei aplicații Windows Phone:
- Aplicația Windows Phone
- Aplicația Windows Phone Pivot
- Aplicația Windows Phone Panorama
Aplicația Windows Phone este un analog al unei aplicații conversaționale simple care are un ecran principal prin care are loc interacțiunea principală cu utilizatorul.
Aplicația Windows Phone Pivot este un fel de aplicație de marcaj, în care titlul fiecărui marcaj determină conținutul. Cazul de utilizare standard este că fiecare marcaj reprezintă aceleași date, dar în vizualizări diferite și/sau cu filtrare diferită. De exemplu, calendarul, clientul de e-mail și setările telefonului. Șablonul folosește un control Pivot.
Aplicația Windows Phone Panorama - o aplicație panoramică în care zonele de interacțiune a utilizatorului sunt, de asemenea, împărțite în panouri, dar sunt accesibile prin defilare orizontală; imaginea de fundal este setată la întreaga panoramă deodată, are un titlu comun care derulează mai lent decât panourile; conținutul panoului alăturat din dreapta este vizibil atunci când este afișat cel curent. De exemplu, hub-urile din Windows Phone sunt implementate în acest fel: Oameni, Piață, Imagini, Muzică+Video, etc. Șablonul folosește controlul Panoramă.
Șabloanele care se termină cu Agent sunt șabloane de bibliotecă pentru efectuarea sarcinilor de fundal corespunzătoare:
- Agent de redare audio Windows Phone
- Agent de streaming audio Windows Phone
- Agent de activități programate Windows Phone
Șablon de aplicație Windows Phone Databound - un șablon de aplicație simplu cu vizualizare listă - o vizualizare detaliată cu implementarea navigării între pagini cu transferul de parametri și stocarea datelor în VeiwModel global.
Windows Phone Class Library Template – șablon de bibliotecă de clasă pentru Windows Phone.
Windows Phone Silverlight și șablon de aplicație XNA pentru o aplicație Silverlight care poate folosi XNA pentru a reda conținut grafic.
Crearea unei aplicații simple
În dialogul New Project Visual Studio, selectați Visual C#, Silverlight pentru Windows Phone și un șablon simplu aplicații Windows Telefon aplicație și numiți-o 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 a genera fișierul XAP în care este ambalată 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 capabilităților necesare 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. Acesta este un fișier cu adevărat important, deoarece este primul lucru pe care utilizatorii îl vor vedea 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). Aceasta este în esență o pictogramă mare de aplicație. 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, acestea sunt doar fișiere XML cu limbajul de marcare XAML.
Chiar dacă acesta este cel mai simplu proiect, conține totul elemente cheie, care 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 unui element 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 la 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, cum să o facă.
Î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ă apăsăm apoi butonul hardware Back, 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 (expeditorul obiectului, 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 codul XAML al fișierului SecondPage.xaml, în interiorul unui element Grid numit ContentPanel, inserați controalele Button și HyperlinkButton, după cum se arată mai jos:
Pentru a crea un handler Faceți clic pe evenimente Butonul MyButton de pe pagina SecondPage, faceți clic dreapta pe textul MyButton_Click din editorul XAML și selectați Navigați la Event Handler.
Rulaț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:
Protected override void OnNavigatingFrom(NavigatingCancelEventArgs e) ( base.OnNavigatingFrom(e); // Dacă navigarea poate fi anulată, verificați cu utilizatorul dacă dorește să rămână pe pagina curentă dacă (e.IsCancelable) ( MessageBoxResult result = MessageBox. Show(„Poți rămâne?”, „Confirmarea tranziției”, MessageBoxButton.OKCancel); if (rezultat == MessageBoxResult.OK) ( // Utilizatorul a decis să rămână e.Cancel = true; return; ) ) )
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 al obiectului, 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 următorii pași
Deci, ne-am dat seama ce trebuie să instalăm pentru a dezvolta pentru Windows Phone 7, ne-am familiarizat cu șabloanele disponibile și am învățat cum să creăm o nouă aplicație dintr-un șablon. De asemenea, am învățat cum să adăugăm controale direct la 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.