Dezember 2015

Band 30, Nummer 13

Moderne Apps – Was Sie über die Entwicklung von Windows 10-Anwendungen wissen müssen

Von Rachel Appel | Dezember 2015

Rachel AppelIch habe mir vorgenommen, Ihnen einen Einblick in die Entwicklung von Apps für Windows 10 zu geben, um Ihr Verständnis zu vertiefen und Ihnen zu helfen, die Effizienz beim Entwickeln zu steigern. Zwar betreffen ein paar der hier behandelten Punkte auch den Endbenutzer, aber definitiv sollten Entwickler sich mit ihnen auskennen, sowohl als Benutzer als auch zum Nutzen der von ihnen entwickelten Software.

Visual Studio 2015

Die IDE, die von den meisten Microsoft-Entwicklern verwendet wird, ist Visual Studio. Zu den ersten Änderungen, die Ihnen bei Visual Studio 2015 auffallen werden, zählen das neue, vereinfachte Installationsprogramm sowie die Möglichkeit, sich mit mehreren Konten anzumelden. Das ist toll für die vielen Entwickler, die Vollzeit als Berater in Festanstellung arbeiten und tagsüber das Firmennetzwerk verwenden müssen, während sie abends Apps im Store veröffentlichen.

In der Visual Studio-Installation stehen Tools von Drittanbietern in eindrucksvollem Umfang bereit. Xamarin steht in der Grundkonfiguration zur Verfügung, ebenso sämtliche Software, die für ernsthaftes plattformübergreifendes Entwickeln erforderlich ist. Allerdings müssen Sie sie bei der Installation als Option aktivieren. Über C# mit Xamarin hinaus gibt es Optionen zum Installieren von Java für Android und C-basierte Sprachen sowohl für iOS als auch für Android.

Wie gewöhnlich hat es fast den Anschein, als benötige man fast einen Doktortitel, um die in den verschiedenen Editionen enthaltenen Features verstehen oder auseinanderhalten zu können. Glücklicherweise finden Sie weitere Informationen und eine Möglichkeit zum Vergleichen der Visual Studio 2015-Angebote unter bit.ly/1COm2fP.

Jede neue Version von Visual Studio bringt einen neuen Satz Vorlagen mit. In ASP.NET ermöglichen die Vorlagen jetzt durchgängig in der gesamten ASP.NET MVC 6-App die Erstellung von Websites mit loser Kopplung und Dependency Injection. Der Schwerpunkt bei den im Microsoft Store bereitgestellten Apps liegt deutlich auf dem Konzept der UWP-Apps (Universelle Windows-Plattform), das Entwicklern die Möglichkeit gibt, Apps auf einer gemeinsamen Codebasis für alle Windows-Betriebssysteme und die Geräte, auf denen sie ausgeführt werden, zu entwickeln. Verwenden Sie C#, Visual Basic, JavaScript oder C++, um UWP-Apps zu erstellen. Mehr über UWP-Apps erfahren Sie zu einem späteren Zeitpunkt in dieser Kolumne.

Erfahren Sie mehr über den neuen Edge-Browser

Eine der auffälligsten und am meisten diskutierten Änderungen in Windows ist der Edge-Browser, der mit flüssigem und schnellem Surfverhalten glänzt. Selbst nach kurzer Zeit mit Edge fällt deutlich auf, dass das nicht mehr der althergebrachte Internet Explorer ist. Am Anfang stehen tausende von Verbesserungen am Browserverhalten (bit.ly/­1G49Cwe). Die offensichtlichsten Änderungen sind der schnörkellose Look von Edge, eine mit anpassbaren Inhalten gefüllte Startseite und das allgemeine Aussehen und Verhalten. Abbildung 1 zeigt die Homepage von MSDN Magazine im Edge-Browser unter Windows 10.

Der Edge-Browser mit seiner geschmeidigen, schnörkellosen Oberfläche
Abbildung 1 Der Edge-Browser mit seiner geschmeidigen, schnörkellosen Oberfläche

Zuallererst geht es beim Edge-Browser um Interoperabilität.

