Feilene i Universal Apps

Ikon for lesetid 4 min. lese


Lesere hjelper til med å støtte MSpoweruser. Vi kan få provisjon hvis du kjøper gjennom lenkene våre. Verktøytipsikon

Les vår avsløringsside for å finne ut hvordan du kan hjelpe MSPoweruser opprettholde redaksjonen Les mer

Microsoft har begynt å oppmuntre utviklere til å migrere appene sine til Universal-apper, men noen utviklere er fortsatt ikke overbevist. Jeg skrev en redaksjon som siterte utviklere for en stund siden om gjennomførbarheten av universelle apper og hvorfor de ikke setter verden i brann ennå. I dag publiserte en annen utvikler et stykke om sine erfaringer med universelle apper (som vi skal gjengi her med tillatelse)

 

Windows Phone 8.1 XAML og Universal Apps inkluderte WinRT APIer som har mange problemer, inkludert noen som det ikke finnes noen løsning på. Men først, la oss bare snakke om navnet "Universal Apps". Jeg synes det er ganske arrogant å kalle universelt noe som retter seg mot to plattformer, som ærlig talt ikke så mange brukere bruker eller bryr seg om. Også hvis du bare tenker på Windows-plattformene, er disse appene heller ikke universelle, fordi de ikke kan målrettes mot de mest brukte Windows-versjonene (7 og XP). Men jeg digresserer.

Han gjør poenget her, som jeg gjorde for en stund siden. Verken WP8.1 eller W8.1 gir nok verdi for utviklere til å utvikle for noen av dem ennå fordi, som jeg sa "Windows HAR brukere, men disse brukerne vil ikke nødvendigvis ha apper. Windows Phone-brukere vil ha apper, men det er ikke så mange av dem” .

Brukere er imidlertid ikke det eneste som hindrer utviklere i å flytte til 8.1 WinPRT-apper. Det er også tekniske problemer:

 

Mer rotete APIer

Så bakgrunnslydavspillings-API for Windows Phone 8.1 er rotet, noe annet? Sikker. BackgroundDownloader er et annet eksempel. I Silverlight var det en BackgroundDownloader som var ganske begrenset, men den fungerte. I Universal Apps er det en ny BackgroundDownloader med noen nye funksjoner, og noen viktige mangler. For eksempel, i Silverlight, kan hver nedlasting ha en Tag, der du kan lagre alle data slik at du vet noe om nedlastingen når den er ferdig (til hvilken forretningsenhet den tilhører, osv.). Ikke lenger i Universal Apps. Det er ingen tag, så du må bygge og administrere din egen type indeks for alle nedlastingene, slik at du faktisk kan matche dem med forretningsenhetene dine. Et irritasjonsmoment, men ingenting du ikke klarer, ikke sant.

En kommentator på bloggen la også til at Camera-apisene ikke var like gode som Silverlight-ene, og jeg har blitt fortalt at 8.1-apisene mangler objektivintegrasjon.

Camera API på WP8.1 er også fryktelig f****d opp. Det er ingen måte å få forhåndsvisningsrammer på. Med Silverlight API kan du ganske enkelt abonnere på en begivenhet og skyve rammene med lav oppløsning gjennom ZXing ved flere bilder per sekund. I WinRT er det beste du kan gjøre å ta mange bilder etter hverandre, med blits noen ganger og skanne omtrent 0.8 bilder per sekund.

Ytelsen får også et slag med mengden arbeid som trengs for å få jevn rulling etter å ha økt i 8.1 vs. 8.0.

Ytelse

I Silverlight brukte jeg ofte LongListSelector for å vise data, og brukte den med et WrapPanel når jeg trengte å lage et to-kolonneoppsett. LongListSelector er borte, i Universal Apps må du bruke GridView også på Windows Phone. Eller du kan bruke ListView med et tilpasset innpakningspanel du skriver selv eller laster ned et sted, men det krever litt innsats å få det til å gjøre virtualisering på riktig måte.

Så du bruker GridView på både Windows Phone 8.1 og Windows 8.1 for å gjøre det konsistent. Legg til titalls gjenstander med bilder, og ytelsen begynner virkelig å lide. Grå plassholdere vises og enda viktigere, forsvinner aldri. Du trenger ikke hendelsesbilder, bare legg til omtrent 300 bare tekstelementer i GridView og de grå plassholderne vil begynne å vises når du ruller

Poenget med dette innlegget er ikke å bash Microsoft, det er å forklare hvorfor utviklere kanskje ikke er villige til å lage universelle apper ennå. De er ikke en absolutt bedre metode, de er en oppgradering på noen områder og en nedgradering på andre (Windows Phone-brukere kjenner godt til denne følelsen). Hvis Microsoft skal tiltrekke seg utviklere, må de jobbe raskere enn de gjør akkurat nå, «snart» og «i de kommende månedene» er ikke attraktive for folk hvis levebrød er avhengig av at «snart» er «i går». Heldigvis er det tegn på at dette kan endre seg. WP 8.1.1 brakte noen nye APIer (men begrenset) og 8.1.2 sies å (i et nå skjult innlegg) tillate utviklere å lage nye fantastiske apper. Microsoft kan endre seg i fremtiden, og det er flott. For mange utviklere som blir presset til å lage universelle apper nå, kan ikke fremtiden komme hit raskt nok.

For mer enn utdragene du får her, les hele stykket her.. For mitt mer detaljerte stykke, se her.

Mer om temaene: utviklere, Universal Apps, Windows 10

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket *