Quali sono le principali differenze tra la programmazione per Windows XP e per Vista?
-
09-06-2019 - |
Domanda
Da una desktop application developer punto di vista, c'è qualche differenza tra lo sviluppo per Windows XP e lo sviluppo per Windows Vista?
Soluzione
Interfaccia Utente
Guardando il Esperienza Utente Di Windows Vista Linee Guida si può vedere che essi hanno cambiato molti elementi dell'interfaccia utente, che si dovrebbe essere a conoscenza.Alcune cose importanti da prendere nota di:
- Icone più grandi
- Nuovo font (Che colpisce alcuni UI personalizzata constistency)
- Nuovo finestra di dialogo caratteristiche (finestre di dialogo delle attività)
- Alterato finestre di dialogo comuni (come Apri File, Salva con nome, ecc.)
- Testo della finestra di dialogo lo stile e il tono, e guardare e sentire
- Nuovo Aero Maghi
- Ridisegnato le barre degli strumenti
- Meglio notifica UI
- Nuovo metodo consigliato per tra cui una la ricerca di controllo
- Vetro
64-bit
Vista a 64-bit edition, e anche se XP non troppo, gli utenti sono più propensi a usare il Vista 64 rispetto a XP 64.Ora hai a che fare con:
- Virtualizzazione del registro di sistema
- Reindirizzamento del registro di sistema (Wow6432Node)
- Registro di riflessione
- Le firme digitali per i moduli del kernel
- MSI agli installatori nuova proprietà per affrontare con
UAC
Il Controllo Account Utente apprezzabile influenza le autorizzazioni predefinite che la vostra applicazione è quando si interagisce con il sistema operativo.
- Come UAC e colpisce la vostra applicazione (vedi anche il requisiti doc)
- Gli installatori hanno a che fare con il controllo account utente
Nuove Api
Ci sono nuove Api che sono destinati a nuovi metodi di costruzione delle applicazioni o permettendo nuove funzionalità:
- API di crittografia:La Prossima Generazione (CNG)
- Extensible Application Markup Language (XAML)
- Windows Communication Foundation (WCF)
- Windows Workflow Foundation (WF)
- E molti di più di quelli più piccoli
Installatori
Perché le installazioni possono utilizzare solo comune runtime si installa dopo il completamento di una transazione, azioni personalizzate avrà esito negativo se l'azione personalizzata dll richiede il Visual C++ runtime sopra il VS 2005 CRT (senza SP1).
Altri suggerimenti
Non mai si supponga che il tuo utente ha accesso a determinate aree chiave del disco (es.programma di file, directory di windows, ecc).Invece l'account utente predefinito sarà solo in grado di scrivere una piccola parte di loro i dati dell'applicazione.Inoltre, essi non saranno in grado di scrivere globale di aree del registro di sistema - solo l'utente corrente sezione.
Ovviamente si può elevare i propri privilegi, ma che in sé è un compito.
In generale la programmazione di Vista è lo stesso XP, è solo il nuovo account restrizioni devi essere prudente.
Date un'occhiata a questa pagina riguarda l'applicazione "UAC consapevole"
http://www.codeproject.com/KB/vista-security/MakingAppsUACAware.aspx
Non ci può essere, ma una scelta consapevole di fare come sviluppatore.È possibile utilizzare la nuova Vista roba, come UAC e CommandLinks e Aero e così via.Ma non è necessario (anche UAC può essere programmato intorno -- basta non fare niente che ha bisogno di privilegi di amministratore).Se si sceglie di ignorare tutti i Vista roba, quindi non c'è assolutamente nessuna differenza tra i due.
Se si desidera includere quella roba nella tua app, fa la differenza.Ma io direi di non essere un grande uno.E se si astrae le differenze (per esempio, scrivere una funzione che mostra un TaskDialog per Vista, ma che si muti giù ingresso che si danno in un MesssageBox su XP), quindi avrete solo di scrivere contro il proprio codice, e le differenze sembrano quasi nulla.
Inoltre, un sacco di Vista della roba nuova (per esempio, il controllo account utente o Aero) è roba che ti preoccupi di una volta, quando si crea il primo pezzo di funzionalità che lo utilizza, farlo funzionare, e quindi non pensare mai di nuovo mentre si sta sviluppando l'app.
Di gran lunga la parte più dolorosa di spostare un'applicazione da XP a Vista (dal mio punto di vista) si occupa di numerosi servizi e di IPv6 roba che utilizza le porte che in precedenza erano gratis, e di trattare con il Wireless Provisioning -> Native WiFi di transizione.
L'UAC roba è fondamentalmente un punto controverso;c'è molto poco gli sviluppatori di applicazioni devono fare.