Roadmap von Microsoft’s
UI Technologien
Christian Moser
Software Architect
moc@zuehlke.com




                          Folie 1
                          20. September 2011




                          Christian Moser

                          © Zühlke 2011
Aktuelle
Microsoft Technologien




                         Folie 2
                         20. September 2011




                         Christian Moser

                         © Zühlke 2011
Windows Presentation Foundation


•   Teil von .NET 3.0 und höher
•   Entwicklung in C# und XAML
•   Vereint 2D, 3D, Reporting, Forms, Multimedia in
    einem durchgängigen Programmiermodell
•   Vektorbasierte, hardwarebeschleunigte Grafik
 Stärken                Schwächen
  3D Unterstützung      .NET Framework
  Maximaler               muss installiert sein
    Funktionsumfang      Erlebt nicht mehr so
  Zugriff auf lokale      viel Innovation
    Ressourcen           Läuft nur unter
  Office Integration      Windows ab XP SP2
  Viele Bibliotheken    XBAP im Browser
    verfügbar              nur mässig gut
                                                   20. September 2011   Folie 3   © Zühlke 2011
WPF Roadmap


                                                                            Release: 2012 (Dev Preview verfügbar)

     WPF 3.0                            WPF 3.5 SP1                                  WPF 4.5
     - Erste Version                                                                 - Bessere UI-Virtualisierung
                                                                                     - Ribbon Control
                                                                                     - MarkupExtensions für Events
                                                                                     - Verbessertes DataBinding




  2007          2008             2009           2010              2011                   2012



                       WPF 3.5                         WPF 4.0
                                                       - XAML 2009
                                                       - Windows 7 integration
                                                       - Visual State Manager
                                                       - Easing Funcations
                                                       - Neue Controls
                                                       - Verbesserter Text
                                                       - Multitouch

                                                           20. September 2011      Folie 4           © Zühlke 2011
Silverlight


•   Kleines Browser-Plugin (4MByte)
•   Für Windows und Mac (IE, Firefox, Chrome, Safari)
•   Entwicklung in C# und XAML
•   Läuft in einer Sandbox, die jedoch immer mehr geöffnet wird


 Stärken                   Schwächen
  Leichtgewichtig          Zugriff auf lokale
  Einfache Installation      Ressourcen
  Cross Platform/            eingeschränkt
    Browser support         API teilweise noch
  Integration in eine        Lückenhaft (vergl. WPF)
    bestehende              Kein 3D (vor Version 5)
    Webseite

                                                        20. September 2011   Folie 5   © Zühlke 2011
Silverlight Roadmap


                                                                                Release: Q4 2011 (RC verfügbar)

          Silverlight 1                       Silverlight 3                          Silverlight 5
          - Ohne .NET                         - Neue UI-Controls                     - 3D Support
          - nur Javascript                    - Out-of-Browser                       - Mehrere Fenster
          - keine Controls                    - RIA Services                         - p/Invoke
          - Proof-of-Concept                  - Perspektive Transform                - Vector Printing
            Release                                                                  - Breakpoints in Bindings




   2007    2008                2009            2010               2011                  2012



                               Silverlight 2                           Silverlight 4
                               - .NET als Codebehind                   - COM-interop
                               - Basic UI-Controls                     - Druck API
                               - Netzwerkprotokolle                    - Rechts-Klick und Mouserad
                                                                       - WebCam und Mic
                                                                       - Lokaler Dateizugriff
                                                                       - Keyboard in Fullscreen
                                                                       - Cross-Domain Networking

                                                           20. September 2011     Folie 6            © Zühlke 2011
ASP.NET


•   Erstellen dynamischer Webseiten
•   Entwicklung in C#, HTML, JavaScript, CSS
•   Wird im IIS gehosted
•   WebForms (stateful, desktop-like) oder MVC (stateless, web-
    like)
Stärken                    Schwächen
 Nahtlose Integration      Lange Ladezeit
   mit anderen .NET         Starke Bindung an IIS
   Technologien             Webforms versucht das
 Viele Bibliotheken          Desktop-Entwicklung auf
   verfügbar                  das Web zu portieren, was
 Trennung View/Code          nicht immer gut passt.
 Gute
   Toolunterstützung
                                                    20. September 2011   Folie 7   © Zühlke 2011
ASP.NET Roadmap


                                                                           Release: 2012 (Dev Preview verfügbar)

