Min første Windows 8-applikation: En indpakning

Jeg har pakket ind med mine oprindelige Windows 8 Metro-applikationer. Jeg talte med nogle af folkene hos Microsoft (især Joe Stegman, en programleder med Microsoft, der overvågede WPF og XAML), og vi kom til roden af ​​de ydelsesproblemer, jeg havde med mine Windows 8 Metro-apps. Det viser sig, at min kode løb lige ind i en fejl, som Microsoft har rettet i sine interne builds. Undervejs gav Microsoft-folk mig nyttige råd og tip til Windows 8 Metro-applikationer, og det er de oplysninger, jeg vil dele i dag.

Den første ting, de foreslog, var at begrænse de data, der blev trukket ned i første omgang (hvilket er let nok at gøre med OData-protokollen). Nogle tilgange, de fremlægger, er:

  • Brug et sammenstillet sæt resultater.
  • Begræns det oprindelige datatrykk til 20 resultater med et "Se mere" -link eller -knap, der indlæser flere resultater.
  • Begræns det oprindelige datatrekking, og tryk på rullebegivenhederne for at indlæse flere resultater.

Alle disse er bestemt mulige, og ingen af ​​dem er så meget arbejde.

Hele denne situation fremhæver for mig, at at komme fra et WinForms-miljø til Metro kræver meget mere end bare at lære nye biblioteker og widget-egenskaber - det involverer at lære en helt ny tilgang til applikationsdesign. Dette vil udvikle udviklere mere end noget andet.

I WinForms (eller WebForms) er den "rigtige" tilgang til denne type applikation at bruge en DataGrid bundet til en hvilken som helst datakilde og indstille de nødvendige egenskaber omkring personsøgning, og det er gjort. Med Metro fungerer det ikke helt på den måde. En DataGrid afhænger af et relativt stift skærmlayout og præsenterer et væld af små stykker data og små kontroller. Det fungerer bare dandy på en stationær maskine, men det falder fra hinanden, når berøringsstyring kommer i spil. Derudover kan mange Metro-enheder (især tablets og lignende enheder) være begrænset til ressourcer ... båndbredde, CPU og hukommelse kan alle have en præmie. At droppe et par hundrede megs data i hukommelsen og derefter lade systemet slags sortere det hele ud er en katastrofe for en tablet eller en potentiel mobil bruger. Før du tager ruten til, "ja, tabletter kan være mægtige, " husk, at det ser ud til, at Windows Phone 8 vil være en telefonversion af Windows 8, ikke en opdateret version af Windows Phone 7 (WP7); Dette betyder, at du bør forvente, at dine applikationer fungerer selv på telefoner med deres meget begrænsede ressourcer. Du kan forvente, at Windows 8 RT vises på noget temmelig low-end udstyr til at konkurrere med Android-tabletterne.

Hvis du vil skrive Metro-apps, skal du kigge efter den slags teknikker, som mobiludviklere bruger. I det eksempelapplikation, jeg skrev, er det disse slags ting, som jeg bliver nødt til at gøre for at gøre det til en top-flight Metro-applikation:

  • Fremhæv søgning og "quick jump" -teknikker (som at have en liste med bogstaver i alfabetet, og valg af et viser alle elementer, der starter med dette bogstav) til hurtig navigation.
  • Fremhæv rulning og personsøgning så meget som muligt; husk at det i bedste fald er "smertefuldt" at rulle gennem lange lister med fingerspidser.
  • Få dataene på en hvilken som helst listeskærm til at vise et minimalt antal felter og kun vise nok data til, at brugeren kan bestemme, om de har brug for at se en detaljside.
  • Sørg for, at ethvert spring frem og tilbage mellem detaljer og lister returnerer listevisningen til dens nøjagtige layout og tilstand.
  • Gør detaljsiden opsat, så den afkorter tekst, så den passer til alle felter i en skærm uden rulning, og tilbyder "Se mere" -indstillinger for at udvide dem til fuld tekst.
  • Indlæs ingen data, før du bliver bedt om det (for at minimere brugen af ​​båndbredde).
  • Cache-data lokalt, så gentagne besøg ikke henter data ned igen og øger brugen af ​​båndbredde.

Dette er en temmelig intensiv liste over ting, der adskiller sig væsentligt fra WinForms (eller endda WPF) verdenen, som de fleste udviklere ville skifte fra, og denne form for tankegang kan ikke læres - det skal internaliseres ved at lave fejl, eksperimentere, og laver en masse praktisk arbejde.

Jeg har fået en ny opgave ved at arbejde med WP7. Noget, jeg lærte, mens jeg arbejdede med WP7, er, at værktøjerne er vildledende; ting, der ser godt ud og fungerer godt i emulatoren, er ofte en katastrofe på en telefon, og ting, der er svært at bruge i emulatoren, kan meget ofte være godt på en telefon. Jeg er sikker på, at den samme ting vil ske med Windows 8 Metro-applikationer, når du sammenligner oplevelsen på skærmen med et tastatur og en mus til oplevelsen på skærmen med en berøringsskærm.

Derfor er det så kritisk for udviklere at få fat i og arbejde med berøringsenheder. Lige nu er der et par muligheder derude:

  • Brug en eksisterende "skifer" eller "konvertibel" pc og installer Windows 8 på den.
  • Brug et system som Splashtop, der giver adgang til en Windows 8 VM fra en iPad.
  • Konfigurer RDP til en Windows 8 VM og få adgang til den fra en berøringsenhed (inklusive en tablet, der allerede er på markedet).
  • Gå ind i de forskellige programmer fra leverandører for at få tidlig adgang til Windows 8 på ny tablethardware.

De første tre indstillinger er de nemmeste med forskellige omkostninger forbundet med dem. Den sidste mulighed giver den mest nøjagtige repræsentation af, hvordan Windows 8-oplevelsen vil være på faktiske forsendelsesenheder.

Konklusion

Hvis du ser alvorligt på udviklingen af ​​Windows 8, skal du teste på en slags touch-aktiveret enhed, og om muligt teste under forskellige forhold, der efterligner Wi-Fi- og mobildataforbindelser. Det er den eneste måde at sikre, at dine applikationer føles og fungerer rigtigt for desktop-brugere såvel som for tablets og andre mobile og touch-brugere.

J.Ja

Hold dine ingeniørfærdigheder ajour ved at tilmelde dig TechRepublics gratis Software Engineer-nyhedsbrev, der leveres hver tirsdag.

© Copyright 2020 | mobilegn.com