briskml/brisk

Separate Brisk and Brisk.System modules

wokalski opened this issue · 0 comments

I think Brisk renderers (for different platforms/backends) should provide two modules:

  1. Brisk components which share the API and have roughly1 the same look on different platforms. The components on different platforms might have a superset of custom props but in general it should be avoided. The custom props would be used behind CPPO
  2. Brisk.System components which should share the API (if possible) and have a different look on different platforms. Things like Brisk.System.Button on the mac would look like the stock macOS button etc. and like a windows button on windows.

Ideally all renderers, including Revery, would conform to the Brisk component API so that switching between the renderers is very seamless. Only the components from Brisk.System in some cases might need to be used behind CPPO if you want to achieve a different look on different platforms.

1: It might make sense for some components like ScrollView to maintain some platform characteristics even in the Brisk module.