preact-material-components icon indicating copy to clipboard operation
preact-material-components copied to clipboard

Adapter architecture

Open fjorgemota opened this issue 7 years ago • 9 comments

Hey.

First, thanks for the project, it seems to work very well!

Second, and more related to the issues, I have a suggestion for this project: What about move this project from the vanilla to the adapter architecture, as suggested by MDC-Web.

I know that preact is pretty focused on DOM/browsers, but this change would allow a few things I think are cool for the future and maintainability of the project: With the MDC-Web migrating to Typescript in the near future, this change would allow to detect breaking changes easily when upgrading MDC-Web components.

To finalize, there are a few other advantages too, as seen on this discussion on the RMWC project.

What do you think?

fjorgemota avatar Feb 17 '19 00:02 fjorgemota

I had in mind to try that in 2.0, but had very little time. I will try to migrate them to that architecture when we start migrating the components

I know that preact is pretty focused on DOM/browsers

It could help with prerendering

cromefire avatar Feb 17 '19 09:02 cromefire

Let's check it out.

The only thing I ask skeptical about is that if we should undertake the task of rewrite plus reach together.

Preferably I'd want to do re-arch in 3.0 instead

prateekbh avatar Feb 17 '19 15:02 prateekbh

I mean, it not a breaking-change we can do it in 2.1

cromefire avatar Feb 17 '19 15:02 cromefire

Hey.

I throught about suggesting the re-arch to migrate to 3.0, but...to what version of the MDC-Web this project will migrate in 2.0? 0.44? depending on the quantity of the breaking changes we will need to fix, I think it would be useful to already migrate to the adapter interface, which I think should be quite easy to do with the Preact features.

Also, as @cromefire noted, it's not a breaking change: There shouldn't be any user-facing breaking changes, because the adapter is basically internal to the DOM changes of the component...

IMO, my suggestion is: Migrate a few components to experiment, and then decide what todo with the next components. I think the adapter architecture will really help on the long-term, and will avoid a ton of bugs in the future (by using Typescript), and will really help with cool things like pre-rendering and, who knows? better performance. :)

fjorgemota avatar Feb 17 '19 15:02 fjorgemota

Well my only reason to suggest 3.0 was not to block the community from getting 2.0 pmc, may be we should do it in 2.1.0 or something or may be a gradual shift if components one by one

prateekbh avatar Feb 17 '19 15:02 prateekbh

Oh, I see. I wouldn't like to delay or even block the community from getting PMC 2.0, because of this I suggested a gradual shift of components. It shouldn't be that harder according to MDC-Web documentation anyway.

fjorgemota avatar Feb 17 '19 15:02 fjorgemota

Yeah so let's just do them one by one after 2.0

prateekbh avatar Feb 17 '19 16:02 prateekbh

But I would still like to try it on one or two components

cromefire avatar Feb 17 '19 16:02 cromefire

Sure, let's do it

prateekbh avatar Feb 17 '19 18:02 prateekbh