370 likes | 605 Views
Wprowadzenie do Windows 8. Marcin Iwanowski. Agenda. W co Microsoft inwestował tworząc Windows 8. Wprowadzenie do Windows Run-time. Podstawowe koncepcje Windows 8. Windows Store. Zrozumiecie :. Windows 7 jesień 2011. s przedano 450,000,000 kopii Windows 7 Windows 7 > XP
E N D
Wprowadzenie do Windows 8 Marcin Iwanowski
Agenda W co Microsoft inwestował tworząc Windows 8 Wprowadzenie do Windows Run-time Podstawowe koncepcjeWindows 8 Windows Store Zrozumiecie:
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 reimagined Nowy szybki ekran startowy Dotyk, mysz, klawiatura Wszystko, co było dobre w Windows 7 a nawet lepsze
Ten sam interfejs na różnym sprzęcie Tablety, laptopy, telewizory Dotyk, mysz, klawiatura Wykorzystanie możliwości chipsetu
demo Windows 8 reimagined
Windows 8 Experience • Szybki i płynny interfejs użytkownikaResponsywny, żywy, piękny • Aplikacje full-screenPozwala 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
Kluczowe inwestycje Windows Runtime (WinRT) Nowe środowisko uruchomieniowe Windows 8 User Experience Windows Store
Windows 8 Platform Metro style Apps Desktop Apps HTML JavaScript HTML / CSS XAML View JavaScript (Chakra) C C++ C# VB Model Controller C# VB C C++ WinRT APIs Devices & Printing Communication & Data Graphics & Media System Services .NET / SL Internet Explorer Win32 Application Model Windows Core OS Services Core
demo Hello WinRTwC++
Co zobaczyliśmy… • API WinRTjest natywne • Użycie XAML w C++ • Portable C++ code
API aplikacji stylu Metro User Interface HTML5/CSS XAML DirectX Controls Data Binding SVG Tiles Input Accessibility Printing Devices Communications & Data Contracts Local & Cloud Storage Web Geolocation Portable Sensors NFC Notifications Streams Media Memory Management XML Networking SMS Playback Capture PlayTo Visual Effects Fundamentals Application Services Threading/Timers Memory Management Authentication Cryptography Globalization
demo WinRTwC# oraz JavaScript
Co zobaczyliścimy… • API WinRTjest asynchroniczne • Łatwy dostęp do urządzeń zewnętrznych i danych innych aplikacji • API WinRT użyte za pomocą C#, JavascriptiC++
Do dziś pisaliśmy tak… [DllImport("avicap32.dll", EntryPoint="capCreateCaptureWindow")]static extern intcapCreateCaptureWindow(stringlpszWindowName, intdwStyle, intX, intY, intnWidth, intnHeight, inthwndParent, intnID); [DllImport("avicap32.dll")] static extern boolcapGetDriverDescription(intwDriverIndex, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszName, intcbName, [MarshalAs(UnmanagedType.LPTStr)] ref string lpszVer, intcbVer); // more and more of the same
A w Windows 8… using Windows.Media.Capture;varui = newCameraCaptureUI();ui.PhotoSettings.CroppedAspectRatio = newSize(4, 3);varfile = awaitui.CaptureFileAsync(CameraCaptureUIMode.Photo);if(file != null) {var bitmap = newBitmapImage() ; bitmap.SetSource(awaitfile.OpenAsync(FileAccessMode.Read)); Photo.Source = bitmap;}
Sposób instalowania aplikacji Metro Windows Store backend Single instance store Windows Store Package Manager install stage Execution Engine Registration Information register Extension Handler
Z czego składa się paczka • App Manifest– informacje o aplikacji • Blockmap– do użytku wewnętrznego • Signature– walidacja paczki Files / Assets AppXManifest.xml BlockMap Signature Zip Central Directory .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
demo Capabilities
Process Isolation Process2 Process1 Local context Local context Web context Web context Contracts AppData AppData Local Local Temp Temp Roaming Roaming Direct APIs Brokers OS User data Devices Communications Handlers Tiles Cryptography … …
Process state transitions App gets 5s to handle suspend App is not notified before termination suspending Running App Suspended App Terminated App User Launches App Low Resources resuming Apps are notified when they have been resumed Splash screen Code gets to run No code runs App not running
Cykl życia procesu App 1 App 2 App N App 3 … Running Aplikacja przechodzi po chwili do stanu suspended Aplikacja wraca ze stanu suspended Suspended Aplikacj zamyka siębez notyfikacji Terminated
App data vs. User data App data Settings Files Session State Local Cache User data Documents Photos Music Videos
Roaming Aplikacja normalnie używa danych Local Storage System Windows synchronizuje dane
Zysk... Aby wygenerować $10 million zysku Przy cenie: $4.99 ~2,500,000 sprzedaży 0.5% klientów Windows
Szansa 500M 247M 234M 152M 112M 40M 30M 13M iPad Windows Android phones Android tablets iPhone Android iOS Mac As of December 2011