© 2012 Microsoft Corporation. Alle Rechte vorbehalten.   Microsoft Student Partners
Eine typische Windows 7Anwendung… Lässt sich mit Tastatur und Maus bedienen Läuft nur auf x86 und x64 CPUs Kann Adminis...
Ein Anwendungsmodell ausanderen Zeiten.
Neue Formfaktoren wie Tablets sprechen auch Anwender an,die sich bisher vielleicht keinen Computer gekauft hätten.
Eine typische Windows 8Anwendung… Lässt sich mit Tastatur und Maus bedienen, aber auch mit Touch und Stift Läuft auf x86...
Diese neuen Anforderungenließen sich mit dembestehendenAnwendungsmodell nichtumsetzen. Deshalb…
Windows 8 Apps laufen in einer neuen Runtime: WinRT. FürDesktop-Anwendungen ändert sich nichts.
DEMO
Bisher: viele Anwendungen machen zeitaufwändige Operationen(z.B. Web-Service-Abfragen) im UI-Thread, der dadurch blockiert...
Bisher: viele Anwendungen machen zeitaufwändige Operationen(z.B. Web-Service-Abfragen) im UI-Thread, der dadurch blockiert...
Zu jeder Schnittstelle in WinRT existieren Metadaten. DieseMetadaten werden dazu genutzt, um automatisch Projektionen fürd...
WinRT sieht in jeder Programmiersprache so aus, wie man esdort erwarten würdeC++                                          ...
Zwei UI-TechnologienXAML                          HTML5, CSS3Für C#, VisualBasic und C++   Für JavaScript
Der Lebenszyklus einerWindows 8 App unterscheidetsich deutlich von einer Windows7 Anwendung
Apps lassen sich unter Windows 8 nur über den neuen WindowsStore installieren (Ausnahme: Desktop-Anwendungen)
Windows 8 Apps benutzen ein einheitliches Paketformat. Diesesist digital signiert um Manipulation während des Downloads zu...
Windows 8 Apps laufen in einer Sandbox und habeneingeschränkten Zugriff auf Betriebssystem-Ressourcen.                    ...
Will eine App auf eineRessource zugreifen, benötigtsie dafür die Berechtigung(Capability).
Jede Anwendung muss deklarieren, welche Capabilities siebenötigt.
Die Capabilities, die von einer App genutzt werden, werden imWindows Store aufgelistet.
Bei Capabilities, die die Privatsphäre des Benutzersbetreffen, fragt Windows explizit, wenn eine Anwendung diesezum ersten...
Apps können nicht frei auf das Dateisystem zugreifen. DerBenutzer kann ihnen aber über FilePicker und FolderPicker Lese-un...
Jede App hat einen lokalen und isolierten Speicherbereich, aufden sie uneingeschränkt zugreifen kann.Apps können außerdem ...
Apps können ihre Einstellungen über den Microsoft Account desBenutzers mit anderen Rechnern synchronisieren.              ...
Unter Windows 8 läuft im Normalfall nur eine, mit Snapping zweiApps zur selben Zeit. Apps im Hintergrund werden automatisc...
Aber es gibt vielfältigeMöglichkeiten für Apps, doch imHintergrund zu laufen. Etwa umAudio wiederzugeben, Datenherunterzul...
FrageWer von euch hat schon einmal mit C# gearbeitet?
Windows 8 Apps können nureinen Teil des .NET Frameworksnutzen.
.NET und WinRT-Datentypen lassen sich problemlos kombinieren,wie hier der WinRT Datentyp IRandomAccessStream und der.NET D...
Die WinRT Projektion für C# und VisualBasic unterstüzt die neuenSprachkonzepte für asynchrone Programmierung.C#async void ...
Nächste SlideShare
Wird geladen in …5
×

Windows 8 für Entwickler