Jeder Browser benötigt ein oder mehrere Modul(e), um den HTML-, CSS- und JavaScript-Code zu verarbeiten, aus dem Webseiten heutzutage bestehen. Daher hat das Edge-Team ein neues HTML-Verarbeitungsmodul namens EdgeHTML entworfen. Interoperabilität bietet eine Reihe von Vorzügen, einschließlich der Möglichkeit, HTML-Code zu erstellen, der auf einer großen Bandbreite von Geräten und Formfaktoren gut dargestellt wird und zugleich die nahtlose Entwicklung von plattformübergreifenden Web-Apps zu ermöglichen. Das Team hat in EdgeHTML 45 neue HTML-Standards implementiert (bit.ly/1G49Cwe).

Sie finden das gleiche Chakra-Modul wie in Internet Explorer. Chakra ist sehr schnell und leistungsstark, daher ist es sinnvoll, das Modul beizubehalten und ein paar Optimierungen vorzunehmen. Seine Geschwindigkeit beruht auf einer Reihe verschiedener Faktoren, einer davon ist eine Technik, die als GPU-Offloading (Graphics Processing Unit) bezeichnet wird. Chakra lagert die Verarbeitung von Skripts teilweise auf den Grafikprozessor aus. Das bedeutet, dass Skripts auf dem Grafikprozessor, HTML und Konsorten aber auf dem Zentralprozessor ausgeführt werden, wo die Verarbeitung normalerweise stattfindet. Kaum hatte das Internet Explorer-Team dieses Feature implementiert, begannen die Entwickler anderer Browser, es ebenfalls zu implementieren. Details über die Leistung von Chakra in Edge finden Sie im Windows-Blog (bit.ly/1X0Npt0).

Sie können sich unter bit.ly/1jwFYec in das Edge-Entwicklerhandbuch vertiefen, in dem Sie eine umfassende Darstellung zur Umgestaltung der F12-Tools im Hinblick auf effiziente Verwendung finden. Einige der neuen, spannenden Features sind die Möglichkeit zum Festlegen von XHR-Haltepunkten und zum Anzeigen von Seiten im DOM-Explorer.

Universelle Windows-Plattform

Ein erheblicher Teil des Webverkehrs findet auf Smartphones und Tablets statt, obwohl es auch viele leistungsorientierte Websurfer an Desktops gibt. Websites und -Apps müssen heute unbedingt mehrere Geräte und Formfaktoren unterstützen.

Windows 10 ist die wirklich universelle Windows-Betriebssystemfamilie. Jetzt können Sie eine Codebasis, ein Paket und eine Bereitstellung in einem Store für alle Windows 10-Geräte erstellen und warten. Das umfasst alles, von Smartphones über Tablets und Laptops bis zu Desktopcomputern, Ultrabooks und Servern. Sie nennen es, und eine UWP-App kann darauf ausgeführt werden.

Windows-Benachrichtigungen sind mir neu

Wer hat nicht zu schätzen gelernt, dass uns Smartphones, Computer und andere Geräte an alles und jedes erinnern können, unabhängig von der Wichtigkeit? Der 36. Geburtstag der Schwester der Freundin Ihres Nachbarn? Klar doch! Jetzt können Sie Ihre Benutzer an alle möglichen Dinge im Zusammenhang mit Ihrer App erinnern. Das heißt, wenn der Benutzer das zulässt. Manche Benutzer schalten die Benachrichtigungen aus. Aber wer sie mag, kann Tipps zu Windows sowie systemweite oder App-spezifische Benachrichtigungen in den Systemeinstellungen aktivieren.

Es gibt ein neues Wartungscenter für die Benachrichtigungen Ihrer App, und sein Symbol befindet sich in der unteren rechten Bildschirmecke im Windows-Infobereich. Wenn Sie auf das Benachrichtigungssymbol klicken, wird ein modernes Erweiterungsfenster angezeigt, das für die Touchbedienung ausgelegte Kacheln unterhalb der Liste wartender Nachrichten anzeigt. Benachrichtigungen von Ihrer App werden im Benachrichtigungsbereich angezeigt, natürlich nur, wenn der Benutzer das genehmigt.

Der Code zum Erstellen von Benachrichtigungen ist im Wesentlichen gleich geblieben, der Ort und die Weise der Darstellung werden aber von Windows gesteuert. Natürlich können Sie Aussehen und Verhalten bis zu einem gewissen Grad anpassen, indem Sie eine der vielen vordefinierten Benachrichtigungsvorlagen auswählen. Es stehen so viele zur Wahl, dass es kein Problem sein dürfte, eine zu finden, die Ihren Bedürfnissen entspricht:

ToastTemplateType toastTemplate = ToastTemplateType.ToastImageAndText01;
XmlDocument toastXml =
  ToastNotificationManager.GetTemplateContent(toastTemplate);

Weitere Informationen finden Sie im MSDN Library-Artikel „Verwenden von Kacheln, Signalen und Popupbenachrichtigungen (XAML)“ unter bit.ly/1LPogJw.

Sprechen Sie mit Cortana

Seit Windows Phone kennt die Welt Cortana. Cortana ist der sprachfähige digitale Assistent von Microsoft, der Ihnen das Ausführen einer Reihe von Aufgaben mithilfe von Sprachbefehlen ermöglicht – etwa das Planen von Terminen, das Anfordern einer Wegbeschreibung oder das Abrufen von Nachrichten und Wetterbericht. Cortana kann Sie bei vielen Alltagstätigkeiten unterstützen. Eine so wertvolle und nützliche Software verdient ein SDK, und in Windows 10 gibt es neue Features, wie Hintergrundsprachbefehle und fortlaufendes Diktieren. Mithilfe des Sprach-SDKs können Sie sogar Text-zu-Sprache-Funktionen (TTS) aktivieren. Die Verwendung von Sprachbefehlen und Spracherkennungstechnologie ist eine hervorragende Möglichkeit, ein qualitativ höherwertiges Produkt mit einer nicht ausschließlich visuellen Benutzeroberfläche zu erstellen.

Zum Erstellen von Windows-Apps mit Sprachunterstützung erstellen und registrieren Sie VCD-Dateien (Sprachdefinitionsdateien, Voice Definition Files), in denen die in Ihrer App verfügbaren Befehle, Wörter und Sätze aufgelistet sind, ganz wie in früheren Versionen von Windows und Visual Studio. Anschließend können Sie Ihre App in C#, JavaScript oder einer beliebigen anderen Sprache erstellen und diese Befehle von Cortana in die gesprochene Form übersetzen lassen. Der Code ist recht einfach und sieht so ähnlich aus wie das Beispiel in Abbildung 2, bei dem das OnActivated-Ereignis überschrieben wird, um festzustellen, welcher Befehl ausgegeben wurde, damit die App eine Aktion ausführen kann.

Abbildung 2 Inhalt einer VCD-Datei und begleitender C#-Code

<?xml version="1.0" encoding="utf-8"?>
<VoiceCommands xmlns="https://schemas.microsoft.com/voicecommands/1.0">
  <CommandSet xml:lang="en-us">
    <CommandPrefix> Options </CommandPrefix>
    <Example> Show Options</Example>
    <Command Name="showOptions">
      <Example> Show options </Example>
      <ListenFor> [Show] {optionViews} </ListenFor>
      <Feedback> Showing {optionViews} </Feedback>
      <Navigate Target="/options.xaml"/>
    </Command>
    <PhraseList Label="optionViews">
      <Item> today's specials </Item>
      <Item> best sellers </Item>
    </PhraseList>
  </CommandSet>
  <!-- Other CommandSets for other languages -->
</VoiceCommands>
protected override void OnActivated(IActivatedEventArgs args)
  {
    if (args.Kind ==
      Windows.ApplicationModel.Activation.ActivationKind.VoiceCommand)
    {
      var commandArgs =
        args as Windows.ApplicationModel.Activation.VoiceCommandActivatedEventArgs;
        Windows.Media.SpeechRecognition.SpeechRecognitionResult
      speechRecognitionResult =
        commandArgs.Result;
      string voiceCommandName = speechRecognitionResult.RulePath[0];
      string textSpoken = speechRecognitionResult.Text;
      string navigationTarget =
        speechRecognitionResult.SemanticInterpretation.
        Properties["NavigationTarget"][0];
      switch (voiceCommandName)
      {
        case "showOptions":
          // EventReminder(textSpoken, navigationTarget);
          break;
        // default:
        // There is no match for the voice command name
      }
    }
  }

Der Windows Store

