Komponente

The Mythical 'Vista Application'

Hourglass Graphik Vista & Myth Eye Tutorial

Hourglass Graphik Vista & Myth Eye Tutorial
Anonim

Slučaj: Windows Vista i "jaz između aplikacija".

Prema Evans Data Corporation (EDC) , manje od 10 posto programera piše za Microsoftovo stanje tehnike. Većina (49 posto) još uvijek piše za XP, a mali, ali rastući, kontingentni (13 posto) usredotočuje se na Linux. U međuvremenu, bezbroj glavnih medija i dalje kažnjava nedostatak novih aplikacija za Vista. "To je OS koji nitko ne želi", kažu, a programeri "reagiraju prema tome". Naravno, pogrešni su. Opet.

[Daljnje čitanje: Naši najbolji Windows 10 trikovi, savjeti i ugađanje]

Vidite, ne postoji takva stvar kao Vista program. Baš kao što ne postoji takva stvar kao XP aplikacija. Ili aplikacija sustava Windows 2000. Programeri koji pišu za Windows rijetko ciljaju na određenu verziju. Umjesto toga, oni odabiru određeni API okvir - na primjer, MFC / ATL ili.Net - i nastavite od tamo. Bez obzira na to je li aplikacija pokrenuta na određenoj verziji sustava Windows ovisi o tome što, ako postoje, inačice API-ja specifične za verziju koju programer upotrebljava u svom projektu.

Za većinu vrsta aplikacija to je neispisano: upotrebljavaju generički API funkcije, što im omogućuje da se pokreću preko bilo koje verzije sustava Windows koja podržava taj okvir. Budući da Microsoft čini dobar posao za back-porting novih okvira na svoje naslijeđene OS platforme, programeri se rijetko suočavaju s izborom između bogate API funkcionalnosti ili široke instalirane baze (značajna iznimka su programeri za videoigre, za koje iskorištavanje DirectX 10 znači obavezujući se za Vista).

Dakle, cijeli argument "Vista aplikacija" malo je slame čovjeka. Pravo pitanje bi trebalo biti: Zašto programeri ne koriste različite iteracije.Net okvira? Kao što svatko tko slijedi Microsoft razvoj cestovnu kartu će potvrditi, većina od najnaprednijih API evolucije se odvija unutar. Neto. Zapravo, kada stručnjaci govore o novim programskim resursima u sustavu Vista - Windows Presentation Foundation (WPF), Windows Communication Foundation (WCF) i tako dalje - oni zapravo govore o.Net okviru 3.0. Budući da je.Net 3.0 dostupan na platformama na nižim razinama (kao što je Windows XP), argumente se okreću oko pitanja prihvaćanja Net. Među programerima - i zašto su ih (do sada) izbjegavali.

odgovor je dvojako: prvo, programeri ne vole ciljati API-je koji nisu široko dostupni na instaliranoj bazi. Unatoč agresivnoj podršci Microsoftove verzije na nižim razinama, još uvijek postoji velika razlika između "dostupnih" i "dostupnih nakon preuzimanja 20 MB-plus složenih biblioteka i instaliranja na različite dijelove vašeg sustava". Činjenica je da.Net ne isporučuje kao dio sustava Windows XP, a to znači da programeri trebaju uvjeriti korisnike da najprije instaliraju potrebnu verziju.Net okvira prije nego što mogu instalirati softver - a ne uvijek je lako prodati, osobito u zatvorenom svijetu IT poduzeća.

Kao prvi OS koji se isporučuje s.Net okvirom instaliranim prema zadanim postavkama, Vista je trebao potaknuti razvoj aplikacija.Net 3.0. Međutim, budući da podržava i naslijeđene Win32, COM, ATL, MFC i aplikacije.Net okvirnih aplikacija na nižoj razini, nema pravih nedostataka programa Vista. Zapravo, osim ako ste upravo trebali imati tu najnoviju i najveću funkcionalnost WPF / WCF okvira, malo vas je motivirati, razvojni programer, da skok na.Net 3.0 ili čak 2.0. Pretpostavljajući da ne naletite na mehanizam upravljanja korisničkim računom (UAC), vaša "naslijeđena" aplikacija sustava Windows vjerojatno izgleda i radi dobro u sustavu Vista kakva jest. Znam, jer je to bio slučaj s mojim kodom: Nekoliko ugađanja za UAC (uglavnom prebacivanje nekih privremenih datoteka daleko od nedavno zaštitili strukture direktorija), a moje aplikacije i usluge prikazivale su se kao Champs pod Vista - baš kao i oni pod Windows XP, Server 2003 i Windows 2000. Zašto to popraviti kada nije razbijen?

Drugi razlog što su programeri izbjegavali. Net je da je spor. Mnoge uobičajene funkcije jednostavno traju dulje pod nazivom.Net, prisiljavajući programere da odaberu između sofisticiranosti API-ja i neobrađenih performansi. Nije iznenađujuće, većina programera odabire potonje, kao što sam jednom bio prisiljen to učiniti kad sam otkrio da je neto ekvivalent Performance Data Helper (PDH) je sve, ali neupotrebljiv za uzorak u stvarnom vremenu protoka podataka performansi sustava Windows. Kao rezultat toga, prisiljen sam zadržati staru bazu podataka za Visual Studio 6 (približno 1997.) dok čekam da Microsoft konačno usmjeri Net do točke gdje je to izvediv alternativa.

Bottom Line: Kada analitičari (i njihovi medijski suučesnici) preziru nedostatak aplikacija "Vista", samo trube vlastitu neznanju.

Pretpostavljam da je to Mac stvar: Toliko je mojih suvremenika uhvaćen u stvarnom polju distorzije da je ideja veze između funkcionalnosti API-ja i OS verzije postala prihvaćen dio konvencionalne mudrosti. To je poštena pogreška, koja se razlikuje od Appleovog arhaičnog skrovišta zavisnosti od verzije Microsoftovog nesavršenog, ali daleko fleksibilnijeg API proširenja.

Previše voća to će vam učiniti.