Mellékleteink: HUP | Gamekapocs
Keres

Microsoft Windows Longhorn előzetes

Budai Péter, 2004. április 26. 09:07
Ez a cikk több évvel ezelőtt születetett, ezért előfordulhat, hogy a tartalma már elavult.
Frissebb anyagokat találhatsz a keresőnk segítségével:

4. oldal: Az Avalon programozása 2.

Gyakori probléma a meglévő Windows alkalmazásoknál, hogy nehéz a különféle funkciók között kapcsolatot találni, vagyis a legtöbb esetben, ha a felhasználó egy több parancsból álló tevékenységet szeretne elérni, egyenként kell megtalálnia az ehhez szükséges menüpontokat, vagy gombokat. A Longhornban az összetartozó funkciók a legegyszerűbben hiperlinkek segítségével köthetőek össze, míg a komplexebb feladatok kivitelezésének módja könnyedén leírható az új súgórendszeren keresztül.

Míg korábban a súgó összes oldalát a dokumentáció szerkesztőjének kellett megterveznie és legyártania, addig a Longhorn rendelkezésre bocsátja saját súgójának leggyakrabban használt oldaltípusait, hogy a lehető legkevesebb munkával és leginkább a tartalomra koncentrálva lehessen súgókat létrehozni. Az így kapott súgó előnyére szolgál továbbá, hogy a felhasználók minden alkalmazáshoz ugyanazt a segítségnyújtási felületet kapják, amit ha egyszer kiismertek, attól kezdve gond nélkül tudnak használni.


A Longhorn súgója

Jelenleg ugyancsak komoly fejfájást okoz a fejlesztőknek a különféle ablakok közötti vezérlésátadás, illetve maguknak az ablakoknak a megjelenítése. A Stuctured Navigation Framework (SNF) ezekre a problémákra nyújt megoldást. Az SNF működéséhez minden megjelenítendő komponenshez egy oldal-objektumot kell létrehozni. Ezek az objektumok több konstruktorral is rendelkezhetnek, aminek segítségével tetszőleges adatok juttathatóak el egyik oldalról vagy ablakról a másikra.

Az SNF naplózza a vezérlésátadás folyamatát, és amennyiben az aktuális oldal befejezte a tevékenységét, és ezt jelzi a rendszer felé, akkor a naplóban szereplő utolsó objektumra kerül vissza a vezérlés, ahol szintén lehetőség van kimeneti paraméterek átadására. Ez a koncepció leginkább az eljáráshívások stack-jére hasonlít. A navigációban résztvevő objektumoknak nem kötelező vizuális komponensekre, vagy ablakokra hivatkozniuk. A nem látható oldal-objektumok vezérlési csomópontként használhatóak. Az SNF segítségével valamennyi vezérlési topológia megvalósítható, és a vezérlésátadás folyamata futásidőben, dinamikusan is módosítható.

A komponensprogramozók fellélegezhetnek, mivel a Longhorn olyan képességekkel rendelkezik, amik a korábbi komponensfejlesztői munka több mint felét feleslegessé teszik. Hozzá kell tenni, hogy ezeknek a képességeknek egy jelentős része már a .Net keretrendszer részeként régebb óta elérhető, ugyanakkor az Avalon további funkciókkal bővíti a meglévő platformot.

Az egyik legfontosabb előrelépés, hogy a grafikus alrendszer -- beleértve az ablakokat és a vizuális komponenseket is -- a gyökeréig újra lett írva .Net-alapúra. A keretrendszer korábbi verziói csak egy könnyen használható felületet nyújtottak a korábbi Win32 API helyett, de ettől függetlenül Longhorn előtti operációs rendszerek még mindig az ősöreg ablakok közötti üzenetküldéssel, és DC-re (Device Context) rajzolással működnek. Az Avalon a korábbi Win32 objektumok helyett strukturált .Net osztályokat kínál a felület elemeinek kezelésére, és ő maga is ezek segítségével működik.

A másik jelentős újítás a Windows komponenseinek teljeskörű újrahasznosításának lehetősége. Az új koncepció szerint minden komponens kiajánl megadott viselkedésosztályokat (Control Pattern), amiket bárki megvalósíthat. Egy komponens viselkedésosztályai között lehetnek kötelezően és opcionálisan megvalósíthatóak is, valamint olyanok, amiket a komponens csak bizonyos feltételek teljesülése esetén használ fel. Például egy ListBox komponensnek kötelezően meg kell valósítani az elemkijelöléssel kapcsolatos funkcióit, azonban a görgetést csak abban az esetben, ha a listában több elem található, mint amennyi a lista által egyidejűleg megjeleníthető. Ez a megközelítés olyan, mintha a komponens különféle interfészeket kínálna programozásához, azonban öröklődés szempontjából lényegesen előnyösebben használható, mintha egyszerűen megvalósítanánk a kiajánlott interfészeket, mivel teljesen különválasztható a komponensek saját, valamint viselkedésosztályainak öröklődése.

A felhasználó által kezdeményezett beavatkozásokról -- mint amilyen például az egérmozgatás, vagy billentyűleütés --szintén .Net objektumok értesülnek. A szerkesztéssel kapcsolatos szolgáltatások és viselkedésosztályok (Edit Services, Edit Behaviors) a felület logikai fájának bármelyik eleméhez csatlakoztathatóak, amitől annak az elemnek valamennyi leszármazottja rendelkezni fog a kérdéses szolgáltatással, kivéve, ha egy adott szinten deaktiváljuk azt. A rendelkezésre álló szolgáltatások között megtalálható a kijelölés, az undo-redo, a drag-drop, valamint az általános billentyű-, és egérkezelés.

A .Net keretrendszer támogatja a GDI+ technológiát, ami a korábbi GDI interfész továbbfejlesztett változata. A GDI vagy a GDI+ szükséges ahhoz, hogy az operációs rendszeren keresztül rajzolni lehessen a képernyőre. Az GDI+ elődével szemben képes gradiensek kirajzolására, transzformációs mátrixok segítségével tetszőleges képmanipulációt végezni, áttetsző felületeket kezelni, és rugalmasan megadható képterületekkel dolgozni. Mindemellett támogatja a BMP, GIF, JPEG, EXIF, PNG, TIFF, ICON, WMF, EMF formátumok operációs rendszerben történő felhasználását.

Az Avalon MediaServices API-ja felelős a különféle médiák megjelenítéséért és kezeléséért. Egységes felületet nyújt valamennyi médiatípus feldolgozására, amik között megtalálhatóak az audió, videó, bináris, HTML, kép, és script állományok is. Minden lejátszás, vagy megjelenítés esetén meg lehet határozni a forrást (ami lehet egy vagy több fájlnév, vagy stream), a szükséges transzformációkat, és a renderelés célpontját, vagy célpontjait. A hangerő változtatásához és a hangkártya keverőjének használatához sincs többé szükség Win32 API hívásokra, helyette segítőkész .Net objektumok állnak rendelkezésre.

CD-k lejátszásra megjelent a CD:// namespace, amivel akár programkódból, akár az Explorerből egyszerűen lehet audio CD-k megadott számait lejátszani. Például a "CD://E/2-4" parancs lejátssza az E meghajtóban található lemez második, harmadik és negyedik számát.

Az Avalon részét képezi a Natural Language Services nevezetű szolgáltatás is, ami képes értelmezni az általunk megadott szöveget az adott nyelv szabályai és szókincse alapján. Ez a technológia még gyerekcipőben jár, jelenleg mondatok szavainak elemzésére és szétbontására alkalmazható, a tényleges értelmezéshez szükséges funkciók még nincsenek készen.

A Longhorn szinte összes állományát le lehet védeni a Rights Management technológia felhasználásával, ami garantálja, hogy csak azok a felhasználók férhetnek hozzá a kérdéses fájlokhoz, akiknek a fájl tulajdonosa erre engedélyt adott. Ez a védelem független a fájlrendszer jogosultságaitól; itt a jogosultság magában a fájlban, vagy egy konténerobjektumban kerül meghatározásra. A megnyitáshoz érvényes kulcsra, vagy tanúsítványra van szükség.

Facebook
Adatvédelmi okokból az adott hír megosztása előtt mindig aktiválnod kell a gombot! Ezzel a megoldással harmadik fél nem tudja nyomon követni a tevékenységedet a HWSW-n, ez pedig közös érdekünk.