Windows 7
Developer overview
Pietro Brambati
Developer Evangelist, Microsoft
blogs.msdn.com/pietrobr
Avvertenza !
Le informazioni in questa presentazione
si riferiscono ad una versione beta di
Windows 7 e sono soggette a
cambiamenti …
Developer Guide v 1.2
http://code.msdn.microsoft.com/Win7DeveloperGuide
Agenda
Supporto al Multi-Touch
Supporto ai Ribbon
Formati per i documenti
Grafica
Web Services
Sensor & Location Platform
Efficenza energetica
[Altre]
Introduzione
Kernel di Win7 si basa sul kernel di Win. Vista
Compatibilità driver e applicazioni
http://code.msdn.microsoft.com/Windows7AppQuality
Nuove API native aggiunte a Windows 7
Per alcune ci sarà il porting verso Vista/Win2008/..
Alcune verranno usate come base per nuove API .NET
Aggiungono funzionalità “mancanti”
Ad esempio Web Service API
Aggiungono funzionalità “nuove”
Multi-Touch API
Il Multi-Touch
Il Multi-touch
Hardware
Esistono già dispositivi in grado di gestire
il Multi-touch
Software
Windows 7 ha delle API native
.NET 4.0
Roadmap per il supporto al Multi-touch
NET
Windows
4.0 / Surface
7 Release
2.0 Release
Multi-Touch
Surface
Controls
Multi-Touch
Controls
& API
Multi-Touch
API
Multi-Touch API and
Controls
Multi-Touch API
Le API per il Multi-touch
Multi-touch API
Rotazione, zoom, manipolazione di oggetti, anche multipli
Inertia API
effetti legati all’inerzia
API per accesso al nuovo Math Input Control
Scenic Ribbon
Windows Scenic Ribbon
Application
Menu
Quick Access Tab
Toolbar
Contextual Tab Set
Contextual
Tab
Group (aka
“Chunk”)
In Windows 7, ci sarà anche per Vista
Win32 API, COM-based
Help
Dialog Launcher
Roadmap Ribbon
Target:
Managed
Target:
MFC native
Target:
Native
NET 3.5
Da Win2K
Da Vista
Office 2007 &
Windows styles
Office 2007 &
Windows styles1
Windows
visual style
Official
release in
2009
In Visual
Studio 2008
SP1
Windows 7
WPF
MFC
Win32
Ribbon: implementazione
Model View Controller (MVC)
Disaccoppimento codice e markup
API C++/COM
Windows Scenic Ribbon
Markup
Disposizione dei
controlli
<Ribbon>
<Tab>
<Button … />
</Tab>
</Ribbon>
Applicationspecific
Business Logic
COM API
Initialization e
Events handling
MyHandler::Execute(…)
{
DoStuff();
}
void DoStuff()
{
…
…
}
Formati per i documenti
Formati per i documenti
Vista ha introdotto XML Paper Specification (XPS) e
Open Packaging Convention (OPC)
.NET Framework
Windows 7 supporta OPC e XPS
Nuove Packaging API
Supporta la firma digitale via
certificati X509
Grafica
Grafica – DirectX 11
DirectX è un’insieme di API, tra queste
Direct3D: originariamente (1995) pensata per lo sviluppo di
videogioghi e grafica 3D
Windows Vista introduce un DWM che usa Direct3D
Windows 7
DWM usa Direct3D10.1
Memoria per la gestione delle finestre ridotta del 50%
Le nuove API sono interoperabili tra loro e con GDI
Non è necessario disabilitare il DWM
DirectX 11 per Windows 7 e Windows Vista
Direct 3D10 3D10.1
API più facili da usare che con Direct3D9
Performance migliorate nella pipeline, grazie a:
Programmable shader stage
immutable state objects
Geometry Shader Stage
eseguito interamente nella GPU
Altre …
Windows Advanced Rasterization Platform (WARP)
Rendering software, efficente perchè in grado di sfruttare CPU
multi-core (no acceleratori HW)
3D10.1 Command Remoting
Accelerazione sul client di sessioni Terminal Server
Direct 3D11
Estende Direct3D10/3D10.1
Supporto alle nuove GPU
Funziona su hardware D3D 9, 10 e 11
Estende la pipeline di D3D10 (Tassellation, etc.)
Ottimizzazioni per l’uso in applicazioni multi –thread
Miglioramento a HLSL
Uso dei core della GPU per calcoli non di grafica
(GPGPU)
Nuove API DirectX
Direct 2D
Grafica 2D accelerata, prestazioni superiori a GDI/GDI+,
indipendente dalla risoluzione
Direct Write
Per il rendering del testo, indipendente dalla risoluzione,
Supporto per ClearType, OpenType
Windows Imaging Component
Introdotto in Vista
Framework per immagini e metadati
Nuovi formati supportati
DxDiag.Exe
Windows\System32\DxDiag.exe
Web Services API
Windows Web Services API
Consumare ed esporre servizi in codice nativo
Nessuna dipendenza da .NET
Interoperabilità con lo stack WS-* SOAP
Windows Communication Foundation (WCF)
ASP .Net XML Web Services (ASMX)
Non-Microsoft stacks
Parte di Windows 7
Disponibile anche per Windows XP/Vista/2003/2008
Performance – Memory
Server Private Working Set (Kb) – Steady State
7000
6000
TCP/Binary
5000
4000
3000
Server Private Working Set (Kb)
2000
1000
WWSAPI Message Sizes (bytes)
Request: 153; Reply: 89
0
RPC
Sapphire
WWSAPI
Configuration:
Server: 2.2 GHz AMD (dual core), 64-bit Windows Server 2008
Clients: 2.6 GHz AMD (dual core), 64-bit Windows Vista SP1
WCF
Performance – TCP Throughput
TCP Server Throughput (operations/sec)
80000
70000
60000
TCP/Binary
50000
40000
30000
TCP Server Throughput (Operations
per sec)
20000
10000
0
RPC
Sapphire
WWSAPI
WCF
Configuration:
Server: 2.2 GHz AMD (dual core), 64-bit Windows Server 2008
Clients: 2.6 GHz AMD (dual core), 64-bit Windows Vista SP1
WWSAPI Message Sizes (bytes)
Request: 153; Reply: 89
CPU Utilization > 98%
Configurazioni supportate
Transports
Security
HTTP, TCP, UDP
WS-Security 1.0 and 1.1
(partial)
WS-Trust February 2005
and 1.3 (partial)
WS-SecureConversation
1.1 and 1.3 (partial)
XML Encodings
Text, Binary, and MTOM
Envelope
SOAP 1.1 and 1.2
Addressing
WS-Addressing 0.9 and
1.0
Metadata
WSDL 1.1, XML Schema
1.0
WS-MetadataExchange
1.1
WS-Transfer March 2006
Policy
WS-Policy from March
2006 and v.1.2
WS-Policy Attachment
from March 2006 and 1.2
WS-SecurityPolicy 1.1
Sensor & Location Platform
Sensor & Location Platform
Oggi: diversi fornitori/diversi formati
Un modello di driver unificato
Sensori Fisici (e.g., GPS devices, Light Sensors)
Sensori Logici(e.g., Wi-Fi triangulation resolver)
Emulazione di sensori in firmare
Fornisce API standard
Sensor API: C++/COM / Managed code (Windows
Bridge)
Location API: C++/COM, Managed code (Windows Bridge)
L’utente può decidere se abilitare o no un sensore
http://msdn.microsoft.com/en-us/library/dd318936(VS.85).aspx
Efficenza Energetica
Efficenza Energetica
Idea di fondo: si cerca di mantenere in idle il processore
per più tempo possibile
Evitare il polling
Modifiche al kernel:
< 2% attività CPU in stato di idle
I/O disco ridotto in idle
Riduzione dell’attività in background
Service Control Manager (SCM)
 un servizio può essere fatto partire o fermato su specifici
