Meine erste Windows 8-Anwendung: Eine Zusammenfassung

Ich habe meine ersten Windows 8 Metro-Anwendungen abgeschlossen. Ich habe mit einigen Mitarbeitern von Microsoft gesprochen (insbesondere mit Joe Stegman, einem Programmmanager bei Microsoft, der WPF und XAML überwacht), und wir sind den Leistungsproblemen auf den Grund gegangen, die ich mit meinen Windows 8 Metro-Apps hatte. Es stellte sich heraus, dass mein Code direkt in einen Fehler geriet, den Microsoft in seinen internen Builds behoben hat. Unterwegs gaben mir die Microsoft-Mitarbeiter nützliche Ratschläge und Hinweise für Windows 8 Metro-Anwendungen, und diese Informationen werde ich heute weitergeben.

Das erste, was sie vorschlugen, war, das Abrufen der Daten zu begrenzen (was mit dem OData-Protokoll einfach genug ist). Einige Ansätze, die sie vorbringen, sind:

  • Verwenden Sie eine kuratierte Reihe von Ergebnissen.
  • Begrenzen Sie den anfänglichen Datenabruf auf beispielsweise 20 Ergebnisse mit einem Link oder einer Schaltfläche "Mehr anzeigen", mit der mehr Ergebnisse geladen werden.
  • Begrenzen Sie den anfänglichen Datenabruf und tippen Sie auf die Bildlaufereignisse, um weitere Ergebnisse zu laden.

All dies ist definitiv möglich, und keines von ihnen ist so viel Arbeit.

Diese ganze Situation zeigt mir, dass das Kommen von einer WinForms-Umgebung zu Metro viel mehr erfordert als nur das Erlernen neuer Bibliotheken und Widget-Eigenschaften - es beinhaltet das Erlernen eines völlig neuen Ansatzes für das Anwendungsdesign. Dies wird Entwickler mehr als alles andere stören.

In WinForms (oder WebForms) besteht der "richtige" Ansatz für diese Art von Anwendung darin, ein an eine Datenquelle gebundenes DataGrid zu verwenden und die erforderlichen Eigenschaften für das Paging festzulegen. Mit Metro funktioniert das nicht ganz so. Ein DataGrid hängt von einem relativ starren Bildschirmlayout ab und bietet eine Menge winziger Daten und kleiner Steuerelemente. Das funktioniert auf einem Desktop-Computer nur gut, fällt aber auseinander, wenn die Touch-Steuerung ins Spiel kommt. Darüber hinaus sind viele Metro-Geräte (insbesondere Tablets und ähnliche Geräte) möglicherweise ressourcenbeschränkt. Bandbreite, CPU und Speicher sind möglicherweise sehr teuer. Ein paar hundert Megabyte Daten in den Speicher zu legen und dann das System alles sortieren zu lassen, ist eine Katastrophe für ein Tablet oder einen potenziell mobilen Benutzer. Denken Sie daran, dass Windows Phone 8 anscheinend eine Telefonversion von Windows 8 und keine aktualisierte Version von Windows Phone 7 (WP7) ist. Dies bedeutet, dass Sie erwarten sollten, dass Ihre Anwendungen auch auf Telefonen mit sehr begrenzten Ressourcen funktionieren. Sie können davon ausgehen, dass Windows 8 RT auf einigen ziemlich einfachen Geräten angezeigt wird, um mit den Android-Tablets zu konkurrieren.

Wenn Sie Metro-Apps schreiben möchten, müssen Sie sich mit den Techniken befassen, die mobile Entwickler verwenden. In der Beispielanwendung, die ich geschrieben habe, sind dies die Dinge, die ich tun müsste, um daraus eine erstklassige Metro-Anwendung zu machen:

  • Betonen Sie Such- und "Schnellsprung" -Techniken (z. B. eine Liste mit Buchstaben des Alphabets und die Auswahl eines Elements zeigt alle Elemente an, die mit diesem Buchstaben beginnen) für eine schnelle Navigation.
  • Deaktivieren Sie das Scrollen und Paging so weit wie möglich. Denken Sie daran, dass das Scrollen durch lange Listen mit Fingerbewegungen bestenfalls "schmerzhaft" ist.
  • Stellen Sie sicher, dass die Daten auf einem Listenbildschirm eine minimale Anzahl von Feldern anzeigen und nur so viele Daten, dass der Benutzer entscheiden kann, ob eine Detailseite angezeigt werden soll.
  • Stellen Sie sicher, dass beim Hin- und Herspringen zwischen Details und Auflistungen die Listenansicht auf das genaue Layout und den genauen Zustand zurückgesetzt wird.
  • Richten Sie die Detailseite so ein, dass der Text so abgeschnitten wird, dass alle Felder in einem Bildschirm ohne Bildlauf angezeigt werden, und bieten Sie die Option "Weitere anzeigen" an, um sie zum Volltext zu erweitern.
  • Laden Sie keine Daten, bis Sie dazu aufgefordert werden (um die Bandbreitennutzung zu minimieren).
  • Zwischenspeichern Sie Daten lokal, damit wiederholte Besuche Daten nicht erneut herunterladen und die Bandbreitennutzung erhöhen.

Dies ist eine ziemlich intensive Liste von Dingen, die sich wesentlich von der WinForms-Welt (oder sogar der WPF-Welt) unterscheiden, von der die meisten Entwickler wechseln würden, und diese Art von Denkweise kann nicht gelehrt werden - sie muss durch Fehler und Experimente verinnerlicht werden und viel praktische Arbeit leisten.

Ich habe durch die Arbeit mit WP7 einen Schritt nach oben gemacht. Während der Arbeit mit WP7 habe ich gelernt, dass die Tools täuschen. Dinge, die im Emulator gut aussehen und gut funktionieren, sind auf einem Telefon oft eine Katastrophe, und Dinge, die im Emulator schwer zu verwenden sind, können auf einem Telefon sehr oft großartig sein. Ich bin mir sicher, dass das Gleiche mit Windows 8 Metro-Anwendungen passieren wird, wenn Sie die Bildschirmerfahrung mit Tastatur und Maus mit der Bildschirmerfahrung mit einem Touchscreen vergleichen.

Aus diesem Grund ist es für Entwickler so wichtig, Touch-Geräte zu erwerben und damit zu arbeiten. Im Moment gibt es einige Optionen:

  • Verwenden Sie einen vorhandenen "Slate" - oder "Convertible" -PC und installieren Sie Windows 8 darauf.
  • Verwenden Sie ein System wie Splashtop, das den Zugriff auf eine Windows 8-VM von einem iPad aus ermöglicht.
  • Richten Sie RDP für eine Windows 8-VM ein und greifen Sie von einem Touch-Gerät (einschließlich eines bereits auf dem Markt befindlichen Tablets) darauf zu.
  • Nutzen Sie die verschiedenen Programme von Anbietern, um auf neuer Tablet-Hardware frühzeitig auf Windows 8 zuzugreifen.

Die ersten drei Optionen sind mit einfachen Kosten am einfachsten. Die letzte Option bietet die genaueste Darstellung der Windows 8-Erfahrung auf tatsächlichen Versandgeräten.

Fazit

Wenn Sie die Windows 8-Entwicklung ernst nehmen, müssen Sie auf einem Touch-fähigen Gerät testen und, wenn möglich, unter verschiedenen Bedingungen testen, die Wi-Fi und Mobilfunkdatenverbindungen imitieren. Nur so können Sie sicherstellen, dass sich Ihre Anwendungen für Desktop-Benutzer sowie für Tablet- und andere Mobile- und Touch-Benutzer richtig anfühlen und funktionieren.

J.Ja.

Halten Sie Ihre technischen Fähigkeiten auf dem neuesten Stand, indem Sie sich für den kostenlosen Software Engineer-Newsletter von TechRepublic anmelden, der jeden Dienstag zugestellt wird.

© Copyright 2020 | mobilegn.com