ASP.NET 2.0           ASP.NET 3.5                ASP.NET 4.0                         ASP.NET 4.5
- Neue Controls       - AJAX Support             - Dynamic Data                       - Asynchronität
- Master Pages        - ListView, DataPager      - Browser History                   - WebSockets
- Web Parts           - WCF/RSS/JSON             - Java-Script combining             - Client Scripts minimieren
- Skins               - Linq                     - Routing                           - Anti Cross-Site-Scripting
- Pre-Compilation     - HTTP Pipelines
- Lokalisierung



    2007            2008          2009          2010             2011                   2012

                                      ASP.NET            ASP.NET                    ASP.NET       ASP.NET
                                      MVC 1.0            MVC 2.0                    MVC 3.0       MVC 4.0
                                                                                                  - JQuery Mobile
                                                                                                    unterstützung
                                                                                                  - Gerätespezifische
                                                                                                     Views
                                                                                                  - Razor
                                                                                                    Verbesserungen
                                                                                                  - CSS & JS
                                                                                                    Bündelung
                                                                               Release: 2012 (Dev Preview verfügbar)
                                                          20. September 2011      Folie 8             © Zühlke 2011
Was wird neu mit
Windows 8?




                   Folie 9
                   20. September 2011




                   Christian Moser

                   © Zühlke 2011
Windows 8
Apple bekommt Konkurrenz auf dem Tablet-Markt



•   Kompatibel zu Windows 7
•   Neue Touch-Oberfläche
•   Lauffähig auf ARM-Prozessoren
•   Batteriesparend und ressourcenarm
•   Apps und der Windows Store
•   Integration von Windows Azure
•   Neuer Lock-Screen, TaskManager
    und Explorer mit Ribbon
•   Erscheint in etwa im Q3/2012


                                            20. September 2011   Folie 10   © Zühlke 2011
Metro-Style Apps


•   Touch optimiert
•   Fast and fluid
•   Inhalt statt Chrome
•   Live Tiles statt Icons
•   Vollbild oder Snapped
•   Verteilung per Windows Store
•   Laufen in einer Sandbox
•   Einfacher Datenaustausch
    durch Contracts
•   Basierend auf der neuen
    Windows Runtime
                                   20. September 2011   Folie 11   © Zühlke 2011
Was ist die Windows Runtime (WinRT)?


•   Neues Subsystem in
    Windows 8
•   API für Metro-Style Apps
•   Native in C++ (COM-ähnlich)
•   Natürliche Projektion der API
    in verschiedene Sprachen
•   Entwicklung mit C#/VB/C++
    und XAML oder JS und HTML
•   WinRT ist jedoch weder WPF noch Silverlight
•   App-Container isoliert die App
    und schützt den Benutzer

                                             20. September 2011   Folie 12   © Zühlke 2011
App Container


•   Jede App in einer Art
    «isolierten App Container»
•   Apps können nicht auf Daten
    andere Apps zugreifen
•   Kommunikation über Contracts
•   Potentiell gefährliche Funktions-
    aufrufe laufen über Broker
•   Anwender muss den Zugriff auf
    die Ressourcen genehmigen
•   Jede App muss in AppXManifest die benötigten Ressourcen
    deklarieren
•   Compiler und Store-Zertifizierung verhindern unerlaubte Aufrufe
                                              20. September 2011   Folie 13   © Zühlke 2011
Contracts


•   Apps können miteinander kommunizieren,
    ohne dass sie voneinander etwas wissen
•   Dazu gibt es vordefinierte Kontrakte,
    welche eine App anbieten/konsumieren kann:
    - Search
    - Share
    - Picker

                     Search                        Search
                     Source                        Target
                                 Windows                                     Twitter
     Foto Album
                                 Runtime                                     Client


                                             20. September 2011   Folie 14        © Zühlke 2011
Language Projection


•   Metro-Style Apps unterstützen C++, C#, VB oder JS
•   Alle Funktionen der WinRT wurden natürlich abgebildet.
C#
var fp = new FileOpenPicker();
var result = await fp.PickSingeFileAsync();
C++
auto fp = Windows::Storage::Pickers::FileOpenPicker();
auto result = fp->PickSingeFileAsync();
JavaScript
var fp = new Windows.Storage.Pickers.FileOpenPicker;
fp.pickSingleFileAsync().then();



                                              20. September 2011   Folie 15   © Zühlke 2011
Vergleich von
Desktop und Metro

                       Metro Apps      Desktop Software
Haupt-Eingabemedium       Touch          Maus/Tastatur
UI-Style                  Metro            Windows
Runtime                   WinRT         .NET/SL/Win32
Verteilung            Windows Store    Download Webseite
Installation           .appx Package          MSI
Systemzugriff         Nur über WinRT      Voller Zugriff

