Componente

Mythical 'Application Vista'

Lionel Richie - All Night Long (All Night)

Lionel Richie - All Night Long (All Night)
Anonim

Cazul în cauză: Windows Vista și "gap gap app."

Evans Data Corporation (EDC) , mai puțin de 10% dintre dezvoltatori scriu pentru stadiul actual al tehnicii Microsoft. Majoritatea (49%) încă scrie pentru XP, în timp ce un contingent mic, dar în creștere (13%) se concentrează pe Linux. Între timp, nenumăratele mass-media importante continuă să denigreze lipsa noilor aplicații Vista. "Este sistemul de operare pe care nimeni nu îl vrea", spun ei, iar dezvoltatorii "reacționează în consecință". Desigur, se înșeală. Din nou. [Citește mai departe: Cele mai bune trucuri și sfaturi pentru Windows 10

Vedeți, nu există o aplicație Vista. De parcă nu există o aplicație XP. Sau o aplicație Windows 2000. Dezvoltatorii care scriu pentru Windows rar vizează o versiune specifică. Mai degrabă, ele selectează un anumit cadru API - de exemplu, MFC / ATL sau.Net - și continuă de acolo. Dacă aplicația rezultată rulează pe o versiune Windows dată depinde de extensiile API specifice versiunii pe care dezvoltatorul o utilizează în proiectul lor.

Pentru majoritatea tipurilor de aplicații, acesta este un nonissue: utilizează generic API, care le permite să ruleze pe orice versiune de Windows care acceptă acest cadru. Deoarece Microsoft face o treabă bună de a transfera noi cadre pe platformele sale tradiționale, dezvoltatorii se confruntă rareori cu o alegere între funcționalitatea bogată a API-urilor sau o bază largă instalată (excepția notabilă fiind dezvoltatorii de jocuri video, pentru care utilizarea DirectX 10 înseamnă se angajează să Vista).

Deci întreaga Vista "gap gap" app este un pic de om de paie. Întrebarea reală ar trebui să fie: De ce dezvoltatorii nu utilizează diferitele iterații ale cadrului.Net? După cum atestă oricine urmează harta de dezvoltare a Microsoft, cea mai mare parte a evoluției companiei API de ultimă oră are loc în.Net. De fapt, atunci când "experții" vorbesc despre noi resurse programatice în Windows - Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) și așa mai departe - vorbesc cu adevărat despre frameworkul.Net 3.0. Și din moment ce.Net 3.0 este disponibil pe platforme de nivel inferior (cum ar fi Windows XP), argumentul se întoarce în jurul unei întrebări de acceptare.Net în rândul dezvoltatorilor - și de ce au evitat (până acum). Răspunsul este dublu: în primul rând, dezvoltatorii nu doresc să vizeze API-uri care nu sunt disponibile pe scară largă pe baza instalată. În ciuda sprijinului agresiv al Microsoft pentru versiunile de nivel inferior, există încă o mare diferență între "disponibile" și "disponibile după descărcarea a 20MB plus de biblioteci complexe și instalarea lor în diferite părți ale sistemului dvs." Faptul este că.Net nu se livrează ca parte a Windows XP și asta înseamnă că dezvoltatorii trebuie să convingă utilizatorii să instaleze mai întâi versiunea necesară a cadrului.Net înainte de a putea instala o bucată de software - nu întotdeauna o vânzare ușoară, mai ales în lumea închisă a întreprinderii IT.

Ca primul sistem de operare livrat cu framework-ul.Net instalat în mod implicit, Vista trebuia să încurajeze dezvoltarea aplicațiilor.Net 3.0. Cu toate acestea, deoarece sprijină, de asemenea, versiunile moștenite Win32, COM, ATL, MFC și aplicațiile de bază.Net de nivel inferior, nu există o lipsă reală a programelor Vista. De fapt, cu excepția cazului în care tocmai ați avut cea mai recentă și cea mai bună funcționalitate a cadrelor WPF / WCF, este puțin probabil să vă motivați dezvoltatorul să faceți saltul la.Net 3.0 sau chiar 2.0. Presupunând că nu intrăm în mecanismul de control al contului de utilizator (UAC), aplicația dvs. "moștenită", probabil, arată și funcționează excelent sub Vista așa cum este. Știu, pentru că așa a fost cazul cu propriul cod: Câteva modificări pentru a acomoda UAC (majoritatea trecând unele fișiere temporare departe de structurile de directoare protejate recent), iar aplicațiile și serviciile mele rulează ca și champs-uri în Vista - la fel cum fac și ele Windows XP, Server 2003 și Windows 2000. De ce să remediați acest lucru când nu este rupt?

Cel de-al doilea motiv pentru care dezvoltatorii au evitat. Multe funcții comune durează mai mult timp sub.Net, forțând dezvoltatorilor să aleagă între sofisticarea API și performanța brută. Nu este surprinzător faptul că majoritatea dezvoltatorilor o aleg pe aceasta din urmă, așa cum am fost nevoită să fac atunci când am descoperit că echivalentul.Net al Data Help Helper (PDH) a fost total inutilizabil pentru eșantionarea în timp real a datelor privind contorul de performanță Windows. În consecință, sunt obligat să mențin o bază de coduri Visual Studio 6 în vârstă (circa 1997), în timp ce aștept ca Microsoft să eficientizeze în final.Net la un punct în care este o alternativă viabilă. Este o poveste veche și este prea frecventă printre dezvoltatorii de Windows.

Linia de fund: Când analiștii (și complicii lor media) denaturează lipsa "aplicațiilor Vista", ei trompează ignoranța lor. Lucru cu Mac: Mulți dintre contemporanii mei au fost prinși în domeniul distorsionării realității că ideea legăturii dintre funcționalitatea API și versiunea sistemului de operare a devenit o parte acceptată a înțelepciunii convenționale. Este o greșeală onestă, echivalând mozaicul arhivic al dependenței de versiuni de la Microsoft cu extinderea API, imperfectă, dar mult mai flexibilă a aplicației

Prea multă fructă vă va face asta