Moderne Apps

Erstellen von Windows Store-Apps mit HTML5 und JavaScript

Rachel Appel

Rachel AppelBill Gates’ Traum von einem Computer auf jedem Schreibtisch und in jedem Zuhause ist Wirklichkeit geworden, und Geräte wie das neue Surface-Tablet führen diesen Traum sogar darüber hinaus. Neben dem Surface-Tablet gab es einen Boom mit neuen verbraucherorientierten Geräten in allen möglichen Ausführungen. Mit anderen Worten, Computer sind allgegenwärtig.

Auf diesen Computern sind weltweit mehr als 1 Milliarde Windows-Installationen vorhanden, wobei in den vergangenen zwei Jahren jährlich 300 Millionen Windows 7-Lizenzen verkauft wurden. Die Kombination der aktuellen, upgradefähigen Windows-Installationsbasis mit dem schnell wachsenden Markt für Windows 8-Geräte wie dem Surface ist die Formel für eine erfolgreiche Monetarisierung. Dies ist Windows in neuem Gewand – die vollkommen neue Chance für Sie, mit dem Veröffentlichen von Apps im Windows Store Gewinne zu erzielen.

Plattform, Sprache und Tools zum Erstellen von Windows Store-Apps

Zum Erstellen einer Windows Store-App benötigen Sie Windows 8, Visual Studio 2012 und beliebige SDKs, die spezifisch für die Anforderungen Ihrer App sind, zum Beispiel das Windows Live SDK oder Bing Maps SDK. Mit dieser Minimaleinrichtung und -konfiguration des Systems wird die Entwicklung von Apps unter Windows 8 von der Installation bis zur Bereitstellung einfach.

Sobald Sie die erforderliche Software installiert haben, ist es Zeit, eine Sprache auszuwählen. Wenn Sie aus der Entwicklung im Microsoft-Bereich kommen und als Microsoft .NET Framework-Entwickler Windows Forms-, Windows Presentation Foundation (WPF)- oder Silverlight-Apps mit C# oder Visual Basic geschrieben haben, erstellen Sie Windows Store-Apps am einfachsten mit XAML und C# oder Visual Basic. C++-Entwickler können auch C++ als kompilierte Sprache in Begleitung von XAML für die grafische Benutzeroberfläche verwenden.

Wenn Sie Webentwickler sind, ASP.NET eingeschlossen, können Sie Ihre vorhandenen Kenntnisse des offenen HTML5-Standards, von JavaScript und CSS3 direkt in die Entwicklung von Windows Store-Apps einbringen. Beliebte JavaScript-Bibliotheken von Drittanbietern, wie jQuery oder Knockout, können von den Webentwicklern weiterverwendet werden. Für diesen Artikel entscheide ich mich für JavaScript als Sprache meiner Wahl.

Welchen Hintergrund für die Entwicklung Sie auch haben, die Einstiegsschwelle beim Entwickeln systemeigener Windows 8-Apps ist niedrig. Der Grund hierfür liegt darin, dass die Windows-Runtime (WinRT) eine Plattform ist, die APIs enthält, die auf den Windows-Kerndiensten aufgesetzt werden, wie in Abbildung 1 dargestellt.

Architecture of Windows Store Apps
Abbildung 1: Architektur von Windows Store-Apps

Über die WinRT-APIs erhalten Sie Zugriff auf das gesamte Angebot von Windows 8, einschließlich APIs für Hardware wie integrierte Webcams, geografische Standorte, Lichtsensoren und Beschleunigungsmesser. Natürlich sind auch Plattformgrundlagen wie Speicherverwaltung, Authentifizierung, Globalisierung und asynchrone Verarbeitung direkt verfügbar, ebenso wie Features für Windows Store-Apps, zum Beispiel Suche, Freigabe und Kommunikation. Es gibt sogar APIs zum Verändern von Audio und Video. Wenn Sie allerdings JavaScript-Apps schreiben, funktionieren die <audio>- und <video>-Elemente aus HTML5 ausgezeichnet. Sie können die gesamte API auf der Seite „API-Referenz für Windows Store-Apps“ unter bit.ly/ZCwcJE durchsuchen.

Grundsätze einer Windows Store-App

Windows Store-Apps füllen den gesamten Bildschirm mit Inhalt aus, sodass die Benutzer nicht von der App oder ihren Steuerelementen abgelenkt werden. Durch die geordnete, direkte Visualisierung von Daten können sich die Benutzer auf den Inhalt konzentrieren.