Fazit
•   Metro Style Apps auf WinRT eignen sich vorwiegend für Consumer-
    Anwendungen mit viel Inhalt und wenig Dateneingabe.
•   Business Applikationen werden weiterhin hauptsächlich maus- und
    tastaturbasiert bleiben und auf WPF/SL/HTML oder C++ basieren.
                                                 20. September 2011   Folie 16   © Zühlke 2011
Kontakt


          Christian Moser
          Software Architect
          Wiesenstrasse 10a
          CH-8952 Schlieren
          Mail:          christian.moser@zuehlke.com
          Twitter:       moser_christian




                                     20. September 2011   Folie 17   © Zühlke 2011

Roadmap von Microsoft UI-Technologien und Windows 8

  • 1.
    Roadmap von Microsoft’s UITechnologien Christian Moser Software Architect moc@zuehlke.com Folie 1 20. September 2011 Christian Moser © Zühlke 2011
  • 2.
    Aktuelle Microsoft Technologien Folie 2 20. September 2011 Christian Moser © Zühlke 2011
  • 3.
    Windows Presentation Foundation • Teil von .NET 3.0 und höher • Entwicklung in C# und XAML • Vereint 2D, 3D, Reporting, Forms, Multimedia in einem durchgängigen Programmiermodell • Vektorbasierte, hardwarebeschleunigte Grafik Stärken Schwächen  3D Unterstützung  .NET Framework  Maximaler muss installiert sein Funktionsumfang  Erlebt nicht mehr so  Zugriff auf lokale viel Innovation Ressourcen  Läuft nur unter  Office Integration Windows ab XP SP2  Viele Bibliotheken  XBAP im Browser verfügbar nur mässig gut 20. September 2011 Folie 3 © Zühlke 2011
  • 4.
    WPF Roadmap Release: 2012 (Dev Preview verfügbar) WPF 3.0 WPF 3.5 SP1 WPF 4.5 - Erste Version - Bessere UI-Virtualisierung - Ribbon Control - MarkupExtensions für Events - Verbessertes DataBinding 2007 2008 2009 2010 2011 2012 WPF 3.5 WPF 4.0 - XAML 2009 - Windows 7 integration - Visual State Manager - Easing Funcations - Neue Controls - Verbesserter Text - Multitouch 20. September 2011 Folie 4 © Zühlke 2011
  • 5.
    Silverlight • Kleines Browser-Plugin (4MByte) • Für Windows und Mac (IE, Firefox, Chrome, Safari) • Entwicklung in C# und XAML • Läuft in einer Sandbox, die jedoch immer mehr geöffnet wird Stärken Schwächen  Leichtgewichtig  Zugriff auf lokale  Einfache Installation Ressourcen  Cross Platform/ eingeschränkt Browser support  API teilweise noch  Integration in eine Lückenhaft (vergl. WPF) bestehende  Kein 3D (vor Version 5) Webseite 20. September 2011 Folie 5 © Zühlke 2011
  • 6.
    Silverlight Roadmap Release: Q4 2011 (RC verfügbar) Silverlight 1 Silverlight 3 Silverlight 5 - Ohne .NET - Neue UI-Controls - 3D Support - nur Javascript - Out-of-Browser - Mehrere Fenster - keine Controls - RIA Services - p/Invoke - Proof-of-Concept - Perspektive Transform - Vector Printing Release - Breakpoints in Bindings 2007 2008 2009 2010 2011 2012 Silverlight 2 Silverlight 4 - .NET als Codebehind - COM-interop - Basic UI-Controls - Druck API - Netzwerkprotokolle - Rechts-Klick und Mouserad - WebCam und Mic - Lokaler Dateizugriff - Keyboard in Fullscreen - Cross-Domain Networking 20. September 2011 Folie 6 © Zühlke 2011
  • 7.
    ASP.NET • Erstellen dynamischer Webseiten • Entwicklung in C#, HTML, JavaScript, CSS • Wird im IIS gehosted • WebForms (stateful, desktop-like) oder MVC (stateless, web- like) Stärken Schwächen  Nahtlose Integration  Lange Ladezeit mit anderen .NET  Starke Bindung an IIS Technologien  Webforms versucht das  Viele Bibliotheken Desktop-Entwicklung auf verfügbar das Web zu portieren, was  Trennung View/Code nicht immer gut passt.  Gute Toolunterstützung 20. September 2011 Folie 7 © Zühlke 2011
  • 8.
    ASP.NET Roadmap Release: 2012 (Dev Preview verfügbar) ASP.NET 2.0 ASP.NET 3.5 ASP.NET 4.0 ASP.NET 4.5 - Neue Controls - AJAX Support - Dynamic Data - Asynchronität - Master Pages - ListView, DataPager - Browser History - WebSockets - Web Parts - WCF/RSS/JSON - Java-Script combining - Client Scripts minimieren - Skins - Linq - Routing - Anti Cross-Site-Scripting - Pre-Compilation - HTTP Pipelines - Lokalisierung 2007 2008 2009 2010 2011 2012 ASP.NET ASP.NET ASP.NET ASP.NET MVC 1.0 MVC 2.0 MVC 3.0 MVC 4.0 - JQuery Mobile unterstützung - Gerätespezifische Views - Razor Verbesserungen - CSS & JS Bündelung Release: 2012 (Dev Preview verfügbar) 20. September 2011 Folie 8 © Zühlke 2011
  • 9.
    Was wird neumit Windows 8? Folie 9 20. September 2011 Christian Moser © Zühlke 2011
  • 10.
    Windows 8 Apple bekommtKonkurrenz auf dem Tablet-Markt • Kompatibel zu Windows 7 • Neue Touch-Oberfläche • Lauffähig auf ARM-Prozessoren • Batteriesparend und ressourcenarm • Apps und der Windows Store • Integration von Windows Azure • Neuer Lock-Screen, TaskManager und Explorer mit Ribbon • Erscheint in etwa im Q3/2012 20. September 2011 Folie 10 © Zühlke 2011
  • 11.
    Metro-Style Apps • Touch optimiert • Fast and fluid • Inhalt statt Chrome • Live Tiles statt Icons • Vollbild oder Snapped • Verteilung per Windows Store • Laufen in einer Sandbox • Einfacher Datenaustausch durch Contracts • Basierend auf der neuen Windows Runtime 20. September 2011 Folie 11 © Zühlke 2011
  • 12.
    Was ist dieWindows Runtime (WinRT)? • Neues Subsystem in Windows 8 • API für Metro-Style Apps • Native in C++ (COM-ähnlich) • Natürliche Projektion der API in verschiedene Sprachen • Entwicklung mit C#/VB/C++ und XAML oder JS und HTML • WinRT ist jedoch weder WPF noch Silverlight • App-Container isoliert die App und schützt den Benutzer 20. September 2011 Folie 12 © Zühlke 2011
  • 13.
    App Container • Jede App in einer Art «isolierten App Container» • Apps können nicht auf Daten andere Apps zugreifen • Kommunikation über Contracts • Potentiell gefährliche Funktions- aufrufe laufen über Broker • Anwender muss den Zugriff auf die Ressourcen genehmigen • Jede App muss in AppXManifest die benötigten Ressourcen deklarieren • Compiler und Store-Zertifizierung verhindern unerlaubte Aufrufe 20. September 2011 Folie 13 © Zühlke 2011
  • 14.
    Contracts • Apps können miteinander kommunizieren, ohne dass sie voneinander etwas wissen • Dazu gibt es vordefinierte Kontrakte, welche eine App anbieten/konsumieren kann: - Search - Share - Picker Search Search Source Target Windows Twitter Foto Album Runtime Client 20. September 2011 Folie 14 © Zühlke 2011
  • 15.
    Language Projection • Metro-Style Apps unterstützen C++, C#, VB oder JS • Alle Funktionen der WinRT wurden natürlich abgebildet. C# var fp = new FileOpenPicker(); var result = await fp.PickSingeFileAsync(); C++ auto fp = Windows::Storage::Pickers::FileOpenPicker(); auto result = fp->PickSingeFileAsync(); JavaScript var fp = new Windows.Storage.Pickers.FileOpenPicker; fp.pickSingleFileAsync().then(); 20. September 2011 Folie 15 © Zühlke 2011
  • 16.
    Vergleich von Desktop undMetro Metro Apps Desktop Software Haupt-Eingabemedium Touch Maus/Tastatur UI-Style Metro Windows Runtime WinRT .NET/SL/Win32 Verteilung Windows Store Download Webseite Installation .appx Package MSI Systemzugriff Nur über WinRT Voller Zugriff Fazit • Metro Style Apps auf WinRT eignen sich vorwiegend für Consumer- Anwendungen mit viel Inhalt und wenig Dateneingabe. • Business Applikationen werden weiterhin hauptsächlich maus- und tastaturbasiert bleiben und auf WPF/SL/HTML oder C++ basieren. 20. September 2011 Folie 16 © Zühlke 2011
  • 17.
    Kontakt Christian Moser Software Architect Wiesenstrasse 10a CH-8952 Schlieren Mail: christian.moser@zuehlke.com Twitter: moser_christian 20. September 2011 Folie 17 © Zühlke 2011