I am new to Anvil, but I really like what I have seen so far. However, I am a bit curious whether there are a few basic widgets or components missing. For example progress bars and sliders, aren’t such things need-to-haves in an UI framework?
I am aware of the Anvil-Extras project, but why aren’t these components not part of Anvil itself?
Of course, not every widget is required in every app. But if I think of any major UI framework (both web and client), there is some kind of “basic widgets” all these frameworks support out of the box. I don’t want to rant here, just interested to know whether there is a special reason for these missing widgets …
Anvil is so much more than a UI framework, it may not be an apt comparison in the first place.
Should UI frameworks be faulted for “missing” a complete IDE, cloud-based server architecture, and database implementation, as part of the framework? (I’ve left out a lot that Anvil provides out-of-the box.)
Edit: But to be fair, only Anvil’s architects are equipped to answer your question.
I agree with @p.colbert that Anvil is so much more. I also think that the purpose of Anvil Extras is to make more UI components that basic Anvil doesn’t have – and the staff doesn’t have time to implement – that the community wants. I don’t think that’s a problem IMHO – every major framework usually has a plethora of packages to work.
I think things like Anvil Extras and the Anvil Firestore integration are great signs of Anvil’s health because it shows the community’s buy in to the platform.
1 - Anyone can make custom components for others to use. But the community cannot create a new Anvil Editor or do a complete backend redesign or implement all these really useful features. I think the entire community will rather prefer Anvil to work on more such features than implement components that already exists as third party.
2 - The more components you add to Anvil, the more will be the base size of Anvil Apps. Since Anvil Apps are already SPA, minimising the loading time is quite important. And if an app doesn’t even use those components, that will be a waste of resources.
With all that being said, I will rather suggest Anvil to do more improvements to custom components and their discovery.
Anvil is a cross-theme platform, supporting 5 different themes at the moment. Including M3 specific widgets in the older themes would require work back porting whatever HTML/CSS/Javascript is involved in those components into the older themes. Not impossible by any means, but not a trivial amount of work.
Personally, I’m fine being able to include third-party libraries for the components I need when I need them. I’m happier that I now have more efficient data tables than I would be if I’d gotten a dozen more components.