3

I'm looking into Uno Platform and trying to run Getting-Started-Tutorial-1 on my laptop. It's very simple: demo. But it takes 10 sec to load this simple page on localhost.

On UnoConf it was said that Uno Gallery is written in uno platform. I measured the time when user see a page and when all background data is loaded. Results:

  • Safari - 50 sec of white screen and then page was loaded (I didn't find how to measure background load).
  • Firefox - 30 sec of white screen and 34 sec total (4 sec page was loaded in the background)
  • Crome - 17 sec of white screen and 21 sec total (4 sec page was loaded in the background)

Page reload without clearing the cache takes almost the same time.

For comparison I opened Vuetify Gallery. It takes 3 sec to show page to a user and total load is 30 sec (27 sec page was loaded in the background). So, user see the page and can interact with it in 3 sec.

Questions: Is it real Uno Platform WASM performance? Is it the same in mobile apps (Android and iOS)? Any solutions how to speed it up? Can you recommend other frameworks to develop mobile apps + web with better performance?

Andrei
  • 450
  • 2
  • 9

1 Answers1

3

The load performance in WebAssembly is highly dependent on the way the app is compiled. There are various runtime execution modes (see https://github.com/unoplatform/Uno.Wasm.Bootstrap/blob/main/doc/runtime-execution-modes.md), which impact the download size and runtime performance of the app. Overall however, WebAssembly apps are (at least for now) larger for download than JavaScript based apps - so on slower connections, they will also take longer to load the first time. Subsequent loads should be fast. Going forward, the performance and download size will keep improving with new innovations on WebAssembly side as well as new improvements in future versions of .NET.

For mobile and desktop targets of Uno Platform, the performance is very close to native and load times will match the performance of any .NET-based mobile application on that platform.

pholpar
  • 1,725
  • 2
  • 14
  • 23
Martin Zikmund
  • 38,440
  • 7
  • 70
  • 91
  • thank you your detailed answer. Now Getting-Started-Tutorial-1 is loaded around 5-6 sec with any [WasmShellMonoRuntimeExecutionMode](https://github.com/unoplatform/Uno.Wasm.Bootstrap#runtime-execution-modes) parameter. I couldn't speed it up despite this is localhost and internet speed doesn't influence it. As well as I mentioned in the question - every load/reload of Uno Gallery takes almost the same time (45-50 sec on Safari, 15-20 sec on Chrome) despite it's not a first load. Do you know any sites which are written with Uno Platform and which are published to the internet? – Andrei Dec 24 '21 at 14:47
  • Glad to hear about performance on mobile devices. Thank you. – Andrei Dec 24 '21 at 14:49