ui5-tooling icon indicating copy to clipboard operation
ui5-tooling copied to clipboard

`ui5 serve` is very slow, can it do a pre-bundle before serving?

Open HymanZHAN opened this issue 2 years ago • 1 comments

Expected Behavior

A hello-world app served locally with ui5 serve should be fast.

Current Behavior

ui5 serve downloads the specified SAP libraries and serves several hundred unbundled JS files locally, which is pretty slow, even with browser cache enabled: sapui5-local-dev-ui5-dynamic-network Dynamically Generated by UI5 Tooling - Browser Cache Enabled

I tried to mitigate the issue by downloading my own local copy of SAPUI5 runtime, with no improvements at all as the downloaded libs are not bundled either: sapui5-local-dev-network With Downloaded resource folder from https://tools.hana.ondemand.com/#sapui5

Here is the result with a CDN link, which is what we do at work: sapui5-local-dev-cdn-network With CDN [https://ui5.sap.com:](https://ui5.sap.com/)

It is quite a bit faster, but it just feels wrong that an Internet connection is required for local development. And the connection stability cannot be 100% guaranteed. We've encountered unstable/slow connection issues before.

Steps to Reproduce the Issue

  1. Create a hello-world app with create-easy-ui5 and the ts-app preset.
  2. Start the app with npm start
  3. Inspect the network tab

Context

  • UI5 Module Version (output of ui5 --version when using the CLI): 2.14.10
  • Node.js Version: 16.6.0
  • npm Version: 8.15.1
  • OS/Platform: Ubuntu (WSL2)
  • Browser (if relevant): Firefox & Edge
  • Other information regarding your environment (optional): nothing

Log Output / Stack Trace

N/A

So my questions are:

  • Do the ui5-tooling team have a plan for a more performant local development experience (create bundles/dev-bundles for libraries before serving, utilizing webpack and hmr, etc)?
  • If not, where can I download a bundled version of SAPUI5 runtime to work around this issue?

Thanks!

HymanZHAN avatar Aug 31 '22 02:08 HymanZHAN

Do the ui5-tooling team have a plan for a more performant local development experience (create bundles/dev-bundles for libraries before serving, utilizing webpack and hmr, etc)?

Yes we do! Ultimately, we want to provide pre-built versions of all framework libraries on npm. Those would be identical to the sources you get from the CDN. But you can download them and work completely offline.

However, we can't provide any timeline for this right now.

RandomByte avatar Sep 22 '22 12:09 RandomByte