Microsoft heeft de synergie tussen zijn Edge- en Office-ontwikkelingsteams benadrukt, waardoor het betere producten voor iedereen kon bouwen.
Belangrijkste leerpunten
- De Office-apps van Microsoft kunnen gratis op internet worden gebruikt en bieden de meeste, zo niet alle basisfuncties, waardoor ze gemakkelijk toegankelijk en nuttig zijn.
- Het Edge-ontwikkelingsteam heeft samengewerkt met het Office-team om de prestaties van Office-apps op internet te verbeteren, bugs op te lossen en nieuwe tools te introduceren.
- De verbeteringen omvatten onder meer het verminderen van het CPU-gebruik en het vergroten van de nauwkeurigheid bij het maken van profielen, en het ondersteunen van bronkaarten in Edge's Performance-tool voor foutopsporing en het bieden van inzicht in CSS-selectors die van invloed zijn prestatie.
De Office-apps van Microsoft zijn beschikbaar op een verscheidenheid aan platformen, en ze worden bijgewerkt met nieuwe functies vrij vaak. Misschien wel de meest toegankelijke manier om ze te gebruiken, is via hun webvarianten, waar u apps zoals Word, PowerPoint en Excel rechtstreeks in uw browser kunt gebruiken zonder iets te hoeven betalen. Natuurlijk krijgt u misschien niet altijd alle functies die Office te bieden heeft, maar u bent gedekt voor de meeste, zo niet alle, basisbehoeften. Nu heeft Microsoft uitgelegd hoe het de Office-ervaring op internet nog beter maakt door samenwerking tussen de Office- en Edge-teams.
Microsoft heeft benadrukt dat Office-apps bijzonder complex zijn om op internet te implementeren, vergelijkbaar met apps voor berichten en videoconferenties. Dit omdat ze duizenden CSS-modules en een paar duizend nodes in de Document Object Model (DOM)-structuur hosten en veel HTTP-verzoeken verzenden bij het laden van pagina's. Daarom is het belangrijk om ze zo te bouwen dat ze de best mogelijke prestaties bieden zonder in te leveren op functionaliteit. Om aan deze eis te voldoen, heeft het Edge-ontwikkelingsteam verschillende nieuwe DevTools-mogelijkheden geprogrammeerd, specifiek om prestatieproblemen in Office te diagnosticeren en op te lossen.
Om te beginnen merkte het team dat tijdens het profileren en registreren van het CPU-gebruik op PowerPoint-lanceringen op het web, het CPU-gebruik drastisch toenam. Na verder onderzoek via Event Tracing for Windows (ETW) realiseerden Edge-ontwikkelaars zich dat dit een bug was in de implementatie van de CPU-profiler in Chromium omdat het een bezige wachtbenadering gebruikte, waarbij het code uitvoerde, zelfs wanneer het had moeten wachten op de activering van de volgende gebeurtenis. Dit is misschien niet gedetecteerd bij het profileren van eenvoudige applicaties, maar werd opgemerkt tijdens het testen van PowerPoint vanwege de complexiteit ervan. Het Edge-team kon het probleem oplossen door de CPU-sampling-overhead met 95% te verminderen en het CPU-gebruik tijdens het profileren met 71% te verminderen. Over het algemeen hielp dit het PowerPoint-team om een nauwkeuriger beeld te krijgen van hun laadprestaties, terwijl het ook ten goede kwam aan alle anderen die deze DevTools gebruiken.
Vervolgens worden brontoewijzingen nu ook ondersteund in prestatie- en geheugentools op Edge. Met name de eerste geeft automatisch niet-verkleinde functie- en bestandsnamen weer, wat het een stuk eenvoudiger maakt om problemen op te sporen. Dit proces van niet-minificatie heeft het PowerPoint-team in staat gesteld om snel problemen in de code op te sporen, zoals slechte programmeerpatronen. Daarnaast is er ondersteuning voor Azure Pipelines geïntroduceerd, waardoor je tijdens het bouwproces eenvoudig source maps kunt publiceren.
In dezelfde geest, toen het Microsoft Word-team de prestaties van de app op het web aan het onderzoeken was, zagen ze een vertraging van 75 ms bij het opnieuw berekenen van de stijl, wat de lancering van Word vertraagde. Door prestatietools in Edge te gebruiken, konden de ontwikkelaars vaststellen dat dit te wijten was aan een inefficiënte implementatie van een JavaScript-functie, die ze vervolgens konden oplossen. Microsoft heeft ook Selector Stats in Edge DevTools gemarkeerd, wat webontwikkelaars helpt door hen te laten weten welke CSS-selectors de prestaties van hun applicatie negatief kunnen beïnvloeden.
Er zijn nog tal van andere verbeteringen aangebracht in de Memory-tool in Edge: het kan grotere heap-snapshotbestanden laden, de het genereren van heap-snapshots van meer dan 1 GB is 70-86% sneller, u kunt twee snapshots per retentiepad vergelijken en er beter doorheen navigeren gemakkelijk ook.
Microsoft zegt dat deze synergie tussen de Edge- en Office-ontwikkelingsteams het in staat stelde om beter te bouwen producten die niet alleen deze twee teams ten goede komen, maar ook andere webontwikkelaars en eindgebruikers die hun producten gebruiken te. Als je een ander functieverzoek hebt of een bug ontdekt, kun je dit vermelden in de speciale GitHub-repository hier.