Grüße, Habr!
Der Beitrag ist inspiriert von den
Nachrichten über die Einstellung der Unterstützung für Windows 10 Mobile .
Als einmaliger Besitzer des Nokia Lumia 925 erzähle ich Ihnen von einem meiner Handwerke im Bereich der mobilen Entwicklung für Windows Phone 8.1.
Anhang: "Wechselkurse der Zentralbank der Russischen Föderation." Hintergrund
Es war Ende 2014 und
es passierte etwas
wirklich Seltsames . Der Dollar wuchs, der Euro war nicht minderwertig, aber einige Monate später war bereits ein Urlaub geplant, und es war an der Zeit, genau diese Währung zu kaufen oder zumindest zu überwachen.
Da ich auf dem Windows Phone-Markt nichts Nützliches fand, beschloss ich, etwas "für mich selbst" zu schreiben.
Am Ende ist es nicht so schwierig - ich habe den Antrag auf meinem Knie gestellt, die Baugruppe auf das Telefon hochgeladen und Sie leben gut. Und wenn es Ihnen selbst gefällt, können Sie es auf den Markt hochladen, auch wenn es für andere gut ist.
PS "Nichts Nützliches" bedeutete auch, Anwendungen mit einer schrecklichen Menge an Werbung zu filtern (von Golly, Leute, was war los mit dir?).
Versionsnummer 1
Zweck: Erstellen einer einfachen Anwendung mit der einzigen Möglichkeit - Anzeigen der Wechselkurse in der Anwendung und Erstellen einer Kachel auf der Hauptseite
Ein bisschen formeller:
- Die einfachste Benutzeroberfläche
- Tabelle mit Währungskursen für heute / morgen
- Möglichkeit, eine Kachel auf der Hauptseite zu erstellen
- Keine Werbung
Was ist als Ergebnis passiert (leider wurden Screenshots der ersten Versionen der Kacheln nicht gespeichert):


Zwischenservice
Kacheln werden von einem schriftlichen Dienst referenziert, der auf die Daten der Zentralbank zugreift und diese für einen Tag zwischenspeichert, weil Die Zentralbank aktualisiert die Daten nicht häufiger. Das heißt, Die Anwendung funktioniert nicht mit Echtzeitdaten, weil Das Konzept der Kacheln selbst erlaubt keine häufigen Aktualisierungen.
Die minimale Aktualisierungsrate betrug, wie ich mich erinnere, ungefähr eine halbe Stunde.
Wer würde wissen, wie viele Kommentare und minimale Sterne ich für die Erstellung einer Anwendung mit „falschen Daten!“ Erhalten habe? Das Hinzufügen von Informationen über die Häufigkeit von Aktualisierungen in den nächsten Versionen änderte nichts an der Situation - Benutzer schrieben weiterhin regelmäßig über fehlerhafte Daten.
Zusätzlich zu Datenanforderungen erlaubte der Dienst selbst, kleine Statistiken über die Verwendung der Anwendung zu sammeln. Zunächst lautete die Abfragestatistik (jede Kachel = Anforderung) wie folgt:

Versionsnummer 2
Zweck: Unerwartet gab es Kommentare von Benutzern mit der Aufforderung, ein Diagramm der Dynamik von Ratenänderungen hinzuzufügen.
Was ist als Ergebnis passiert:

Aus dem Interessanten: Ich musste die Quelle der Diagrammbibliothek abholen und neu erstellen, um die Zertifizierung der Anwendung zu bestehen.Technische DetailsBereits bei der Vorbereitung der Veröffentlichung der Anwendung wurde mithilfe des Windows App Certification Kit festgestellt, dass einige Kernel32.dll-Aufrufe in der Komponente vorhanden waren. Insbesondere gab es zwei Fehler:
CreateFileMappingA in der Kernel32.dll-API wird für diesen Anwendungstyp nicht unterstützt. Sparrow.Chart.WinRT.45.dll ruft diese API auf.
Die MapViewOfFile-API in kernel32.dll wird für diesen Anwendungstyp nicht unterstützt. Sparrow.Chart.WinRT.45.dll ruft diese API auf.
Es stellte sich heraus (nach dem Googeln und Sortieren der Quelle), dass die für Windows Phone geschriebene Komponente die Direktive #if WPF hatte. Ein Stück Code wurde nicht verwendet, aber es hat den Zertifizierungstest gebrochen. Kommentierte die Richtlinien aus, kompilierte und voila, alle Tests bestanden. Es war sehr unangenehm, am Ende der Update-Version von einem ähnlichen Fehler zu erfahren. Aber zum Glück.
Einige Statistiken der Anfragen bis Juni:

Der schriftliche Service lieferte ungefähr die folgenden Informationen über die Verwendung von Fliesen:
- 125 Benutzer mit 0 Kacheln - verwenden Sie hauptsächlich die Anwendung
- 260 Benutzer mit 1 Kachel
- 175 Benutzer mit 2 Kacheln
- 61 Benutzer mit 3 Kacheln
- 7 Benutzer mit 4 Kacheln
- 1 Benutzer mit 6 Kacheln
Versionsnummer 3
Zweck: Inspiriert von den Anfragen der Benutzer (zwei Personen fragten, aber das ist genug), entschied ich mich für ein neues Design.
Was ist als Ergebnis passiert:




Statistik:

Die Zahlen sind nicht himmelhoch, aber sehr nett zu mir. Langsam aber sicher stieg die Anzahl der Benutzer.
Versionsnummer 4, endgültig
Zweck: Dieses Mal wurde vom neuen Design der Anwendung für VKontakte inspiriert. Ja, und MVVM musste endlich neu geschrieben werden. Ja, und Öl- und Metallschichten hinzufügen.
Was ist als Ergebnis passiert:






Es ist zu sehen, dass ich zu diesem Zeitpunkt etwas Geld mit einer freiwilligen Spende verdienen wollte. Es gelang ihnen, etwa 800-900 Rubel zu verdienen, die sie nicht abheben konnten. Vielen Dank an Microsoft für die Mindestauszahlungsgröße von 25 US-Dollar.
Endgültige Statistik:

Abschließend
Anschließend wurde ein weiterer Stoppuhr-Timer geschrieben, aber nichts Interessantes an ihm. Es funktioniert nur unter Berücksichtigung aller Einschränkungen des Systems, von denen es viele gibt.
Die Sicherung für die Entwicklung verschwand, als immer mehr Kommentare von Benutzern unter Windows Phone 10 mit der Aufforderung zur Behebung von Kachelgrößen oder bestimmten Problemen des neuen Systems auftauchten. Gleichzeitig wurde mein Gerät kategorisch nicht in die Liste zum Aktualisieren der Plattform mit Windows Phone 8.1 aufgenommen. Es bestand kein Wunsch, willkürlich auszulegen und nur im Emulator zu testen.
Dann folgte die Nachricht, dass es überhaupt keine Systemaktualisierungen geben und „neue Telefone kaufen“ würde. Und es war eine Schande für die Anwendungen, insbesondere unter Berücksichtigung der positiven, allgemeinen Nutzerbewertungen.
In diesem Sinne und beenden Sie die Nostalgie, einen Beitrag zu entwickeln. Vielen Dank für Ihre Aufmerksamkeit.