De gebreken in Universele Apps

Pictogram voor leestijd 4 minuut. lezen


Lezers helpen MSpoweruser ondersteunen. We kunnen een commissie krijgen als u via onze links koopt. Tooltip-pictogram

Lees onze openbaarmakingspagina om erachter te komen hoe u MSPoweruser kunt helpen het redactieteam te ondersteunen Lees meer

Microsoft is begonnen ontwikkelaars aan te moedigen hun apps te migreren naar Universal apps, maar sommige ontwikkelaars zijn nog steeds niet overtuigd. Ik schreef een redactioneel commentaar waarin ik ontwikkelaars citeerde over de haalbaarheid van universele apps en waarom ze de wereld nog niet in vuur en vlam zetten. Vandaag heeft een andere ontwikkelaar een stuk gepubliceerd over zijn ervaringen met universele apps (die we hier met toestemming zullen reproduceren)

 

Windows Phone 8.1 XAML en Universal Apps bevatten WinRT-API's die veel problemen hebben, waaronder enkele waarvoor geen oplossing is. Maar laten we het eerst hebben over de naam "Universal Apps". Ik vind het nogal arrogant om iets universeels te noemen dat zich richt op twee platforms, waar eerlijk gezegd niet zo veel gebruikers gebruik van maken of om geven. Ook als je alleen aan de Windows-platforms denkt, deze apps zijn ook niet universeel, omdat ze zich niet kunnen richten op de meest gebruikte Windows-versies (7 en XP). Maar ik dwaal af.

Hij maakt hier het punt dat ik een tijdje geleden maakte. Noch WP8.1 noch W8.1 bieden ontwikkelaars voldoende waarde om voor een van beide te ontwikkelen, omdat, zoals ik al zei: "Windows HAS-gebruikers, maar die gebruikers willen niet per se apps. Windows Phone-gebruikers willen apps, maar dat zijn er niet veel”.

Gebruikers zijn echter niet het enige dat ontwikkelaars ervan weerhoudt om over te stappen op 8.1 WinPRT-apps. Er zijn ook technische problemen:

 

Meer verwarde API's

Dus de API voor het afspelen van achtergrondaudio voor Windows Phone 8.1 is in de war, iets anders? Zeker. BackgroundDownloader is een ander voorbeeld. In Silverlight was er een BackgroundDownloader die vrij beperkt was, maar die werkte. In Universal Apps is er een nieuwe BackgroundDownloader met enkele nieuwe functies en enkele essentiële die ontbreken. In Silverlight kan elke download bijvoorbeeld een tag hebben, waar u alle gegevens kunt opslaan, zodat u iets weet over de download wanneer deze is voltooid (tot welke zakelijke entiteit deze behoort, enz.). Niet meer in Universal Apps. Er is geen tag, dus u moet uw eigen soort index bouwen en beheren voor alle downloads, zodat u ze daadwerkelijk kunt afstemmen op uw zakelijke entiteiten. Een ergernis, maar niets dat je niet kunt regelen, toch.

Een commentator op de blog voegde er ook aan toe dat de camera-api's niet zo goed waren als die van Silverlight en mij is verteld dat de 8.1-api's geen lensintegratie hebben.

De Camera API op WP8.1 is ook verschrikkelijk opgeknapt. Er is geen manier om voorbeeldframes te krijgen. Met de Silverlight API kun je je eenvoudig abonneren op een evenement en de low-res frames met meerdere fps door ZXing sturen. In WinRT kun je het beste veel foto's na elkaar maken, soms met flits en ongeveer 0.8 frames per seconde scannen.

Prestaties nemen ook een hit met de hoeveelheid werk die nodig is om soepel te scrollen, die is toegenomen in 8.1 versus 8.0.

Performance

In Silverlight gebruikte ik vaak de LongListSelector om gegevens weer te geven, en gebruikte het met een WrapPanel wanneer ik een lay-out met twee kolommen moest maken. De LongListSelector is weg, in Universal Apps moet je GridView ook op Windows Phone gebruiken. Of je kunt de ListView gebruiken met een aangepast wrap-paneel dat je zelf schrijft of ergens downloadt, maar het kost wat moeite om virtualisatie goed te laten doen.

Je gebruikt GridView dus zowel op Windows Phone 8.1 als Windows 8.1 om het consistent te maken. Voeg tientallen items met afbeeldingen toe en de uitvoering begint er echt onder te lijden. Grijze tijdelijke aanduidingen verschijnen en, nog belangrijker, verdwijnt nooit. Je hebt geen evenement nodig met afbeeldingen, voeg gewoon ongeveer 300 items met alleen tekst toe aan de GridView en de grijze tijdelijke aanduidingen worden weergegeven tijdens het scrollen

Het punt van dit bericht is niet om Microsoft te bashen, het is om uit te leggen waarom ontwikkelaars misschien nog niet bereid zijn om universele apps te maken. Ze zijn geen absoluut betere methode, ze zijn een upgrade op sommige gebieden en een downgrade op andere (Windows Phone-gebruikers kennen dit gevoel maar al te goed). Als Microsoft ontwikkelaars wil aantrekken, moeten ze sneller werken dan ze nu doen, "binnenkort" en "in de komende maanden" zijn niet aantrekkelijk voor mensen wiens levensonderhoud afhankelijk is van "binnenkort" dat "gisteren" is. Gelukkig zijn er tekenen dat dit aan het veranderen is. WP 8.1.1 bracht een aantal nieuwe api's (hoewel beperkt) en 8.1.2 zou (in een nu verborgen post) ontwikkelaars in staat stellen nieuwe geweldige apps te maken. Microsoft kan in de toekomst veranderen en dat is geweldig. Voor veel ontwikkelaars die nu onder druk worden gezet om universele apps te maken, kan de toekomst echter niet snel genoeg komen.

Voor meer dan de fragmenten die je hier krijgt, lees het volledige stuk hier. Voor mijn meer gedetailleerde stuk, zie hier.

Meer over de onderwerpen: ontwikkelaars, Universele apps, Windows 10

Laat een reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *