Windows 7 for udvikleren: Touch-skærme, sensorer og drivere i brugerland
Nye programmeringsinterfaces til touch-skærme, sensorer samt grafik og drivere i userspace var i fokus, da Microsoft præsenterede Windows 7 set med udviklerøjne onsdag på DTU.
Den danske produktchef for Windows, René Giese, havde allieret sig med it-konsulent Michel Baladi, der gav flere eksempler på nye features i Windows 7 for udviklere.
En masse af de rør og ledninger, der blev trukket i Windows Vista, skulle være klar til rigtigt at blive taget i brug med lanceringen af Windows 7.
Det er uden for denne artikels omfang at beskrive alle nyskabelser for udvikleren i Windows 7, men flere af de største er værd at nævne, hvoraf enkelte allerede kendes fra Vista.
Det gælder blandt andet det grafiske subsystem Windows Presentation Foundation (WPF), der er en del af .NET-platformen og bruges til at tegne brugergrænsefladen i Windows-programmer. WPF blev introduceret som en afløser til det ældre Graphical Device Interface (GDI) sammen med Windows Vista og er sidenhen også blevet tilgængeligt til Windows XP service pack 2.
GDI-baserede Windows-programmer vil blandt andet give bøvl med flere af de features, taskbar'en i Windows 7 byder på. Det gælder blandt andet den miniature-visning af et kørende program, som opnås ved at føre musen henover programmet i proceslinjen.
Den feature blev introduceret med Vista, og den giver i visse tilfælde fejl med GDI-baserede programmer ? for eksempel når brugeren starter Windows efter dvaletilstand - som i stedet for miniaturebilledet blot viser et lille ikon.
Kløften fra GDI til WPF er nu blevet så bred, at det gamle system endegyldigt bør få den kolde skulder.
»Lad være med at skrive ny kode til GDI. Elastikken kan ikke strækkes længere,« sagde Michel Baladi.
Multitouch- og sensor-API'er er nye dyr i Windows-skoven Af helt nye ting på Windows 7-menuen er Multitouch-platformen, der giver udviklere værktøjerne til at skrive Windows-programmer, der kan bruge touch-skærmen på eksempelvis bærbare computere, der er født med den slags.
Ifølge René Giese har Microsoft arbejdet intenst på at få netop den del af Windows 7 gjort helt klar til lanceringen af Windows 7, så producenter af pc'er med touch-skærm har kunnet understøtte navigation i Windows pr. fedtefingre fra begyndelsen.
Touch-funktionerne tæller blandt andet den fra iPhone så velkendte zoom-funktion, hvor tommel- og pegefinger sammen bruges til at zoome ind og ud på billeder eller kort.
Derudover bringer Windows 7 også den nye Sensor and Location Platform med sig, hvilket skal give udviklere bedre mulighed for at skrive applikationer, der aktivt bruger GPS, temperaturfølere, lyssensorer, accelerometre, og hvad hardwareproducenterne ellers kan finde på at putte i maskineriet.
Det betyder for eksempel, at en bærbar eller tablet-pc med indbygget lyssensor med det rette programmel automatisk vil kunne skrue op for kontrast, lysstyrke og fontstørrelse, når brugeren bevæger sig ud i sollys. Ganske som det kendes fra eksempelvis iPhone og GPS i bilen, der kan skifte mellem dag- og natvisning.
Udvikleren har her mulighed for at selv at bede sensorerne om nye oplysninger eller 'abonnere' på nye events fra sensoren.
API'et til den nye Sensor and Location Platform kan bruges direkte af alle Windows-applikationer. Det betyder, at applikationer kan tilgå sensorer gennem API'et direkte uden først at skulle spørge Microsofts COM-interface, der normalt står for både fysiske porte som serielportene og virtuelle porte i stil med Bluetooth-forbindelser.
»Dermed skal der kun et enkelt API-kald til for eksempel at få svar på, hvor man befinder sig,« fortalte Michel Baladi.
Drivere i userspace fortsætter fra Vista På driverfronten fortsætter Windows 7 brugen af det såkaldte User Mode Driver Framework, som blev introduceret med Windows Vista.
Med UMDF kan programmøren for eksempel skrive en sensordriver, der befinder sig i userspace, hvor 'almindelige' programmer normalt boltrer sig, i stedet for i kernelspace, som er forbeholdt kernen og systemdrivere. Kontakten til kernen sker derfor gennem et separat API i stedet for direkte i kerne-API'et. Placeringen i userspace betyder, at Windows-kernen ikke automatisk ryger med i faldet, hvis en ustabil driver falder til jorden med et brag.
Spamfighter: Mindre spring fra Vista til 7 Hos den danske udvikler af spam-filtre, Spamfighter, har man kørt og testet på Windows 7, siden Release Candidate blev frigivet til download i maj.
Her er vurderingen foreløbig også, at Windows 7 minder meget om Vista på udviklerfronten.
»Fra et udviklersynspunkt svarer Windows 7 meget til Vista, så det har ikke været nær så stort et spring for os som fra XP til Vista. Windows 7 er Vista, som Microsoft har fået til at fungere ordentligt,« siger teknisk direktør i Spamfighter, Martin Dyring-Andersen.
Hvad API'er, angår, har Spamfighter derfor ikke oplevet nogen forskel fra Vista til 7. Den største ændring for virksomheden har været aflivningen af den gratis e-mailklient Windows Mail.
»Det har tidligere været rigtig svært at integrere vores kode ind i Windows Mail og før det Outlook Express, fordi der har manglet dokumentation for, hvordan vi for eksempel lægger sin egen værktøjslinje ind i programmet. Det skal vi ikke tænke på nu, hvor Windows Mail ikke længere følger med Windows,« siger Martin Dyring-Andersen.
Andre nyheder tæller blandt andet nye DirectX grafik-API'er til både 2D og 3D-grafik og et Power API, der giver programmøren mulighed for at skrue ned for strømforbruget i den enkelte applikation ved at sætte dele af den i dvale, når de ikke bruges.
Arrangementet blev afholdt af DTU-foreningen IEEE Student Branch.
Kommentarer (5)
For eksempel er det gamle Graphical Device Interface nu endegyldigt fortid.
Så er der godt nok mange programmer som er fortid.
Hej Niels -
Tak for din kommentar.
GDI er ganske rigtigt ikke fortid, men – som det også bemærkes i selve artiklen – bør udviklere fremover skrive ny kode i WPF fremfor GDI.
Jeg har nu rettet teksten i artiklens manchet.
Mvh Mikkel, v2.dk
men GDI er reelt set dødende nu hvor Direct2D er ankommet. WPF er såvidt jeg husker blot et lag oven på Direct2D.
En lille rettelse... Det jeg sagde i mit indlæg på DTU var at der nu er to parallelle systemer for grafik i Windows 7. Den ene baseret på 20+ år gamle GDI og de anden baseret på DirectX.
I Windows Vista udvidede Microsoft DirectX med f.eks. DWM, WIC, Direct3D9. I Windows 7 er DirectX familien igen kraftigt udvidet med Direct2D, Direct Write, DirectX Graphics Infrastructure, Direct3D 10, Direct3D 11 m.v.
Min personlige overbevisning og påstand var at størstedelen af den fremtidige udvikling vil ske på DirectX siden og at GDI vil kun vedligeholdes minimalt. Jeg sagde også at GDI nok vil eksistere til evig tid da det er tusindvis af programmer der er afhængig af GDI, men at al NY udvikling bør ske ovenpå DirectX.
Hvad så med WPF og WinForms? WPF er bygget ovenpå DirectX og WinForms er bygget ovenpå GDI…
Programming Windows 7:
http://channel9.msdn.com/windows/programming/
Windows 7 Online Training (Developers):
http://channel9.msdn.com/learn/courses/Windows7/
Windows 7 Training Kit For Developers:
http://www.microsoft.com/downloads/details.aspx?FamilyID=1C333F06-FADB-4...