Windows Store-Apps können untereinander kommunizieren, wie es traditionelle Windows- oder Webanwendungen vorher nicht konnten. Freigabe, Suche und Kommunikation miteinander findet auf einfache, einheitliche Weise mithilfe von Elementen der Windows-Runtime statt, die Verträge genannt werden und als Verbindungen dienen.

Eine wichtiger Faktor bei der Entwicklung von Windows Store-Apps ist die große Benutzerfreundlichkeit, von der Darstellung und dem Layout bis zur Navigation und der Leistung der App. Die Benutzer erwarten, dass verschiedene Apps sowie Apps und das Betriebssystem konsistente Merkmale aufweisen. Windows Store-Apps zeichnen sich besonders durch ihre Benutzerfreundlichkeit aus. Der Komfort der Benutzer beim Verwenden der App wird erhöht, wenn Sie die Entwurfsprinzipien beachten, zum Beispiel die Verwendung einer einheitlichen Schriftart, der Windows-Silhouette für die grafische Benutzeroberfläche und eines skalierbaren Rastersystems. Diese Prinzipien gelten durchgängig für die Apps und Windows 8 selbst.

Den Benutzern stehen heute viele Methoden der Interaktion (per Maus, Stift, Finger, Kameras und Sensoren) mit ihren unterschiedlichen Computern und Geräten zur Verfügung. Sowohl die Finger- als auch die Mauseingabe müssen daher unbedingt verlässlich und konsistent funktionieren.

Da sich batteriebetriebene Geräte mit Prozessoren wie ARM immer weiter verbreiten und damit an Bedeutung zunehmen, muss Windows 8 den Gesamtspeicher und den Speicher pro App strikt verwalten, um sogar bei geringen Ressourcen eine schnelle und flüssige Ausführung zu ermöglichen. Für Windows 8-Apps gilt ein direkter und einfacher Prozesslebenszyklus, um die beste Benutzererfahrung zu gewährleisten.

Viele Apps funktionieren gut als Windows Store-App, aber nicht jede App ist ein guter Kandidat. Visual Studio selbst zum Beispiel integriert viele moderne Entwurfsprinzipien für die grafische Benutzeroberfläche, verfolgt aber das Ziel, dass die Benutzer Befehle ausführen können (mit anderen Worten, Programmierung). Das ist für eine Windows Store-App nicht gut geeignet.

Projektvorlagen für Windows Store-Apps in Visual Studio 2012

In Visual Studio 2012 wurde eine Reihe neuer Vorlagen für die Entwicklung von Windows Store-Apps in C#, Visual Basic, C++ und JavaScript eingeführt. Unabhängig von der Sprache sind die folgenden Vorlagenstile verfügbar:

  • Leer: Eine minimale Vorlage mit den mindestens zur Erstellung einer Windows Store-App erforderlichen Dateien.
  • Raster: Diese Vorlage zeigt ein Raster an, welches die Windows 8-Silhouette für die Benutzeroberfläche zusammen mit Vorlagencode für verschiedene Features einschließlich Navigation und Unterstützung der angedockten Ansicht verwendet (dazu später mehr). 
  • Geteilt: Eine Vorlage, die eine Liste von Elementen und Elementdetails in einer zweispaltigen Ansicht anzeigt, wodurch die Benutzer schnell zwischen den Elementen wechseln können.
  • Festes Layout: Eine leere Vorlage, die auf der Seite „default.html“ ein ViewBox-Objekt verwendet. „ViewBox“ ist ein in Spielen genutztes WinRT-Objekt.
  • Navigation: Eine Vorlage mit einer leeren Projektstruktur plus einer Navigation und einem Satz grundlegender App-Dateien „home.html“, „home.js“ und „home.css“) im /home-Verzeichnis.

Die Raster-Projektvorlage eignet sich perfekt zum Schreiben der ersten Windows Store-Apps, da sie Code für viele hervorragende Windows 8-Features enthält, wie die Unterstützung der angedockten Ansicht, die Bildschirmskalierung und die Navigation.

Wenn Sie eine neue JavaScript-Raster-Projektvorlage erstellt haben, zeigt deren Struktur ein Projekt mit standardmäßigen Webdateitypen (wie HTML, CSS und JS-Dateien), die in Verzeichnissen im Projektstamm vorliegen. Sie können anschließend F5 drücken oder im Menü „Debuggen“ die Option „Debugging starten“ auswählen, um die Windows Store-App zu debuggen und auszuführen.