Der neue Windows-Store bietet jedem etwas. Administratoren in Unternehmen bietet der Windows Store die Möglichkeit, Apps für ihre Mitarbeiter ins Rampenlicht zu rücken. Sie können sogar ausgewählte Apps aus dem Windows Store verteilen, um private Branchenanwendungen bereitzustellen. Darüber hinaus stellen Kaufaufträge (POs) jetzt eine akzeptierte Zahlungsmethode dar. In Windows 10 bietet der Store jetzt Abonnements als zusätzliche Monetarisierungsoption.

Als Teil der Updates am Store unterstützt das Microsoft Adver­tising SDK in Windows 10 jetzt Video-Anzeigen. Einige Marketingexperten behaupten, dass Video und Multimedia bessere Verkaufsergebnisse generieren als Text, und Sie können diese Hypothese jetzt in Ihrer App selbst auf die Probe stellen. Da Microsoft die Nachverfolgung von Installationen als neues Feature angekündigt hat, haben Sie jetzt glücklicherweise die Möglichkeit, das zu tun.

Continuum

Bei diesen ganzen UWP-App-Entwicklungen geht es aber nicht nur um geräteübergreifende Benutzeroberflächen. Continuum in Windows 10 erkennt es, wenn Sie auf multifunktionalen Geräten den Nutzungsmodus wechseln möchten. Denken Sie an Lilly König, eine Benutzerin auf einem Flug, die auf ihrem Surface im Desktopmodus gearbeitet hat und sich jetzt einen Film ansehen möchte. Lilly König wechselt mühelos zwischen Desktop- und Tabletmodus, indem sie einfach die Tastatur trennt. Windows bemerkt das und fragt, ob sie zu einem mehr für Touchbedienung optimierten Szenario wechseln möchte. König tippt auf „Ja“, Windows schaltet auf einen touchoptimierten Modus um, und sie genießt ihren Film, ohne dass die lästige Tastatur oder Maus sie stört. Wie Sie sehen, eignet sich Continuum prima für Surfaces, hybride oder konvertierbare Laptops/Tablets und alle möglichen multifunktionalen Geräte. Selbst auf einem Laptop mit Touchscreen, aber ohne Konvertierungsfeature, macht sich Continuum beim Wechseln der Modi positiv bemerkbar. Und nicht nur die großen Geräte können von Continuum profitieren. Continuum für Smartphones ermöglicht dem Benutzer, Ihre Apps wie Desktop-Apps zu verwenden, wenn das Smartphone mit einer drahtlosen Tastatur, einer Maus und einem Bildschirm verbunden wird. Dank der vielen in Gebrauch befindlichen Geräte in Phabletgroße, herrscht sicher kein Mangel an guten Einsatzzwecken für Continuum.

Ein neuer/s Start (Menü)

Definitiv die offensichtlichste Änderung und wahrscheinlich eine der am meisten diskutierten ist das Windows-Startmenü. Es gibt sozusagen ein paar „Sorgenkinder“ in der Computergeschichte, und das Windows-Startmenü zählt ganz sicher dazu. Mit jeder neuen Windows-Version melden sich Leute, die fast jede Änderung am Windows-Startmenü begrüßen, und genau so viele, die sie ablehnen. Als die neue Oberfläche in Windows 8 eingeführt wurde, lobten viele das neue Design in den höchsten Tönen, aber viele hingen am alten Paradigma und verweigerten sich dem Wandel. Jetzt, in Windows 10, gibt es einige sehr grundlegende Änderungen am Startmenü.

Die jetzige Lösung mit den Kacheln im Startmenü stellt es ein viel besseres Konzept als zuvor dar, außerdem war der Workflow, der sich durch den Wechsel zwischen Desktop und Startseite ergab, ziemlich turbulent. Zusammen mit Continuum ergeben sich jetzt ein besseres und leistungsfähigeres Startmenü und eine Startseite, die nur dort zum Einsatz kommt, wo sie sinnvoll ist – auf Geräten mit Touchbedienung, wie Tablets, Smartphones usw. Wenn Sie Tastenkombinationen vorziehen, vergessen Sie nicht, dass die Windows-Taste schon eine ganze Zeit lang auf der Tastatur vorhanden ist. Sie können beginnen, den Namen Ihrer App oder Ihrer gewünschten Aktion einzugeben, dann sucht Windows die App oder führt die gewünschte Aktion aus.

Passen Sie sich an Adaptive UX an

Adaptive Entwicklung spielt in der Windows-Betriebssystemfamilie konzeptionell eine ähnliche Rolle wie responsive Design für das Web. Allerdings zielt Adaptive Development auf ganze Gerätefamilien ab, während Responsive Design auf Größenklassen von Bildschirmen abzielt. Es war unmöglich, mit der explosiven Entwicklung verschiedener Geräte auf dem Markt Schritt zu halten. Manche fühlen sich beim Kauf eines neuen Smartphones in einem Dschungel aus Details gefangen. Können Sie sich vorstellen, wie das erst wäre, wenn sie Software für alle diese Geräte entwickeln müssten? Glücklicherweise erkennt Windows 10, auf welchem Gerät die App zur Laufzeit ausgeführt wird oder wie der Benutzer die App verwendet, und passt das UX entsprechend an. Das bedeutet, dass die Größe von Elementen wie Flyouts oder anderen Steuerelementen automatisch angepasst oder je nach Auflösung eine kleinere oder größere Schriftart gewählt werden kann. Lesen Sie vor dem Entwerfen einer adaptiven Lösung unbedingt den MSDN Library-Artikel „Einführung der Geräte für Universal Windows Platform (UWP)-Apps“ unter bit.ly/1MpspVh.

Eine Windows-Plattform

Eins der wirklich herausragenden Features von Windows 10 ist die Einführung von UWP-Apps. Eine UWP-App ist eine App, die Sie auf allen Windows-Betriebssystemen bereitstellen können, alles aus einer einheitlichen Codebasis! Normalerweise funktioniert diese Strategie nur für das Back-End und die Programmlogik; aber auch das Erstellen der Benutzeroberfläche stellt sich viel geradliniger dar. Das hat den Grund, dass Sie, statt verschiedene Betriebssysteme anzuzielen und mehrere Versionen des gleichen UI-Codes zu erstellen, ganze Gerätefamilien zur Zielplattform haben, sodass das Erstellen der Benutzeroberfläche weniger Aufwand verursacht. Wenn Sie jedoch nur auf ein bestimmtes Betriebssystem als Zielplattform hinsteuern, können Sie auch das tun. Andernfalls erstellen Sie die Benutzeroberfläche so, dass sie gut mit einer minimalen und maximalen Gerätegröße funktioniert, die Gerätefamilien mithilfe von Continuum anpassen. Es gibt verschiedene Änderungen an APIs und Steuerelementen in XAML sowie in der Windows-Bibliothek für JavaScript (WinJS). Insbesondere XAML glänzt mit einem neuen Kalendersteuerelement und neuen adaptiven Bedienfeld-Steuerelementen, in die Sie Ihre Kalender einfügen können.

Als Entwickler können Sie sich den Vorteil zunutze machen, in Visual Studio nur mit einer Projektmappe zu arbeiten, dank der zugrundeliegenden Codebasis, der One Windows Platform. Dieses Modell einer einzelnen Projektmappe ermöglicht dank der adaptiven Steuerelemente und Technologien die Anpassung an die verschiedenen Gerätefamilien mit wenig oder keinem zusätzlichem Code.

Zusammenfassung

Windows entwickelt weiterhin neue Konzepte für die UX-Landschaft, um Benutzern zu geben, wonach sie suchen. Es gibt viele neue und interessante Features, die Sie in Ihre Apps integrieren können, wie etwa Änderungen an den APIs und Steuerelementen. Sprache wird als Eingabeverfahren leicht übersehen. Den Fehler sollten Sie nicht machen und Cortana für Ihre nächste App im Blick behalten. Vom Windows Store bis zu Visual Studio, Windows 10 löst die Versprechen zu geradliniger Entwicklung und UX ein.


Rachel Appel* ist Beraterin, Autorin, Mentorin und frühere Microsoft-Mitarbeiterin mit über zwanzigjähriger Erfahrung in der IT-Branche. Sie nimmt an wichtigen Branchenkonferenzen wie Visual Studio Live!, DevConnections und MIX als Rednerin teil. Ihr Fachbereich ist die Entwicklung von Lösungen, bei denen geschäftliche und technologische Aspekte in Einklang gebracht werden und in denen führende Microsoft- und offene Webtechnologien zum Einsatz kommen. Besuchen Sie Rachel Appel auf ihrer Website unter rachelappel.com.*

Unser Dank gilt dem folgenden technischen Experten bei Microsoft für die Durchsicht dieses Artikels: Frank La Vigne