4.080 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Windows 8 für Entwickler

  1. 1. © 2012 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft Student Partners
  2. 2. Eine typische Windows 7Anwendung… Lässt sich mit Tastatur und Maus bedienen Läuft nur auf x86 und x64 CPUs Kann Administratorrechte anfordern und dann beliebig auf die Festplatte schreiben Kann im Hintergrund laufen und dort beliebig die CPU auslasten Kann uneingeschränkt auf Sensoren (Kamera, Mikrofon, GPS) zugreifen Kann beliebig Internet-Traffic erzeugen, auch über mobile Datenverbindungen
  3. 3. Ein Anwendungsmodell ausanderen Zeiten.
  4. 4. Neue Formfaktoren wie Tablets sprechen auch Anwender an,die sich bisher vielleicht keinen Computer gekauft hätten.
  5. 5. Eine typische Windows 8Anwendung… Lässt sich mit Tastatur und Maus bedienen, aber auch mit Touch und Stift Läuft auf x86, x64 und ARM CPUs Hat begrenzten Festplattenzugriff Kann im Hintergrund nur begrenzt die CPU auslasten Kann nur nach Zustimmung des Benutzers auf Sensoren (Kamera, Mikrofon, GPS) zugreifen Kann nur mit Zustimmung des Benutzers Internet-Traffic erzeugen
  6. 6. Diese neuen Anforderungenließen sich mit dembestehendenAnwendungsmodell nichtumsetzen. Deshalb…
  7. 7. Windows 8 Apps laufen in einer neuen Runtime: WinRT. FürDesktop-Anwendungen ändert sich nichts.
  8. 8. DEMO
  9. 9. Bisher: viele Anwendungen machen zeitaufwändige Operationen(z.B. Web-Service-Abfragen) im UI-Thread, der dadurch blockiertwird. Thread 1 Thread 2 UI Web-Service abfrage UI reagiert nicht UI
  10. 10. Bisher: viele Anwendungen machen zeitaufwändige Operationen(z.B. Web-Service-Abfragen) im UI-Thread, der dadurch blockiertwird. Thread 1 Thread 2 UI UI Web-Service abfrage UI reagiert weiter UI
  11. 11. Zu jeder Schnittstelle in WinRT existieren Metadaten. DieseMetadaten werden dazu genutzt, um automatisch Projektionen fürdie unterstützten Programmiersprachen zu generieren. WinRT (C++, C#, VisualBasic) Metadaten Projektion Projektion Projektion C++ C# / Visual Basic JavaScript
  12. 12. WinRT sieht in jeder Programmiersprache so aus, wie man esdort erwarten würdeC++ C#auto filePicker = ref new FileOpenPicker(); var filePicker = new FileOpenPicker();filePicker->FileTypeFilter->Append(".jpg"); filePicker.FileTypeFilter.Add(".jpg");task<StorageFile^>(filePicker->PickSingleFileAsync()).then( var file = await filePicker.PickSingleFileAsync(); [this](StorageFile^ file){ if (file != null) { if (file) var stream = await file.OpenReadAsync(); { task<IRandomAccessStreamWithContentType^>(file->OpenReadAsync()).then( var bitmap = new BitmapImage(); [this](IRandomAccessStreamWithContentType^ stream) bitmap.SetSource(stream); { auto bitmap = ref new BitmapImage(); MyImage.Source = bitmap; bitmap->SetSource(stream); } MyImage->Source = bitmap; }); }});JavaScriptvar filePicker = new Windows.Storage.Pickers.FileOpenPicker();filePicker.fileTypeFilter.push(".jpg");filePicker.pickSingleFileAsync().done(function (file) { if (file) { WinJS.Utilities.query("img").setAttribute("src", URL.createObjectURL(file)); }});
  13. 13. Zwei UI-TechnologienXAML HTML5, CSS3Für C#, VisualBasic und C++ Für JavaScript
  14. 14. Der Lebenszyklus einerWindows 8 App unterscheidetsich deutlich von einer Windows7 Anwendung
  15. 15. Apps lassen sich unter Windows 8 nur über den neuen WindowsStore installieren (Ausnahme: Desktop-Anwendungen)
  16. 16. Windows 8 Apps benutzen ein einheitliches Paketformat. Diesesist digital signiert um Manipulation während des Downloads zuverhindern. Files / Assets AppXManifest.xml BlockMap Signatur Zip Central Directory .appx package
  17. 17. Windows 8 Apps laufen in einer Sandbox und habeneingeschränkten Zugriff auf Betriebssystem-Ressourcen. App 1 App 2 Contracts Lokaler kontext Lokaler kontext API Zugriff Direkter Broker Betriebssystem Windows APIs (WinRT)
  18. 18. Will eine App auf eineRessource zugreifen, benötigtsie dafür die Berechtigung(Capability).
  19. 19. Jede Anwendung muss deklarieren, welche Capabilities siebenötigt.
  20. 20. Die Capabilities, die von einer App genutzt werden, werden imWindows Store aufgelistet.
  21. 21. Bei Capabilities, die die Privatsphäre des Benutzersbetreffen, fragt Windows explizit, wenn eine Anwendung diesezum ersten Mal benutzen möchte (z.B.Geolocation, WebCam, Mikrofon).
  22. 22. Apps können nicht frei auf das Dateisystem zugreifen. DerBenutzer kann ihnen aber über FilePicker und FolderPicker Lese-und/oder Schreibrechte an bestimmten Dateien und Ordnerngeben.
  23. 23. Jede App hat einen lokalen und isolierten Speicherbereich, aufden sie uneingeschränkt zugreifen kann.Apps können außerdem Zugriff auf den Eigene-Dateien-Ordnerdes Benutzers beantragen.
  24. 24. Apps können ihre Einstellungen über den Microsoft Account desBenutzers mit anderen Rechnern synchronisieren. Microsoft App Local Storage Account
  25. 25. Unter Windows 8 läuft im Normalfall nur eine, mit Snapping zweiApps zur selben Zeit. Apps im Hintergrund werden automatischpausiert und wieder aufgeweckt, wenn sie in den Vordergrundgeholt werden. App hat 5s Zeit, bevor sie App wird nicht angehalten wird benachrichtigt, bevor sie beendet wird anhalten Benutzer Angehaltene Beendete Laufende App Wenig ressourcenstartet App App App fortsetzen Apps warden benachrichtigt, wenn die fortgesetzt werdenSplash screen App läuft App angehalten App läuft nicht
  26. 26. Aber es gibt vielfältigeMöglichkeiten für Apps, doch imHintergrund zu laufen. Etwa umAudio wiederzugeben, Datenherunterzuladen, GPS Spurenaufzuzeichnen usw.
  27. 27. FrageWer von euch hat schon einmal mit C# gearbeitet?
  28. 28. Windows 8 Apps können nureinen Teil des .NET Frameworksnutzen.
  29. 29. .NET und WinRT-Datentypen lassen sich problemlos kombinieren,wie hier der WinRT Datentyp IRandomAccessStream und der.NET Datentyp Stream.C#var file = await ApplicationData.Current.LocalFolder.CreateFileAsync("dummy.dat", CreationCollisionOption.ReplaceExisting);using (IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.ReadWrite)) { using (Stream outStream = stream.AsStreamForWrite()) { outStream.Write(buffer, 0, buffer.Length); outStream.Flush(); }}
  30. 30. Die WinRT Projektion für C# und VisualBasic unterstüzt die neuenSprachkonzepte für asynchrone Programmierung.C#async void Methode(){ var ergebnis1 = await AsynchroneOperation1(); var ergebnis2 = await AsynchroneOperation2(); var ergebnis3 = await AsynchroneOperation3();}

×