In den Vorlagen für Windows Store-Apps ist „default.html“ die Startseite für eine Windows Store-App und wird von der Skriptdatei „/js/default.js“ begleitet, die grundlegenden Verwaltungscode für den Prozesslebenszyklus enthält. Die Datei „default.html“ enthält Code wie jede andere HTML-Datei auch, einschließlich Skriptverweise und neuen semantischen HTML5-Markupcode, der die Seitenstruktur definiert. Der folgende Codeabschnitt ist in „default.html“ im body-Tag enthalten und verwendet WinJS-Steuerelemente für die Navigation und zum Laden der Seite „groupedItems.html“:

    <div id="contenthost"
      data-win-control="Application.PageControlNavigator"
      data-win-options=
      "{home: '/pages/groupedItems/groupedItems.html'}"></div>

Die data-*-Attribute sind die HTML5-Methode, um benutzerdefinierten Code oder benutzerdefiniertes Verhalten auf ein HTML-Element anzuwenden. Bei der Entwicklung von Windows Store-Apps verweisen data-win-*-Attribute normalerweise auf JavaScript-Steuerelemente für Windows. JavaScript-Steuerelemente für Windows sind integrierte Windows-Runtime-Komponenten (WinRT), die Sie auf HTML-Elemente anwenden, um deren Verhalten oder Stil zu ändern oder zu verbessern. Data-win-*-Attribute sind in Windows Store-JavaScript-Apps weit verbreitet, insbesondere bei der Datenbindung.

Datenzugriff in Windows Store-Apps

Als Teil der Rastervorlage enthält die Datei „data.js“ im /js-Verzeichnis Code, der ein Dataset mit Arrays und Funktionen erstellt, mit denen die Daten gruppiert und verändert werden. Die Datei „data.js“ enthält auch Beispieldaten, die Sie mit eigenen Daten ersetzen sollten. Ich nutze in diesem Artikel Daten für eine Countdown-App, die die verbleibende Anzahl von Tagen bis zu einem Ereignis angezeigt, z. B. einem Feiertag oder Urlaub.

In der „data.js“-Datei finden Sie den einzigen „// TODO“-Kommentar kurz nach dem Dateianfang. Ersetzen Sie den Code unter dem Kommentar durch Ihren eigenen, sodass der Code in etwa dem folgenden Codeausschnitt gleicht. Dieser Codeausschnitt ruft „XMLHttpRequest“ zum Abrufen von JSON-Daten auf und erstellt dann ebenfalls das Dataset, das auch dynamische Eigenschaften wie die daysToGo- und message-Felder umfasst:

var list = new WinJS.Binding.List();
...
WinJS.xhr({ url: "data.json" }).then(function (xhr) {
  var items = JSON.parse(xhr.responseText);          
  items.forEach(function (item) {
    item.daysToGo = Math.floor(
      (Date.parse(item.eventDate) - new Date()) / 86400000);
    item.message = item.daysToGo + " days until " + item.title;
    if (item.daysToGo >= 0) {
      list.push(item);
    };
  })
})

Am Anfang von „data.js“ befindet sich eine Codezeile, mit der eine Liste, WinJS.Binding.List-Objekt, instanziiert wird, und der vorhergehende Code fügt dieser Liste einzelne Elemente hinzu.

Das List-Objekt ermöglicht die Bindung zwischen JSON-Daten oder JavaScript-Arrays und HTML-Elementen. Wenn die Listenvariable mit Daten aufgefüllt ist, verwenden Sie Bindungsausdrücke im HTML-Markupcode, um die List-Member den HTML-Elementen hinzuzufügen.

Wenn Sie JSON-Daten lesen, indem Sie „JSON.parse“ aufrufen, entsprechen die Namen in Namen-Wert-Paaren Eigenschaften von JavaScript-Objekten zur Laufzeit. Die folgenden JSON-Daten zeigen, wie die JSON-Struktur den Membern der Elementvariablen im vorhergehenden Codeausschnitt zugeordnet ist. Die key-, title-, eventDate-, image-, color- und group-Felder sind alle den Eigenschaften des Elementobjekts zugeordnet:

    [{"key":"1","group":{"key":"group1","title":"Important Dates"},
    "title":"Rachel's Birthday","eventDate":"01/13/2013",
    "image":"/images/birthday.png","color":"#6666FF"},
    {"key":"2","group":{"key":"group1","title":"Important Dates"},
    "title":"Ada Lovelace Day","eventDate":"10/16/2013",
    "image":"/images/ada.jpg","color":"#fff"},
    {"key":"3","group":{"key":"group2","title":"Holidays"},"title":"Christmas",
    "eventDate":"12/25/2013","image":"/­images/­tree.png","color":"#ef0d0d"},
    {"key":"4","group":{"key":"group3","title":"School"},"title":"School Ends","eventDate":"6/10/2013","image":"/images/schoolbus.png","color":"#fff"},
    {"key":"5","group":{"key":"group2","title":"Holidays"},"title":"Thanksgiving",
    "eventDate":"11/29/2012","image":"/­images/­thanksgiving.png","color":"#FFCC00"},
    {"key":"6","group":{"key":"group2","title":"Holidays"},"title":"New Year's Day", "eventDate":"1/1/2013","image":"/images/celebrate.png","color":"#f8baba"}]

