Wprowadzenie do Windows 8
description
Transcript of Wprowadzenie do Windows 8
Wprowadzenie do Windows 8Marcin Iwanowski
AgendaPodstawowe koncepcje Windows 8Wprowadzenie do Windows Run-time Windows Store
Zrozumiecie:W co Microsoft inwestował tworząc Windows 8
Windows 7jesień 2011
sprzedano 450,000,000 kopii Windows 7
Windows 7 > XP
powstało 542,000,000 kont Windows Live services
Zmiany na rynku IT Nowe modele interakcji
Mobilność nabrało znaczenia
Programiści integrują swoje aplikacje z innymi
Usługi popularne jak nigdy dotąd
Windows reimaginedNowy szybki ekran startowy
Wszystko, co było dobre w Windows 7 a nawet lepsze
Dotyk, mysz, klawiatura
Ten sam interfejs na różnym sprzęcie
Tablety,laptopy,telewizory
Wykorzystanie możliwości chipsetu
Dotyk,mysz,klawiatura
Windows 8 reimagined demo
Windows 8 Experience Szybki i płynny interfejs użytkownika
Responsywny, żywy, piękny
Aplikacje full-screen Pozwala skupić się na jednej aplikacji
Dotyk, mysz, klawiaturaWybór należy do Ciebie
Aplikacje współpracują ze sobą Są połączone, współpraca z chmurą
To samo działa także na tablecie ARM
Inwestycja w platformę
Kluczowe inwestycjeWindows Runtime (WinRT)
Nowe środowisko uruchomieniowe
Windows 8 User Experience
Windows Store
Windows Run-time (WinRT)
Windows 8 PlatformMetro style Apps
HTMLJavaScri
pt
CC++
C#VB
Desktop Apps
Win32
.NET / SL
Internet Explore
r
Communication
& DataApplication Model
Devices & Printing
WinRT APIsGraphics &
Media
Syst
em S
ervi
ces
JavaScript(Chakra)
CC++
C#VB
XAML HTML / CSSView
Mod
el
Cont
rolle
r
Windows Core OS ServicesCore
demo Hello WinRT w C++
Co zobaczyliśmy… API WinRT jest natywne
Użycie XAML w C++
Portable C++ code
API aplikacji stylu Metro
FundamentalsApplication
Services Threading/Timers Memory Management Authentication Cryptography Globalization
DevicesGeolocation Portable Sensors NFC
User Interface
SVG Tiles Input Accessibility Printing
HTML5/CSS XAML DirectX Controls Data Binding
Communications & Data
Memory Management XML Networking SMS
Notifications Streams
Contracts Local & Cloud Storage Web
MediaPlayback Capture PlayTo Visual Effects
WinRT w C# oraz JavaScriptdemo
Co zobaczyliścimy… API WinRT jest asynchroniczne
Łatwy dostęp do urządzeń zewnętrznych i danych innych aplikacji
API WinRT użyte za pomocą C#, Javascript i C++
Do dziś pisaliśmy tak…[DllImport("avicap32.dll", EntryPoint="capCreateCaptureWindow")]static extern int capCreateCaptureWindow( string lpszWindowName, int dwStyle, int X, int Y, int nWidth, int nHeight, int hwndParent, int nID);
[DllImport("avicap32.dll")] static extern bool capGetDriverDescription( int wDriverIndex, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszName, int cbName, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszVer, int cbVer);
// more and more of the same
A w Windows 8…using Windows.Media.Capture;
var ui = new CameraCaptureUI();ui.PhotoSettings.CroppedAspectRatio = new Size(4, 3);
var file = await ui.CaptureFileAsync(CameraCaptureUIMode.Photo);
if (file != null) { var bitmap = new BitmapImage() ; bitmap.SetSource(await file.OpenAsync(FileAccessMode.Read)); Photo.Source = bitmap;}
Nowe środowisko uruchomieniowe
Sposób instalowania aplikacji Metro
Windows Store
backend
Package ManagerWindows
Store installExecution Engine
Extension
Handler
stage Single instance store
register Registration Information
Z czego składa się paczka App Manifest – informacje o aplikacji
Blockmap – do użytku wewnętrznego
Signature – walidacja paczki
AppXManifest.xml
BlockMap
Signature
Zip Central Directory
Files / Assets
.appx package
App manifest i możliwości Deklaruje z czego aplikacja może korzystać
File capabilities (music/pictures/videos/documents libraries, removable storage)
Devices (webcam, microphone, location, sms, proximity); extensible to new device classes
Network and identity (internet, private network, credentials) File type associations App contracts (search, share, etc.)
Plik appxmanifest.xml; Visual Studio zapewnia edytor
demoCapabilities
Process Isolation
OSUser data Devices Communications Handlers Tiles Cryptography … …
Brokers
Process1Local context Web
contextAppData
Local Temp Roaming
Contracts
Process2Local context Web
contextAppData
Local Temp Roaming
Direct APIs
Process state transitions
RunningApp
Suspended
App
suspending Terminated
AppLow
Resources
Code gets to run No code runs App not running
resuming
App gets 5s to handle suspend
App is not notified before
termination
Apps are notified when they have been resumed
User Launches App
Splash screen
Cykl życia procesuRunning
Terminated
…
Suspended
Aplikacj zamyka się bez
notyfikacji
App 1 App 2 App 3 App NAplikacja
przechodzi po chwili do stanu
suspended
Aplikacja wraca ze stanu suspended
App data vs. User data
User data
Documents Photos Music Videos
App data
Settings Files Session State
Local Cache
Roaming
Aplikacja normalnie używa danych
System Windows synchronizuje dane
LocalStorage
Windows Store
The Windows Store
Zysk...
Aby wygenerować $10 million zyskuPrzy cenie: $4.99
~2,500,000 sprzedaży0.5% klientów Windows
Szansa
500M
Windows
234M
Android phones
112M
iPhone40MiPad
13M
Android tablets
247M
Android
152M
iOS30M
Mac
As of December 2011
Podsumowanie
Windows reimagined