Contacte

Introducere în UWP. Windows Core OS - platformă modulară a viitorului

  • Programare anormală,
  • Dezvoltarea site-ului,
  • Dezvoltarea sub ferestre
  • Deci, este foarte posibil să începeți să vă familiarizați cu noua platformă. Permiteți-mi să fac o excursie mică, descriind unele diferențe.

    Voi începe cu faptul că aplicațiile UWP au ceva care nu are aplicații clasice Windows - au un model de aplicație. Ce este modelul de aplicație? Acesta este un fel de reglementare. Descrierea tuturor capacităților aplicației este drepturile sale de acces, metoda de instalare, actualizările, stocarea informațiilor etc.

    La aplicații Windows Store.În mod similar, deoarece aplicațiile UWP au un fișier manifest care descrie toate caracteristicile și drepturile aplicației. Acesta este un fișier pachet.appxmanifest. Acesta poate fi editat atât în \u200b\u200beditorul grafic, cât și ca un cod XML. Screenshot. editor grafic Vezi mai jos.

    Elemente de control

    Dacă vă amintiți, a fost recent recent în Windows 8 și 8.1 a fost panoul de farmec - un panou magic:

    Acum, în loc de acesta este folosit mai familiar dezvoltatorilor de control WPF:

    Aici, noul control este conținutul, care blochează aplicația, este aproximativ același lucru cu care blochează caseta de mesaje.
    În plus, UWP este mai familiar pentru navigația dezvoltatorilor WP:

    Ceea ce poate părea interesant este că unele controale pot avea diferite aspect Când se afișează pe diverse dispozitive. Cuvinte simpleControlul poate arăta altfel, de exemplu, atunci când se afișează pe un desktop și pe un dispozitiv mobil.

    În general, presupun că dezvoltatorul mediu a fost folosit de mult timp pentru o mare varietate de controale. Dezvoltarea de noi dificultăți nu ar trebui să provoace.

    Dezvoltare pentru diverse dispozitive

    Voi încerca să dezasamblez ceea ce dezvoltatorul va fi neobișnuit pentru WPF. De exemplu, acest lucru este că atunci când se dezvoltă aplicații Windows 8.1, a fost posibilă într-o singură soluție să se dezvolte simultan și sub telefon și sub desktop.

    În acest caz, au fost create 3 proiecte. Aplicațiile WP și WINRT au stocat codul XAML al "Viewer" și un cod special sub dispozitiv, iar proiectul general a stocat un cod comun XAML și un cod comun C # în proiectul general.

    Acum, deoarece platforma UWP este universală, atunci pentru fiecare tip de dispozitive, puteți crea un dosar în care puteți pune o "vedere" - adică Fișier XAML cu design sub parametrii dispozitivului.

    Ciclu de viață

    Există o glumă veche despre Formula-1: "Ralph Schumacher are două poziții ale pedalei activate și dezactivate. Restul dispozițiilor pot fi neglijate. "

    Această glumă, pot să pictez câteva aplicații clasice. Fiecare lucrează sau nu funcționează. În aplicațiile magazinului, totul este un pic diferit. În plus față de statele "activate / off", există, de asemenea, un stat intermediar "suspendat". Ciclul de viață al aplicațiilor 8.x și UWP sunt afișate în următoarea imagine:

    Declanșatoare și sarcini de fundal

    Aplicații .NET poate fi fie fișiere executabile, fie pot fi servicii / servicii. Aceasta este perfect tipuri diferite Aplicații. Adică, nu poate fi astfel încât aplicația exe, ci funcționează în fundal. Nu, desigur, aplicația poate funcționa în tavă. Dar, de fapt, se pare că se execută și se rostogolește.

    În ceea ce privește aplicațiile 8.x și UWP, acestea pot conține sarcini de fundal. Sarcinile de fundal sunt o aparență a serviciului. Adică, cererea nu poate funcționa, dar o anumită sarcină vor fi efectuate în sistem. În plus, sarcina de fundal poate "captura" orice evenimente în sistemul sistemului de declanșare.

    Unul dintre cele mai populare declanșatoare este Sistemtrigger.. Folosirea acestuia, aplicația poate efectua orice cod atunci când evenimentele apar ca: aspectul sau pierderea internetului, modificați starea rețelei, conexiunea sau dezactivarea utilizatorului, obținerea SMS-ului, modificați zona de ceas, etc.

    De asemenea, destul de popular Timetrigger. și Întrețineretrigger.. Ambele declanșatoare efectuează orice cod cu frecvență la o anumită perioadă de timp. Intervalul de timp trebuie să fie de cel puțin 15 minute. Diferența este că TIMETRIGGER necesită înregistrarea pe ecranul de blocare, iar întreținereatrigger-Y este necesară pentru a funcționa de la baterie, ci din rețea.

    O mulțime de declanșatoare noi au apărut în UWP. Luați, de exemplu, un astfel de declanșator interesant ca Mediaprocessingtrigger.care permite aplicației să recupereze multimedia ca parte a sarcinii de fond.

    Utilizarea bibliotecilor

    Dacă ați folosit bibliotecile DLL în aplicații clasice, apoi în aplicații 8.x și UWP, puteți utiliza atât PCL, cât și componenta de execuție WinMD. Care este diferența?

    PCL (biblioteca de clasă portabilă) poate fi adăugată la aplicații pentru diferite platforme. Și sub Cadrul .NET de diferite versiuni și sub Windows 8.x și sub WP, sub UWP și chiar în cadrul aplicației iOS / Android Xamarin. Adică, această bibliotecă puteți împinge un cod comun dependent de platformă.

    WinMD poate fi utilizat numai sub 8,x sau UWP. Indiferent de limba pe care sunt scrise aplicațiile, pot lucra cu WinMD. Dar Winmd însuși, dacă conține computere complexe, este mai bine să scrieți pe C ++ pentru a realiza cea mai buna performanta.

    Cu toate acestea, atunci când se dezvoltă sub UWP, puteți crea o bibliotecă de clase (DLL).

    Lucrul cu datele

    Care este diferența dintre aplicațiile UWP, deci acest lucru nu funcționează direct cu baze de date. Adică, astfel de baze de date, spun SQL Server Sau Oracle, situat pe serverul serverului, nu va fi disponibil pentru dvs. Cu toate acestea, ar fi ciudat dacă utilizatorul va descărca aplicația din magazin, iar aplicația va începe să funcționeze cu baza SQL Server situată pe server din retea locala. Dar puteți lucra cu date utilizând servicii web. Există o oportunitate de a utiliza conectorul Oraclovsky pentru bazele de date MySQL, dar el este acest moment Nu acceptă SSL și, prin urmare, nu este deosebit de interesant. Deci, este mai bine să nu se abată de la conceptul de utilizare a serviciilor pentru a accesa datele.

    Pentru a stoca informații în interiorul aplicației, puteți utiliza SQLite.

    Depozitarea parametrilor aplicației și lucrați cu fișiere

    Parametrii aplicației magazinului este posibilă nu numai pe dispozitiv, ci și în nor. Astfel, dacă executați aplicația pe diferite dispozitive, setările vor fi aceleași peste tot.

    Următorul snippet mic salvează cantitatea de apel de cod în cloud:

    Intimescount \u003d 0; Obiect ROAMS \u003d Windows.Scorage.aplicationdata.current.RaimingSettings.Values \u200b\u200b["Times"]; dacă (roams! \u003d null) TimesCount \u003d (int) roams; TimesCount ++; Windows.Scorage.applicationdata.current.roAmingSettings.Values \u200b\u200b["Times"] \u003d Timescount;
    Dacă înlocuiți Windows.Scorage.aplicationData.current.RaimingSettings pe Windows.Scorage.applicationdata.current.Localsettings, atunci parametrul va fi salvat la nivel local pe dispozitiv.

    Setările pot fi aranjate atât în \u200b\u200bparametrii compuși, cât și în recipiente. Fișiere în același mod ca setările pot fi stocate atât pe dispozitiv în folderul local, cât și în nor. Dar, în afară de aceasta, este posibil să stocați fișiere într-un dosar temporar, care, dacă este necesar, poate fi curățat de sistem - ApplicationData.TemporaryFolder.

    În plus, puteți accesa folderul care urmează să fie conținut în aplicația utilizând
    Windows.applicationModel.package.current.installedLocație

    Accesul la fișierele stocate pe discuri este, de asemenea, organizat de un model special. Conținutul dosarelor de documente, fotografii, video și altele asemenea pot fi obținute utilizând clasa cunoscută, dar în acest caz este necesară instalarea de permisiuni în manifestare. Accesul la orice alt folder este posibil numai dacă utilizatorul selectează folderul în timpul funcționării cu aplicația. Dosarele vizitate pot fi salvate pentru a relansarea Aplicațiile nu forțează utilizatorul să facă o acțiune suplimentară

    Var Folderpicker \u003d New Windows.Scorage.pickers.Folderpicker (); Folderpicker.filetypefilter.add ("jpg"); Folderpicker.filetypefilter.add ("jpeg"); Folderpicker.filetypefilter.add ("png"); Folderpicker.suggestedStartion \u003d Windows.Scorage.pickers.pickerLationId.picturesLibrary; Folderpicker.Settingsidentifier \u003d "Picker2"; Windows.ScARAGE.STORADEFOLDER LastFolder \u003d Asteptare FolderPicker.picksingleFolderaSync (); Dacă (lastfolder \u003d\u003d null) retur; String MRUTOKENCACHE.STORAGE.AccessCaCaCache.ScorageApplicationPrediri.Mostrezentysedlist.Add (LastFolder);
    Puteți obține după aceea ultimul dosar salvat ca acesta:

    String MrUFIRSTTTOKEN \u003d APARATIONAPCLATIONPRISMISIONS.MOSTENDEZENTSELDSELSDELS.RISESEES.FIRSTORDEFAULT (). Jeton; LastFolder \u003d AșteaptăPEPAPAMAȚIEPAPLAMAȚIELOSPLATIONSSENTALISTLYEDSELDLY.GETFOLDERASYNC (MRUFIRSTTTKEN);

    Legăturile de date

    Atât în \u200b\u200baplicațiile WPF, cât și în aplicațiile UWP, precum și în timpul dezvoltării sub 8.x, puteți utiliza legăturile de date - (legare). Dar legăturile compilate au apărut în UWP - (X: Legate) în ceea ce diferența? Compilate lucrez mult mai repede și sunt formate / sunt verificate în timpul compilării și nu în timpul lansării aplicației. Ele sunt, de asemenea, strict tipărite.

    Citiți mai multe aici.

    Despre manual

    Cu acest tutorial, veți învăța programarea utilizând setul de instrumente WXWidgets. La sfârșitul fiecărui capitol veți găsi linkuri către alte orientări.

    wxwidgets.

    wXWidgets este un set de instrumente pentru crearea unei interfețe grafice de utilizator (GUI) în aplicațiile C ++. Acesta este un set de instrumente cu sursă open platformă. Aplicațiile WXWidgets funcționează pe toate platformele importante: Windows, Unix și Mac. Proiectul a fost fondat Julian Smart. (Julian Smart) în 1992. Aceasta este mai mult decât un set de instrumente. Oferă o mare varietate de clase de lucru cu fluxuri, baze de date, secvențe de comandă, asistență interactivă și setări de aplicații. WXWidgets conține un grup mare de widget-uri. Vă puteți familiariza cu comunitatea WXWidgets de pe site-ul http://www.wxwidgets.org/.

    C ++ Limba de programare

    C ++ Una dintre cele mai utilizate limbi de programare de pe această planetă. Majoritatea ambalajelor software bine-cunoscute, cum ar fi MS Office, Macromedia Flash, Firefox, Photoshop și Max 3D sunt scrise pe ea. C ++ domină lumea jocurilor pentru PC. Aceasta este una dintre cele mai complexe limbi de programare. Pe de altă parte, programul C ++ în 2007 diferă de programarea în 1997. Mult a devenit mai ușor astăzi.

    Indicele comunității programatorului TIBE prezintă o parte aproximativă a limbilor de programare (informații de mai jos ca în 2010 - aproximativ. SL-alex). Taxiuri Java. C ++ este răsturnat de la tron. Dar C ++ servește ca bază și în deceniile următoare nu există amenințări grave pentru el. Putem vedea în mod clar specializarea în rândul limbajelor de programare. Java este folosit în principal în proiecte corporative și programe portabile, C - King în programarea sistemului (OS, drivere de dispozitive, programe mici), PHP fixat ferm pe site-uri mici și mijlocii, JavaScript este folosit pentru a implementa partea clientului aplicației web .

    C / C ++ limbile cele mai frecvent utilizate pentru a crea GUI clasică (grafic Interfața cu utilizatorul (GUI)) Aplicații pentru sisteme desktop. Iată o mare explicație de ce Java nu va distruge C ++ în următorii ani.

    Programarea multiplatformă

    Astăzi, programarea Multiplatform este un cuvânt la modă. Multe limbi și biblioteci doresc să devină multiplatform. WXWidgets a fost inițial creat ca un instrument multiplativ. Majoritatea dezvoltatorilor aleg astfel de oportunități. Dacă este posibil, utilizați Web. Sau alegeți între QT, WXWidgets, leagăn sau SWT. Există, de asemenea, un astfel de lucru ca FLTK, dar nu este atât de popular și nu este cea mai buna alegere. În țara mea există o mare companie feroviară. Această companie utilizează software scris pe Java și leagăn. Această alegere se datorează faptului că este mai ieftin să cumperi echipament nou și să scrie pe Java. Folosind Java, viteza de dezvoltare crește și numărul de bug-uri este redus. Desigur, o astfel de alegere este corectă. Dar când scriem un editor de text pe Java, nu putem spune clienților noștri, băieți Hei, va trebui să cumpărați un alt 1 GB de memorie. Într-o astfel de situație, Java ne poate ajuta. În ceea ce privește QT, această bibliotecă este principalul concurent WXWidgets. Prin urmare, pentru fiecare sarcină trebuie să utilizați instrumentul corect - aceasta este cea mai importantă soluție pentru orice programator și manager.

    În aplicații și jocuri pentru platforma mobilă, diversele posibilități ale dispozitivelor mobile moderne cu afișaje atingeți.. Acestea sunt diferite jocuri, aplicații pentru muncă, recreere, dezvoltare, clienți software de servicii de internet utile etc.

    Mai jos este o revizuire comparativă a Fundației ideologice industria mobilă - operarea mobilă concurentă android Systems. Și Windows Phone. Deci, ce avantaje și dezavantaje pot fi observate din cele două cele mai populare platforme mobile? Android sau Windows Phone - Care dintre platforme este mai bun?

    1. Interfață

    Primul lucru care se grăbește în ochii oricărui utilizator care a luat telefonul smartphone baza de date Windows. Telefonul este plăci stilizate. Care este esența acestor plăci? Acestea sunt deghizate așa-numitele dale live (gresie), care sunt un fel de exclusiv de la Microsoft, o caracteristică distinctivă luminoasă a platformei Windows Phone. De ce aceste plăci "trăiesc"? Placile nu sunt nimic mai mult decât câteva widget-uri modificate și etichete de aplicații și jocuri cu acea caracteristică că informațiile curente (prognoza meteo, tarifele valutare, mesaje noi, notificările jocului etc.) sunt afișate direct pe țiglă.

    Platforma Android în ceea ce privește interfața poate fi astăzi numită cu îndrăzneală un clasic curat. Luând un nou smartphone Android în mâini, utilizatorul va vedea etichetele obișnuite ale aplicațiilor și jocurilor, cu strictețe aliniate la rând. Dar această stare de lucruri se poate schimba rapid. Cu ajutorul diferitelor aplicații de lansare, în diversitatea căreia nu puteți reproșa magazinul de aplicații pentru Android - Google Piața de redare.Interfața platformei poate fi schimbată într-o chestiune de secunde la orice gust de utilizator, pe orice tapet tematic pentru desktop, inclusiv pentru a alege un design interesant cu widget-uri care afișează aplicații și jocuri curente.

    Deci, care dintre platforme este mai bună în planul de interfață? Desigur, multe dintre plăcile vii ale telefonului Windows vor dori mulți, deoarece această idee de Microsoft merită cu adevărat laudă individuală. Cu toate acestea, puteți instala orice capodoperă de designer de la Developerul Aplicațiilor Launcher și puteți schimba interfața platformei de cel puțin câteva ori pe zi. Windows Phone nu are o astfel de oportunitate, interfața acestei platforme nu poate fi schimbată. Tiglele live Utilizatorul va observa tot timpul utilizând un smartphone Windows Phone.

    Prin urmare, în ceea ce privește interfața, victoria din spatele platformei Android este tocmai pentru disponibilitatea și deschiderea sa pentru schimbări constante în aparență.

    2. Setarea platformei pentru preferințele utilizatorilor

    În ceea ce privește capacitatea de a crea o platformă mobilă pentru nevoile utilizatorilor, participanții la revizuire - Android și Windows Phone - au o poziție fundamental diferită.

    Android este un sistem de operare open source (Linux Core), prin urmare opțiunile sale cu intervenție dezvoltatorii terțilorDe exemplu, din partea producătorilor de echipamente mobile pot fi multe. Platforma Android este deschisă, vă permite să vă ajustați setările nu numai pentru producătorii de smartphone-uri și tablete, ci și la utilizatorii înșiși - pentru a schimba interfața, pentru a instala orice aplicații și jocuri, inclusiv în google Bypassing. Joacă piața, descărcarea de aplicații și jocuri cu resurse terțe părți - trackere torrent, site-uri dedicate subiectelor Android etc.

    Obținerea de drepturi de rădăcină pe Android deschide utilizatorii perspective incredibile - de exemplu, orice joc de acțiune avansat, care este în picioare pe Google Play Piața de bani decentă, utilizatorul va putea instala complet gratuit prin contactarea resurselor terțe menționate mai sus.

    Deschiderea codului platformei Android permite să fie flexibilă, să efectueze cea mai largă gamă de sarcini în interesul utilizatorului, utilizând o varietate de instrumente software.

    Windows Phone este un sistem de operare închis care nu oferă intervenții în codul său. În acest sens, Microsoft a decis să meargă pe drum companiile Apple, limitând creierul său din orice intervenție terță parte. Windows Phone nu este configurat să configureze preferința utilizatorului. Greutatea utilizatorului este să fie mulțumită doar de faptul că software-ul a avut în vedere.

    Prin urmare, a doua victorie este acordată din nou Android.

    3. Siguranța și stabilitatea

    Din avantajul anterior al platformei Android, își urmează un astfel de dezavantaj ca vitalitate față de viruși și programe rău intenționate. Foarte adesea, resursele hi-tech de pe Internet vor muri cu informații că următoarea aplicație infectată cu virusul infectat sau urmărește obiectivul pentru a devasta contul mobil al SMS-urilor la diferite numere plătite la diferitele numere plătite. Da, se întâmplă uneori, iar angajații de pe piața Google Play au mai mult decât să lucreze și ce să se îmbunătățească. Deci, în timp ce utilizatorul poate spera doar să vigileze aplicația antivirus.

    Frâne și instabilitate android Lucrări - Un alt dezavantaj, care este, de asemenea, o consecință a deschiderii codului acestei platforme.

    Situația cu Windows Phone în ceea ce privește siguranța și stabilitatea este opusul complet al situației cu Android. Apropiere codul Windows. Telefonul, poate, privează această platformă de flexibilitate, totuși funcționează fără probleme, stabile, fără glitches.

    Deci, în chestiunea securității și stabilității, victoria poate fi numai pentru Windows Phone. Aceasta este prima victorie a frânei gigantului moale.

    4. Multitasking

    Android acceptă multitasking - Acesta este cu siguranță un avantaj imens al acestei platforme. In aceea android Întrebare Aș putea chiar să depășesc iOS - platformă mobilă iPhone și iPad, deoarece multitaskingul în iOS a fost implementat numai la cea de-a patra versiune a platformei, iar în Android Multitasking a existat încă de la început - de la prima versiune.

    Deci, pe utilizatorul Android poate rula mai multe aplicații simultan și poate comuta între ele printr-un meniu special "Aplicații recente", care afișează 6 aplicații recente. Dacă aplicația sau jocul nu oferă opțiunea de ieșire, în mod natural, toate aplicațiile și jocurile care rulează vor rămâne modul de fundal.. În mod natural, va epuiza rapid bateria smartphone-ului. Dar aici este puțin probabil ca să puteți face plângeri la Android - pentru performanță trebuie să plătiți întotdeauna. Într-un mod diferit.

    Windows Phone nu acceptă multitasking.

    Deci, următorul, a treia victorie a Androidului.

    5. Aplicații de platformă mobilă

    Dacă vă uitați din poziția Novice - o ceainic completă, care a cumpărat primul telefon inteligent în viața sa, platforma Windows Phone va fi într-o situație mai câștigătoare, deoarece mai multe aplicații sunt presetate inițial aici. De exemplu, împreună cu noul smartphone, utilizatorul este construit în aplicațiile sociale de clienți încorporate în platformă rețele Facebook., Twitter și LinkedIn. Dar o astfel de momeală mică nu ispitește utilizatorii experimentați, iubitorii avidă comunicații mobile. Pentru că pentru platforma Android tot ce aveți nevoie - clienții retele sociale și diverse servicii de internet, organizatori, widgeturi de meteo și valutare, aplicații multimedia, programe educaționale, jocuri și multe altele - puteți descărca cu ușurință gratuit de pe piața Google Play.

    A determina, mai bine Android. Sau Windows Phone în ceea ce privește diversitatea conținutului dezvoltat de aceștia, comparați numărul de aplicații și jocuri disponibile pentru ambele platforme din magazinele de aplicații. Deci, Windows Phone Store are peste 120 de mii de aplicații și jocuri diferite. Și pe piața Google Play conține mai mult de 700 de mii de aplicații și jocuri pentru Android. După cum puteți vedea, rezultatul pe față este de 120 mii. Împotriva a 700 mii. Dar este doar o declarație de numere specifice. De fapt, o parte din aplicațiile și jocurile Android prezentate astăzi pe piața Google Play, calitate scăzută. Utilizator Prin instalarea unei anumite aplicații sau a unui joc pentru Android, nu poate fi sigur că începe sau va funcționa corect. Pentru incompatibilitatea Android a aplicației sau a jocului cu versiunea platformei sau cu componente hardware dispozitiv mobil - Este destul de obișnuit.

    În ciuda acestui fapt, victoria va participa din nou Android, deoarece Google nu și-a poziționat niciodată creierul ca un chip de brand de elită. Pentru această platformă există un număr foarte mare de conținut diverse. Pur și simplu trebuie să vă închideți ochii pe niște lucruri mici și să repetați, să aveți o bună aplicație anti-virus.

    6. Serviciul cartografic

    Hărți Google Maps în 3D pentru Android este o capodoperă cu adevărat de la gigantul de căutare. Google Street View Street View Funcție implementată în Hărți Google și Google Earth. Vă permite să vizualizați vederile panoramice ale străzilor și orașelor din întreaga lume. Google Maps este deja un proiect destul de matur, în care gigantul de căutare a investit mult efort. Proiectele cartografice concurente astăzi pentru a deveni mai bune decât hărțile Google, va trebui să muncești serios din greu. revenind la. revizuirea comparativă Două platforme mobile, observăm că cu Google Maps în 3D pentru Android este mult mai convenabil de lucru, mai degrabă decât cu Nokia Hărți, preinstalate în smartphone-uri Windows Phone 8.

    Serviciul cartografic este o altă victorie Android.

    7. Depozitare bani electronici

    Ambele platforme mobile susțin sistemul NFS, care este utilizat, în special, pentru a efectua plăți fără contact - atunci când plătiți pentru bunuri sau servicii în priză, aducând la terminal telefon mobil Cu un cont bancar activ în versiunea electronică.

    Pentru depozitare bani Google a dezvoltat sistemul de plată electronică Google Wallet. Prin sistemul NFS instalat pe telefonul smartphone și aplicația specială Android de la sisteme Google. Utilizatorii portofelului pot plăti pentru bunuri și servicii în outlets.unde sunt furnizate plăți fără contact. Cu toate acestea, acest proiect este extrem de popular de la companii Google nu a primit.

    Portofelul electronic pentru Windows Phone nu este, de asemenea, un cip deosebit de popular, dar acest lucru nu diminuează confortul său. El poate combina totul carduri bancare Utilizator. Prin urmare, în depozitarea banilor electronici, victoria este acordată cu Windows Phone.

    Rezumând ...

    Multe chipsuri care se laudă Android, iar Windows Phone sunt extrem de asemănătoare. Acesta este controlul vocii Google acum pentru Android împotriva spune-mi pentru Windows Phone, și, respectiv, muzical servicii Google. Muzică împotriva muzicii Xbox și a legăturilor de mesagerie și video Google Discuție împotriva Skype.

    Rezumând victoria platformelor mobile cu privire la problemele luate în considerare, observăm victoria fermă și durabilă a Android - 5 față de 2.

    Astfel, platforma Windows Phone a câștigat de două ori - în securitatea, stabilitatea muncii și un portofel convenabil pentru stocarea banilor electronici. Interfața, capacitatea de a configura platforma pentru preferințele utilizatorului, multitasking, mai mult de 700 mii. Dezvoltarea aplicațiilor și a jocurilor, cel mai bun serviciu cartografic - după cum puteți vedea, acesta este un avantaj android destul de considerabil.

    Android este o platformă mobilă în care sunt ridicate soluții reușite și nereușite. Aceasta este o platformă pentru entuziaști, pentru cunoscătorii adevărați ai libertății de acțiune și cercetători de diferite posibilități de tehnologii mobile.

    Windows Phone este un fel de analog iOS. Această platformă are, de asemenea, un creator eminent, baza principiilor sale a pus imaginea, stabilitatea, grația și netezimea în lucrare, tutela utilizatorului și o prevedere maximă Securitatea lui. Chiar și în detrimentul dezvoltării sale globale.

    Ultima actualizare: 04/12/2017

    UWP (platformă universală Windows) Este o platformă unificată pentru crearea și executarea aplicațiilor în Windows 10 și Windows 10 Mobile.

    UWP a devenit rezultatul părăsirii tehnologiilor anterioare. Astfel, cu eliberarea Windows 8, este introdusă o nouă platformă arhitecturală pentru aplicații - Windows Runtime (Winrt), care a permis să ruleze aplicații în așa-numitul mod modern (metro) pe desktop-uri, comprimate. Apoi, cu Windows 8.1 și Windows Phone 8.1, această tehnologie a câștigat dezvoltarea - a apărut " aplicații universale"Ați putea rula imediat Windows 8.1 și WP8.1. Și în iulie 2015, noul Windows 10 OS a publicat oficial. Folosește platforma UWP, care este dezvoltarea de Windows Runtime.

    Pe măsură ce se sugerează numele platformei, este universal - Universal pentru toate dispozitivele ecosistemice Windows 10. Și acestea sunt DEBS, tablete, dispozitive mobile, dispozitive IOT (Internet de lucruri), dispozitive Xbox, Hub Hub. Iar aplicația UWP poate funcționa în mod egal pe toate aceste platforme dacă Windows 10 este instalat pe ele.

    De ce UWP?

    Programarea sub UWP are o serie de avantaje:

      Distribuția latitudine. În prezent (aprilie 2017), Windows 10 a fost deja instalat de mai mult de 400 de milioane de dispozitive. Pe desktop-urile Windows 10 a fost deja înainte de Windows 8 / 8.1.

      Susțineți o gamă largă de dispozitive. Desktop-uri, tablete, smartphone-uri, plăci mari de suprafață de suprafață, diverse dispozitive IOT, în perspectiva dispozitivului de realitate virtuală a Hololens - cercul ustensilelor, pe care Windows 10 poate funcționa cu adevărat.

      A sustine limbi diferite și tehnologii de programare. Aplicațiile UWP pot fi create folosind limbi precum Visual C ++, C #, Visual Basic., JavaScript. Ca o tehnologie pentru crearea unei interfețe grafice Visual C ++, C # și Visual Basic Utilizați XAML, JavaScript utilizează HTML. În plus, C ++ poate folosi DirectX în loc de XAML. Aceasta este tehnologii destul de comune și familiare.

      Magazin de aplicații și ușurință în distribuție. Windows Store este un loc excelent pentru distribuirea aplicațiilor UWP, atât plătite cât și gratuite. Capacitățile platformei și windows Store. Magazinul vă permite să utilizați diferite moduri de monetizare. De exemplu, vă puteți integra în blocurile de aplicații pentru a afișa publicitatea prin diferite SDK. Puteți distribui o anumită taxă, iar plata poate fi configurată flexibil. Dacă este necesar, puteți construi furnizarea unei versiuni de încercare, după care utilizatorul poate decide, cumpăra o aplicație sau nu. Și puteți, de asemenea, să evaluați modelul Freemiu, în care aplicația este condiționată de liber, iar serviciile separate din cadrul cererii sunt furnizate pentru o taxă specifică. Mai mult, toate aceste capabilități de monetizare sunt realizate în instrumentele SDK încorporate.

      Capabilități de platformă bogate. UWP mult moștenesc Windows Runtime din Windows 8.1 și, în același timp, oferă multe caracteristici noi, cum ar fi, oportunități mai bogate pentru integrarea cu nor, folosind Cortana, sisteme de notificare în Win10 și multe altele.

    Ceea ce este necesar pentru a se dezvolta sub UWP

    Pentru programarea sub UWP, este necesar Windows 10. Toate celelalte sisteme de operare ca Windows 8.1 / 8/7, nu să menționeze Windows XP, nu sunt potrivite!

    Comunitatea Visual Studio 2017 este de asemenea necesară. Acesta este un mediu complet de dezvoltare gratuită, care poate fi descărcat de pe un site oficial la https://www.visualstudio.com/downloads/download-visual-studio-Vs.

    De asemenea, puteți utiliza versiunea VS 2015 și toate restul versiunile anterioare Visual Studio - 2013, 2012, 2010, etc. Cu UWP nu funcționează.

    La instalarea Visual Studio 2017 în programul Installer, trebuie să marcați elementul corespunzător:

    Înainte de a începe crearea de aplicații, asigurați-vă că opțiunea corespunzătoare pentru dezvoltatori este instalată în Windows 10 în Windows 10:

    Și având Windows 10 și Visual Studio 2017 instalate, puteți începe dezvoltarea de aplicații.

    Dragă Hagravchan!

    Aș dori să vă spun despre una dintre cele mai interesante inovații din opinia mea. Va fi despre dezvoltarea simultană a aplicațiilor pentru Windows 8 și Windows Phone, adică pro aplicații universale de platformă Windows.

    Platforma Microsoft acoperă o gamă largă de dispozitive - de la smartphone-uri și tablete la calculatoare desktop. și consola de joc Xbox unul și este destul de natural ca dezvoltatorul dorească să minimizeze eforturile atunci când creează aplicații pentru toți factorii de formă. Pe platformele concurente există o mare diferență între aplicațiile desktop și mobile (în timp ce lucrează sub controlul diferitelor sisteme de operare), în care aplicatii mobileProiectat pentru un smartphone poate funcționa pe dispozitivele de tablete, ceea ce duce adesea la nemulțumirea utilizatorului datorită unei interfețe de utilizator foarte de înaltă calitate.

    În prezent, Microsoft a venit să unifice toate platformele (Windows Phone, Windows 8, Xbox One) din punct de vedere API și permite programatorului să maximizeze codul general la crearea de aplicații, păstrând în același timp posibilitatea de a utiliza diverse modele diferite pentru diverse modele diferite Factori de formă. Citiți mai multe despre modul în care acest lucru este implementat în prezent - citiți mai jos.

    Așa cum au fost create aplicații telefonice Windows +
    Până în prezent, pentru a crea aplicații cu un cod partajat pentru Windows și Windows Phone, a trebuit să utilizeze biblioteca portabilă (biblioteca portabilă) pentru a evidenția un cod comun responsabil pentru accesarea datelor și logicii de afaceri și diverse proiecte pentru UI. Mai mult o astfel de abordare este descrisă într-un curs special pe Academia Virtuală Microsoft, Or. De asemenea, datorită diferenței în API-ul Windows 8 și Windows Phone, am reprezentat o parte a codului pentru a face dependente de platformă.
    Aplicații Windows universale.
    La conferința de construcție, au fost anunțate următoarele inovații:
    • Windows RT API va fi folosit în noua versiune a Windows Phone 8.1 Aceasta înseamnă că aproximativ 90% din apelurile de sistem între Windows 8.1 și Windows Phone 8.1 vor fi comune. În plus, limba XAML Markup a fost, de asemenea, unificată între platforme. Cu alte cuvinte, noi aplicații Windows Phone 8.1 vor folosi Windows XAML, nu Silverlight. Dacă aveți nevoie de compatibilitate, pentru Windows Phone, puteți dezvolta în continuare folosind Silverlight, incl. Folosind noi caracteristici, dar acesta este un subiect pentru un articol separat.
    • În Visual Studio 2013 va apărea actualizarea 2 Șablon nou Proiect Pentru aplicațiile unificate Windows. Acest șablon creează diferite proiecte pentru ferestre și telefon, iar al treilea proiect "partajat" în care este plasat întregul cod general. În acest caz, un proiect comun
      poate conține nu numai codul, ci și marcajul XAML, resurse comune, imagini etc. Acest proiect nu este compilat într-o bibliotecă separată și este împărțită între două proiecte de platformă la nivelul de incluziune textuală la etapa de compilare. Acest șablon poate fi utilizat pentru a se dezvolta pe C # / XAML, C ++ / XAML sau HTML / JS.
    • Dacă doriți să selectați o parte a codului independent de platformă într-o bibliotecă separată împărțită între mai multe aplicații, atunci puteți utiliza în continuare biblioteca portabilă în care poate fi inclusă și marcajul XAML. Bibliotecile portabile pot fi utilizate pentru a se dezvolta pe C # sau Visual Basic.
    • Compatibilitatea binară între platforme. Aplicațiile Windows 8 și Windows Phone vor fi distribuite în continuare prin intermediul magazinelor corespunzătoare, iar dezvoltatorul va trebui să creeze și să se încarce la fiecare dintre magazinele pachetelor de aplicații (deși Windows Phone 8.1 va utiliza acum același format.appx ca Windows 8. in orice caz În magazinele de telefoane Windows și Windows, vor fi utilizate identificatori uniformi de aplicații.care va permite implementarea scenarii aplicație unificată de cumpărare pentru utilizarea pe toate platformele.
    • Xbox o aplicație În versiunea actuală a Visual Studio Update 2, nu se potrivește atât de bine în istoria generală, deși a fost prezentat raportul plenar universal App Khan Academy folosind Kinect care rulează pe Xbox și Windows (Da, Kinect V2 va fi acceptat în aplicațiile Windows Store, dar acesta este din nou subiectul unui articol separat). Dezvoltare pentru Xbox unul presupus în prezent la HTML / JS / CSS și C ++
    Astfel, acum există o oportunitate convenabilă pentru dezvoltatori de a crea aplicații pentru platformele Windows și Windows Phone, care conțin o cantitate semnificativă de cod comun, cu posibilitatea de personalizare a designului pentru diferite platforme pentru a maximiza satisfacția utilizatorilor!
    Universal Hello World.
    Luați în considerare un mic exemplu de a crea o aplicație universală. Structura proiectului în Visual Studio 2013 Actualizarea 2 a fost modificată și acum în secțiunea Secțiunea Window Shop disponibilă ambele aplicații pentru Windows și Windows Phone și Applications și Biblioteci universale.

    Aplicația universală nou creată va fi calculată pe platforma Windows Phone 8.1 și Windows 8.1. În același timp, în secțiunea de aplicație Windows Phone, sunt disponibile șabloane de proiect Windows Phone, bazate pe Silverlight, care vă va permite să creați aplicații pentru versiuni timpurii Platforme - dar este imposibil să se folosească posibilitățile aplicațiilor universale.

    După crearea unei aplicații goale universale, obținem următoarea structură constând din trei proiecte: un proiect pentru fiecare platformă și un proiect general comun:

    Notă:

    • Implicit, designul paginii (XAML) pentru platforme sunt separate de proiecte diferite. Cu toate acestea, în cazuri simple, puteți utiliza fișiere comune XAML pentru toate platformele dacă sunteți sigur că designul dvs. va fi bine adaptat la diferite permisiuni, de la smartphone la desktop. În același timp, multe elemente de control încorporate (de exemplu, Gridview) sunt capabile să se adapteze și să își schimbe aspectul în funcție de platformă.
    • Dacă aveți un proiect Windows sau Windows Phone, puteți crea o aplicație universală bazată pe aceasta selectând elementul corespunzător din meniul contextual. În același timp, proiectul va fi transformat în aceeași structură cu trei proiecte și puteți transfera fișierele de aplicație în proiectul general pentru partajarea acestora.
    • În proiectul distribuit, puteți include linkuri către biblioteci (referințe), în timp ce aceste link-uri vor fi adăugate la ambele proiecte (vedem o legătură comună în legăturile fiecăruia dintre proiectele de platformă). Dacă unele biblioteci sunt disponibile numai pentru una dintre platforme, atunci putem folosi în continuare funcționalitatea corespunzătoare în codul general, înconjurându-l de directivele de compilare condiționată #ifdef. Visual Studio este atât de confortabil încât Intellisense va funcționa, avertizând că legătura este disponibilă numai într-una din platforme.
    • Dacă extindem codul XAML într-un proiect comun, atunci în editorul XAML, drop-down este disponibil pentru a comuta platforma și putem edita vizual proiectarea paginii atât în \u200b\u200bmodul telefon, cât și în modul Tablet / Desktop.

    În cele mai multe cazuri, doriți să împărțiți cât mai mult cod între platforme, a mutat tot ceea ce este posibil în proiectul partajat. În cazul nostru, putem transfera mainpage.xaml de la unul dintre proiectele într-un proiect partajat și îl putem elimina în proiecte de platformă, deoarece în cazul nostru, proiectarea paginii nu va diferi de platforma la platformă:

    Salut Lume!
    Astfel, avem o aplicație universală, codul și designul care sunt complet în proiectul partajat.

    Pe cale de a aplicație reală - Viewer foto.
    Să încercăm să transformăm aplicația Hello World în ceva util - de exemplu, în cele mai bune fotografii ale Flickr. Flickr oferă fotografii RSS-Stream, deci nu este necesar să se determine sursa de date corespunzătoare a sursei de date (pentru simplitate, sarcina RSS este făcută non-asincronă, nu este necesar să se facă în proiecte reale):

    Cod pentru primirea de imagini de la Flickr

    clasa publică Flickr (listă Lista \u003d lista nouă (); Public Flickr () (var xdoc \u003d xdocument.load ("http://api.flickr.com/services/feeds/photos_public.gne"); xnamespace xn \u003d "http://www.w3.org/2005/atom "Var Res \u003d de la z în XDoc.Descendants (Xn +" Intrare ") Fie L \u003d (de la x în z.Descendants (xn +" link ") unde x.Attribute (" rel "). Valoare \u003d\u003d" Lang: incinta" select x.Attribute("href").Value).FirstOrDefault() where (l!=null) && (l!="") select l; foreach (var x in res) { list.Add(new BitmapImage(new Uri(x))); } } public List!} Imagini (listă de retur;))


    Pe pagina principală, utilizați GridView atașat la această sursă de date. Pentru diferite fotografii ale fotografiilor diferite dimensiuniFolosim cheia din fișierul de resurse care determină dimensiunea dorită a fotografiei.

    XAML Design al paginii principale a aplicației



    A întreba diferiți parametri Într-un fișier de resurse, vă vom crea fișierul de resurse a resurselor dvs. de resurse în fiecare dintre proiectele de platformă ale următorului conținut:
    150

    Și în concluzie, trebuie să conectăm acest fișier de resurse în App.Xaml (care este în cadrul proiectului partajat):

    App.xaml.



    Ca rezultat, primim o pereche de aplicații pentru Windows 8 și Windows Phone, care afișează corect galeria de imagini, ținând cont de specificul platformei.

    Aplicația completă a codului sursă poate fi obținută pe GitHub.

    Moralitate
    Pentru a crea noi aplicații pe platforma Windows 8 acum o mai bună decizie va utiliza aplicații universale. Dacă aveți o aplicație existentă Windows 8, este logic să se convertească lent într-o aplicație universală și un port pe Windows Phone 8.1. Aplicațiile existente Windows Phone 8 sunt convertite într-o aplicație universală mai complicată (deoarece pentru o serie de operații, se utilizează alte seturi API), vom vorbi despre asta cu dvs. În cele din urmă, aplicațiile universale pentru Windows Phone necesită versiunea de Windows Phone 8.1, deci la momentul actual pentru a avea o bază de instalare suficientă, este logic de a utiliza aplicațiile Silvelight 8.0

    Ți-a plăcut articolul? Împărtășește-l