Nachdem Sie nun die Daten geladen haben, müssen Sie sicherstellen, dass das List-Objekt an die richtigen HTML-Elemente gebunden ist. Die Änderungen an der Seite „/pages/groupedItems/groupedItems.html“ in Abbildung 2 zeigen die Datenbindung in Aktion.

Abbildung 2: Datenbindung des List-Objekts an HTML-Elemente mit WinJS-Steuerelementen

    <!-- These templates are used to display each
      item in the ListView declared below. -->
    <div class="headertemplate" data-win-control="WinJS.Binding.Template">
      <button class="group-header win-type-x-large win-type-interactive"
        data-win-bind="groupKey: key"
        onclick="Application.navigator.pageControl.navigateToGroup(
          event.srcElement.groupKey)"
          role="link" tabindex="-1" type="button">
        <span class="group-title win-type-ellipsis"
          data-win-bind="textContent: title"></span>
        <span class="group-chevron"></span>
      </button>
    </div>
    <div class="itemtemplate" data-win-control="WinJS.Binding.Template" >
      <div id="myitem" class="item"
        data-win-bind="style.background: color">
        <img class="item-image" src="#"
          data-win-bind="src: image; alt: title" />
        <div class="item-overlay">
        <h2 class="item-title" data-win-bind="innerText: message"></h2>
          <h6 class="item-subtitle"
            data-win-bind="textContent: eventDate"></h6>
        </div>
      </div>
    </div>
    <!-- The content that will be loaded and displayed. -->
    <div class="fragment groupeditemspage">
      <header aria-label="Header content" role="banner">
        <button class="win-backbutton" aria-label="Back"
           disabled type="button"></button>
        <h1 class="titlearea win-type-ellipsis">
          <span class="pagetitle">How long until...</span>
        </h1>
      </header>
        <section aria-label="Main content" role="main">
          <div id="listView" class="groupeditemslist"
            aria-label="List of groups"
            data-win-control="WinJS.UI.ListView"
            data-win-options="{  selectionMode: 'multi',
            tapBehavior:'toggleSelect' }"></div>
        </section>
    </div>

Jedes HTML-Element in Abbildung 2, das ein data-win-bind-Attribut enthält, besitzt einen Bindungsausdruck, der dem Eigenschaftennamen der Elementvariablen aus dem vorhergehenden Codeausschnitt zugeordnet ist. Sie müssen also nur sicherstellen, dass die Bindungsausdrücke den Feldnamen entsprechen. Denken Sie daran, auch die Bindungsausdrücke auf den Seiten „groupedDetail.html“ und „itemDetails.html“ zu verändern, damit die richtigen Daten angezeigt werden, wenn ein Benutzer dorthin navigiert.

Wenn Sie das Projekt in Windows Simulator ausführen, erhalten Sie ein Ergebnis wie in Abbildung 3. (Weitere Informationen zur Verwendung des Simulators finden Sie unter bit.ly/M1nWOY)

Replace the Sample Data to Make a Basic AppAbbildung 3: Ersetzen der Beispieldaten zum Erstellen einer grundlegenden App

Wie Sie sehen, können Sie einfach den Code aus der Visual Studio-Vorlage ersetzen, um schnell auf Daten zuzugreifen. Projekte sind allerdings häufig recht umfangreich oder komplex, was ihre Verwaltung erschwert. Wenn dies zutrifft, erleichtern Sie die Verwaltung, indem Sie das Model-View-ViewModel (MVVM)-Muster verwenden, zu dem Sie im Web sehr detaillierte Informationen finden.

Da Ihre App nun funktioniert, ist es an der Zeit, die vielen großartigen Windows 8-Features zu berücksichtigen, durch die Ihre App sich von anderen abheben kann.

Branding einer Windows Store-App

