Small modules are certainly not a panacea. I think it can be a difficult balance to strike to sufficiently decompose the capabilities you want to deliver into modules without hyper-modularizing which introduces overhead.
From the framework perspective, there are a couple facets — we need to provide modules whose purpose is clear and distinct so authors know what they are getting and what they are not, we want to provide a suite of tools to solve a certain set of problems
so bundling the right things together makes it easier to consume
but we need to be conscious of code bloat and minimize it with smart decisions and good tooling, and we need to be even more selective about our third-party module use than authors because the impact is cumulative.
Our next generation product will be modularized at a similar granularity as it is today with the core capabilities distinct from cross-cutting utilities and UX-specific component libraries. We are leveraging more libraries from the ecosystem than we were
able to previously but must be attentive to the consequence of including those libraries. Early on, we’re more willing to use libraries as a means to accelerate progress but will evaluate those when we start to harden the framework.
Ultimately, our goal remains the same — deliver a full-featured framework that strives to provide native quality experiences through the web platform. This problem space is one that we want to get right in order to achieve that and it’s good to hear feedback
from the community that recognizes the importance of it. Thanks for starting the conversation!
Ryan