I have been trying to improve my Lighthouse score with Google and one of the items it is tagging is the "telerik-blazor.js" file. I have seen new practices where the JavaScript is imported as needed, see this article here from Microsoft.
Can you please consider this in the future?
===
Telerik edit: A possible workaround is to build the Telerik JavaScript file without some of the components that you don't need.
Hi Rami,
Thanks for sharing your feedback and insights. I understand that this enhancement is very important for some customers and use case scenarios, so I escalated it to our product management. Until now, the customer demand for JavaScript modules has been decent, but not as high as other work items that we are considering for the short term. For example, there is only one vote for it in 2026 and it's from February. This is the reason for the hold up. Please accept my apologies if the current state is causing issues on the user side.
Regards,
Dimo
Progress Telerik
Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.
It's unbelievable that this is still not a thing. I'm seriously starting to evaluate other Blazor UI libraries like Syncfusion even though I know the switch over would have a significant amount of rewriting and adjusting to the new library. But, when the "other side" offers things like https://www.syncfusion.com/blazor-components/blazor-datagrid separate js downloads for each component, I'm contemplating the switch.
And to Nadezhda and others saying the pay for the Telerik libraries is not that big: the Telerik library is LITERALLY the single most time consuming thing in a Blazor apps startup. With a 4x CPU slowdown simulating a mobile device, 1.3 seconds is attributed to evaluating your javascript
Also a quick Excel calculation of the payload sizes from a non-cached reload of a mediumish Blazor app comes out to these sizes in this case. Telerik representing everything with Telerik in the url and System all that had Microsoft, dotnet, etc. in the url. So we can clearly see that both Teleriks wasm and javascript VASTLY outsize ALL OF the dotnet runtime that is loaded. Really let that sink in, a single component library, from which I might need 3-5 components for an app has a larger payload (and therefore longer parsing and compiling times) than all of dotnet.
And of course, with every release when Telerik adds more components and more AI this problem only gets worse! The payload and parse+compile times will ONLY keep increasing. This split up should've been done 5 years ago, not telling clients to "hey, you can build your own custom payload for components you might use. And you get to tweak it every time an app that uses it adds another component! Oh and when Telerik updates, you get to update this monster aswell!"
Is there a simple way on how I can analyse the files and know the dependencies of each components? I've read your workaround but it's not as simple as what is written there. It's more like a trial and error game and it is time consuming.
I might try to build a little tool to extract the import/export commands and build a dependency tree.
Thank you for the update. :)
Hello Thomas and everyone who is following this request,
We discussed the possibility to expand this feature and include NuGet package splitting together with JavaScript file splitting. It seems that removing components from the package (i.e. assembly) may not produce a significant benefit, especially if we take into account that the user will be downloading a lot of other assemblies too. Thus we may focus only on the JavaScript file (for example, removing the Charts or the PDF Viewer will reduce the JS file size quite a bit).
In the meantime, you can rebuild telerik-blazor.js and remove the components that you don't use.
Regards,
Dimo
Progress Telerik
Hi Rick,
Generally speaking, the UI for Blazor components use JavaScript only where needed and for functionalities that cannot be completely handled on the C# side. Having this is mind, the size of the JavaScript file should not be troublesome. However, using JavaScript isolation is something that we'd like to look further into and consider for future product version. I've updated the status of the request and added your vote.
Regards,
Nadezhda Tacheva
Progress Telerik
An example of what I am talking about doing refers to loading only the JavaScript required for the component on the screen. So, we don't have to load the entire Telerik Blazor library if we are only looking using a couple components.
So, if loading the "ToolBar" only load the JavaScript required for the toolbar control. This could be imported on control render.