Der zentrale Punkt von Windows 8 ist die Startseite. Es ist daher sinnvoll, hier mit der markenbezogenen Gestaltung zu beginnen. Die Startseite ist mit Live-Kacheln gefüllt, und dabei handelt es nicht etwa einfach um quadratische Symbole. Live-Kacheln sind die beste Methode, die App ansprechend zu präsentieren und Benutzer auf sie aufmerksam zu machen. Live-Kacheln heißen so, weil in Ihnen dynamisch Informationen und Bilder angezeigt werden können, was Ihre App noch zugkräftiger macht.

Für Windows Store-Apps sind drei separate Kachelbilder mit den folgenden Pixelabmessungen erforderlich:

  • Logo: 150 x 150 (Standardkachel)
  • Breites Logo: 150 x 310 (breite Kachel)
  • Kleines Logo: 30 x 30 (wird nur im Store in der Liste mit Apps angezeigt)

Die Bilder können in einem beliebigen gängigen Bildformat vorliegen und funktionieren am besten, wenn sie einen transparenten Hintergrund haben. Öffnen Sie die Datei „package.appxmanifest“ im Stamm des Projekts, um die Konfigurationspalette zu erhalten, und wählen Sie die Kachelbilder und Hintergrundfarben aus. Abbildung 4 zeigt eine Standardkachel und eine breite Kachel.

Countdown App Standard and Wide TilesAbbildung 4: Standardkachel und breite Kachel der Countdown-App

Die Einrichtung der Kacheln ist ein guter Zeitpunkt, den Begrüßungsbildschirm zu konfigurieren. Dazu wählen Sie nur ein Bild und eine Hintergrundfarbe aus, Code wird nicht benötigt. Die Kacheln und der Begrüßungsbildschirm sind wichtige Faktoren beim Branding Ihrer App, aber Sie können noch viel mehr tun, um Ihre App markenbezogen und noch schöner zu gestalten. Weitere Informationen dazu finden Sie unter bit.ly/M4HYmL.

Unverzichtbare Windows 8-Features für Apps

Auch wenn Ihre App an diesem Punkt funktioniert, gibt es viele neue Features und APIs im Windows 8-App-Ökosystem, mit deren Hilfe sich Ihre App eindrucksvoll abheben kann. Im Folgenden gehe ich kurz auf die einzelnen Features ein.

App-Leiste Ein wesentliches Feature für jede App ist die App-Leiste, ein WinJS-Steuerelement in „default.html“. App-Leisten sind normalerweise nicht zu sehen, aber wenn die Benutzer mit der rechten Maustaste klicken oder eine Streifbewegung mit dem Finger vom oberen bzw. unteren Bildschirmrand machen, wird die App-Leiste als eine Leiste am unteren Bildschirmrand angezeigt. Abbildung 5 zeigt den Markupcode für eine App-Leiste. Der Code enthält drei Schaltflächen und deren entsprechende Ereignislistener.

Abbildung 5: Eine App-Leiste mit Schaltflächen zum Hinzufügen, Löschen und Exportieren von Daten

    // AppBar markup in default.html
    <div id="appbar" data-win-control="WinJS.UI.AppBar">
      <button data-win-control="WinJS.UI.AppBarCommand"
        data-win-options="{id:'addItem', label:'Add',
        icon:'add', section:'global'}" type="button"></button>
      <button data-win-control="WinJS.UI.AppBarCommand"
        data-win-options="{id:'exportData', label:'Save',
        icon:'save', section:'global'}" type="button"></button>
      <button data-win-control="WinJS.UI.AppBarCommand"
        data-win-options="{id:'deleteItem', label:'Delete',
        icon:'delete', section:'selection'}" type="button"></button>
    </div>
    // Script in groupedItems.js
    document.getElementById("exportData").addEventListener("click", Data.exportData);
    document.getElementById("addItem").addEventListener("click", this.addItem);
    document.getElementById("deleteItem").addEventListener("click", this.deleteItem);

Platzieren Sie globale Befehle für App-Leisten auf der rechten Seite der App-Leiste und Kontextbefehle auf der linken Seite. Formatieren Sie die App-Leiste mit CSS, da dies nur ein div-Tag ist.

Angedockte Ansicht Windows Store-Apps können im Vollbildmodus oder einem Modus namens angedockte Ansicht ausgeführt werden, in den gewechselt wird, wenn die Benutzer die App auf der rechten oder linken Seite des Bildschirms „anheften“. Die App verfügt jetzt nur über einen kleinen Platz auf dem Bildschirm und sollte daher nur notwendige Daten anzeigen.

Da die Rastervorlage die angedockte Ansicht unterstützt, müssen Sie überprüfen, dass die Daten im angedockten Zustand gut angezeigt werden und somit relevante, lesbare Informationen geboten werden. Die App-Leiste bleibt aktiv, während die App im angedockten Zustand ist, was dazu führen kann, dass Formate angepasst werden müssen.

Semantischer Zoom Dieses neue, für Fingereingaben optimierte Feature in Windows 8 dient dazu, große Mengen von Daten in einer einzelnen, einfach erfassbaren Ansicht darzustellen. Die Benutzer können den semantischen Zoom mithilfe der folgenden Methoden aufrufen:

  • Fingereingabe: Bewegungen für Zusammendrücken und Aufziehen
  • Maus: STRG + Mausrad
  • Tastatur: STRG - und STRG +

Der semantische Zoom macht nicht einfach eine Zoomansicht der Daten verfügbar, sondern dient eher dazu, Daten auf eine sinnvolle Weise zu visualisieren, die die Navigation erleichtert. Bei großen Datenmengen können die Benutzer besser eine Vogelperspektive nutzen, als einen Bildlauf durch Unmengen von Informationen durchzuführen. Überlegen Sie, wie die Daten am sinnvollsten dargestellt werden können.

Suche und Freigabe Suchen und Freigeben von Daten zwischen Apps sind Kernaspekte der modernen Apps. Die Benutzer können jetzt mehrere Apps gleichzeitig durchsuchen und die gefundenen Daten anschließend freigeben. Oder die App kann sich als Freigabeziel registrieren und Daten annehmen, die Benutzer aus anderen Windows Store-Apps heraus freigeben. Nie zuvor war die Kommunikation zwischen Apps so direkt und einheitlich.

Steuerelemente für die Auswahl Dies sind traditionelle Windows-Steuerelemente, die für eine moderne Benutzeroberfläche aktualisiert wurden, wie beispielsweise die Dateiöffnungsauswahl oder die Dateispeicherungsauswahl, oder Dialogfelder für Druckeinstellungen, die schon seit vielen Versionen zu Apps für Windows gehören.

Medien Da mit JavaScript erstellte Windows Store-Apps HTML5 vollständig unterstützen, funktionieren die <audio>- und <video>-Elemente genauso wie auf normalen Webseiten. 

Toastbenachrichtigungen Mithilfe von Toastbenachrichtigungen kann eine aktuelle Nachricht für den Benutzer bereitgestellt werden. Dabei spielt es keine Rolle, ob die App verwendet wird oder nicht. Die beliebtesten Formen von Toastbenachrichtigungen sind E-Mail-Popupwarnungen und Textnachrichten auf Telefonen. Toastbenachrichtigungen können Text und Bilder enthalten und eine weitere Möglichkeit bieten, Benutzer für Ihre App zu interessieren. Sie können dieselben Benachrichtigungen auf dem Windows 8-Sperrbildschirm ausgeben, um einen schnellen Blick auf ggf. wartende Nachrichten zu bieten.

Generation App

Kurz zusammengefasst, Windows 8 ist Windows in neuem Gewand und umfasst einige der größten Veränderungen des Betriebssystems seit Windows 95, in einem noch nie dagewesenen Markt. Mithilfe der integrierten Visual Studio-Projektvorlagen können Sie einfacher und schneller als je zuvor Apps veröffentlichen und mit diesen im größten Markt für Ersteller von Apps Gewinne erzielen.

Der Platz reicht hier nicht aus, um all die hervorragenden Features zu beschreiben, die Sie in Ihrer Windows Store-App verwenden können und sollen. Ich möchte Ihnen daher das Generation App-Programm (bit.ly/W8GenAppDev) empfehlen. Das Programm führt Sie in 30 Tagen durch den Prozess des Erstellens einer Windows Store-App (oder Windows Phone-App). Es bietet kostenlose Beratung und Unterstützung hinsichtlich der Technik und des Designs sowie exklusive Tipps und Ressourcen.

Rachel Appel arbeitet als Developer Evangelist bei Microsoft in New York City. Sie kann über ihre Website unter rachelappel.com oder per E-Mail unter rachel.appel@microsoft.com erreicht werden. Sie können auch Rachel Appels Neuigkeiten auf Twitter unter twitter.com/rachelappel verfolgen.

Unser Dank gilt dem folgenden technischen Experten für die Durchsicht dieses Artikels: Ian LeGrow