Risipa de key_press | Programare

Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Risipa de key_press | Programare - Programare .Net | Tehnici de programare | Tutoriale | Lectii si exemple

Programarea pentru Windows Phone 7

Continuam in acest articol seria dedicata programarii Windows Phone 7. Vom descrie pe scurt caracteristicile tehnice ale dispozitivului si cunostintele de programare ce trebuie stapanite pentru a construi programe compatibile Windows Phone 7. Ca activitate practica vom instala Visual Studio Phone Edition.

Descriere telefon

Windows Phone 7 este un dispozitiv destul de puternic din punct de vedere tehnic.

Frecventa unui procesor Windows Phone incepe de la 1Ghz si are Graphical Processing Unit (GPU) folosit pentru interpretarea interfetelor utilizator Silverlight. Aceste doua caracteristici ajuta si la crearea/rularea jocurilor 3D.

Unul din motivele pentru care nu se poate face upgrade versiunilor anterioare de Windows Mobile este reprezentat de schimbarile hardware: exista doar trei butoane care pot fi folosite ca soft-key:

Start, Back, Search. Mai exista alte butoane: Lock, Camera, Volume.

Indiferent de modelul dispozitivului folosit, ele functioneaza la fel.

Display-ul este de 480×800 pixeli (QVGA). Pentru viitor, va fi disponibil si 320×480 (HVGA).

Proiectarea aplicatiei trebuie sa aiba in vedere si tipul ecranului. Daca vrem ca aplicatia noastra sa suporte si orientarea Portrait si Landscape va trebui sa ne folosim de evenimentele speciale care detecteaza schimbarea orientarii. Aplicatiile Silverlight apar implicit in orientarea Portrait iar cele XNA in Landscape. Bineinteles, acest lucru este usor de rescris.

Exista doua tipuri de memorie:

Memoria principala (unde programele sunt incarcate in memorie si executate) si memoria de stocare (unde se stocheaza datele).

Memoria principala va fi de cel putin 256 Mb, iar cea de stocare de 8 Gb.

Conectarea la internet se va face prin reteaua de telefonie 3G (cand nu exista acoperire, intervine GPRS) sau WIFI.

Urmatoarea imagine reflecta foarte bine caracteristice tehnice minime pe care le va detine un dispozitiv Windows Phone7.

Hardware WP7

Modul de executie al programului

Windows Phone 7 nu foloseste Windows 7 ca sistem de operare. Faptul ca au acelasi numar poate fi privit ca o coincidenta. Windows Phone 7 foloseste Windows CE.

Windows Phone 7 nu este multi-tasking – nu ruleaza mai multe programe in acelasi timp. Acest lucru ar fi avut un impact deosebit asupra procesorului si memoriei. Microsoft a anuntat ca acest lucru este valabil doar pentru prima versiune de Windows Phone, astfel ca, in viitor ne putem astepta la surprize. Cert este ca un telefon mobil nu poate avea un display atat de mare incat sa poti vizualiza doua programe in acelasi timp.

Programele pentru Windows Phone sunt scrise in .Net. Ele ruleaza in mediu managed. Este folosita compilarea Just In Time pentru limbajul intermediar MSIL. In articolul Notiuni fundamentele .Net Framework exista informatii despre modul de functionare al .Net.

Mediul de dezvoltare

Cand am instalat si am rulat prima data Visual Studio 2010, am vrut sa imi adaug un proiect de Windows Mobile. Surpriza! Nu exista. Microsoft a lansat mai tarziu o versiune Express pentru dezvoltatorii Windows Mobile.

O singura descarcare am facut pe developer.windowsphone.com pentru a avea toate instrumentele de dezvoltare necesare. La mine, download-ul si instalarea au durat mai mult de 15 minute.

installing

Programul de instalare contine:

  • Microsoft Visual Studio 2010 Express Edition pentru Windows Phone
  • Windows Phone Emulator
  • Microsoft Expression Blend pentru Windows Phone
  • Microsoft XNA Game Studio 4.0 pentru Windows Phone

Datorita faptului ca pe calculator am versiunea Ultimate, dupa instalare, in Visual Studio au fost adaugate doua tipuri de proiecte:

Visual Studio Projects

Windows Phone Edition se instaleaza in directorul "C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE".

WindowsPhoneEdition

Important: Sistemul de operare trebuie sa fie Windows Vista (x86/x64) cu SP2, toate versiunile cu exceptia Starter Edition, sau Windows 7 (x86/x64), toate versiunile, cu exceptia Starter Edition.

Emulatorul ruleaza pe calculatorul nostru. El se va comporta intocmai unui telefon real si ne va permite sa vedem cum va functiona programul nostru daca va fi instalat pe dispozitiv.

Emulator

Observatie: Daca vom folosi un emulator, nu ne vom da seama de perfomanta aplicatiei.

Microsoft Express Blend pentru Windows Phone poate ajuta dezvoltatorul sa creeze interfete utilizator, iar Microsft XNA Game Studio 4.0 pentru Windows Phone va facilita dezvoltarea jocurilor.

Observatie: Trebuie sa inregistrati copia de Microsoft Phone Edition: Help – Register product (e gratis).

Programele pentru Windows Phone 7 se dezvolta fie cu Silverlight (aplicatii business) sau cu XNA (jocuri).

In proiectarea programului trebuie sa tinem cont de baterie, procesor, memorie, dimensiunea ecranului, securitate, acces la retea.

In urmatorul articol vom descrie tipurile de proiecte disponibile in Visual Studio Phone Edition si prima aplicatie in Silverlight.

Category: Uncategorized
  • Jean Valjean says:

    Interesant, buna initiativa de a prezenta programarea in Windows Phone 7.
    Totusi e bizar ca nu se poate programa in Windows XP, inca sistemul de operare cel mai utilizat.

    December 27, 2010 at 9:30 am
  • marius says:

    Se poate apela la un “work around” daca vrei sa dezvolti Windows Phone 7 pe Windows XP. Totusi, exista sanse mari sa intervina probleme, cele mai multe din cauza emulatorului.

    December 27, 2010 at 3:11 pm
  • Jean Valjean says:

    Thanks, good point. Dar nu stiu cum se face dar cand vreau sa programez cu scule M$ imi trebuie “workaround”. Ba nu am nu stiu ce instalat, ba imi trebuie un service pack, ba ca nu am memorie suficienta… ba ca am prea multa memorie. :) .. Da, ati citit bine, VFP3 nu merge daca are mai mult de 512 Mb RAM.

    January 3, 2011 at 11:04 am
  • Bogdan says:

    Jean Valjean, mai du-te in ***** alta parte si comenteaza despre Java si alte chestii. De cand urmaresc blogul asta tot observ ca ai cateceva de comentat despre Microsoft; am inteles ca nu te impaci cu el dar te rog scuteste-ma de comentariile dese cum ca nu e ok, etc etc. Autorul scrie in principiu despre .NET, deci nu vad rostul tau sa vii si sa zici ca ce bun e JAVA, te rog du-te pe forumuri de JAVA si comenteaza acolo.
    Eu unul urmaresc acest blog pentru a invata, asa ca lasa-ma sa invat in tihna despre .NET fara sa tot bruiezi.

    Repet: DU-TE IN PULA MEA CU OPINIILE TALE DESPRE MICROSOFT.

    Marius, imi cer scuze, am vrut sa scriu mai elegant, dar nu m-am putut abtine. Poti sa nu publici comentariul meu. Dar transmite-i lui Jean ca sigur dispera pe multi cu, comentariile lui. {comentariu moderat}

    January 3, 2011 at 2:50 pm
  • Jean Valjean says:

    “Violenta este ultimul refugiu al incompetentei” – Isaac Asimov.

    Ok, daca nivelul a ajuns atat de jos si moderatorul a permis acest comentariu, nu voi mai scrie aici.
    Ma asteptam la o confruntare de idei, cu argumente, nu expresii de la usa cortului. :(

    January 3, 2011 at 8:10 pm
    • zeltera says:

      Jean,
      Am publicat comentariul anterior pentru ca am vrut sa permit oricui sa isi spuna parerea. Inclusiv injuraturile indreptate spre mine – cele care au fost scrise in limbaj decent – au aparut la comentarii. Ceea ce a scris Bogdan e parerea lui, si e liber sa si-o scrie.
      Ar fi pacat sa incetezi sa citesti ceea ce scriu eu aici pentru un conflict minor. In acelasi timp am remarcat in comentariile lasate de tine ca ai ceva impotriva tehnologiilor m$, iar asta, trambitat, ori de cate ori ai ocazia, intr-un loc dedicat in mare parte tehnologiilor m$ poate deranja. Pe mine nu ma deranjeaza, insa nici nu o sa intru in discutii contradictorii cu tine, sau cu oricine altcineva despre suprematii in materie de tehnologii.
      O sa fiu mai atent, in viitor, sa nu mai accept comentarii care pot starni conflicte. Nu e locul. Pentru dicutii in contradictoriu se pot folosi forumurile…

      January 3, 2011 at 8:30 pm

Your email address will not be published. Required fields are marked *

*