eventi (trigger) : meno servizi devono essere fatti partire allo
start-up della macchina
Nuove API a cui un servizio si può registrare per ricevere
eventi
Altre API
Reliability Access Monitor WMI Interface
 Monitorare la stabilità della macchina
Windows PowerShell 2.0
 IDE per debugging
Windows Installer
 Unica transazione di più package
Windows Filtering Platform
 Miglioramenti per chi sviluppa firewall, antivirus, etc
 Ispezione di traffico non-IP (MAC e ETHERNET filtering)
Altre API
Media API:
api di alto livello (C++) semplificano il modello di
programmazione
Windows Automation
W3C ARIA
Extending Linguistic Service
Library API
Libraries
“ Libraries are destinations where
users can find and organize their
data as collections of items that
may span multiple locations “
Win7 SDK: Library API da .NET
Link utili
Windows 7 Developer Guide
http://msdn.microsoft.com/en-us/library/dd371748(VS.85).aspx
Windows 7 (beta) SDK
http://www.microsoft.com/downloads/details.aspx?FamilyID=a91
dc12a-fc94-4027-b67e-46bab7c5226c&displaylang=en
Windows Driver Kit (WDK)
http://www.microsoft.com/whdc/DevTools/WDK/WDKbeta.mspx
Ribbon Guideline
http://msdn.microsoft.com/en-us/library/cc872782.aspx
DirectX SDK
http://www.microsoft.com/downloads/details.aspx?FamilyId=5493
F76A-6D37-478D-BA17-28B1CCA4865A&displaylang=en
DirectX info
http://www.xnagamefest.com/presentations08.htm
Link Utili
Sensor API:
http://msdn.microsoft.com/enus/library/dd318953(VS.85).aspx
Location API:
http://msdn.microsoft.com/enus/library/dd317751(VS.85).aspx
© 2008 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only.
MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED, IN THIS SUMMARY.
Scarica

Ribbon