Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bindings of skinview3d #107

Open
g-plane opened this issue Feb 9, 2022 · 21 comments
Open

Bindings of skinview3d #107

g-plane opened this issue Feb 9, 2022 · 21 comments

Comments

@g-plane
Copy link
Member

g-plane commented Feb 9, 2022

I'm going to create some packages which are bindings of skinview3d for some popular front-end frameworks/libraries. These packages will provide components and accept properties then pass them to skinview3d.

Currently these frameworks are considered:

  • React
  • Preact
  • Svelte
  • Vue.js 3

The frameworks below will not be supported:

  • Angular
  • Vue.js 2

Additionally, I'm going to create a special binding which will provide Web Components. This allows users to use it if they don't use any front-end frameworks or they're using unsupported frameworks we mentioned above. (Angular and Vue.js 2 support Web Components.)

I've noticed that @Hacksore has created a package for React: Hacksore/react-skinview3d, but it doesn't provide "many options" to let users control the behavior of skinview3d. Personally, I think it could be reasonable since it keeps simple for those users who don't care too much. But for some advanced users, such as Blessing Skin, it's not enough, so I'm not sure if we need to create another binding (It doesn't mean it will replace @Hacksore 's package.), and I'd like to hear from @Hacksore .

@Hacksore
Copy link
Collaborator

Hacksore commented Feb 9, 2022

@g-plane I wouldn't mind if we move react-skinview3d to this org and give it a more concise and extensible API.

Don't really have much experience with creating ng/Vue libraries though.

@g-plane
Copy link
Member Author

g-plane commented Feb 9, 2022

It can be a breaking change if API of react-skinview3d changed hugely, which may confuse users.

@Hacksore
Copy link
Collaborator

Hacksore commented Feb 9, 2022

I'd say confusion is possible but that's what major versions are for 😅.

@g-plane
Copy link
Member Author

g-plane commented Feb 10, 2022

I may put all binding packages into a monorepo. Do we have a nice way to migrate that?

@Hacksore
Copy link
Collaborator

Not really but you can take the source of mine.

What monorepo tool do you plan on using?

@g-plane
Copy link
Member Author

g-plane commented Feb 14, 2022

Just pnpm, nothing else.

@Hacksore
Copy link
Collaborator

Would it be a good idea to maybe scope these packages like @bs-community/react-skinview3d, @bs-community/vue-skinview3d etc?

Not sure there is an npm org set up for this but something we could here input on from @yushijinhun.

@g-plane
Copy link
Member Author

g-plane commented Feb 15, 2022

I'd like that the npm organization name can be "skinview3d", and they will be "@skinview3d/react" and "@skinview3d/vue", etc.

@so1ve
Copy link
Contributor

so1ve commented Jun 11, 2023

Hi 👋 I have decided to make a vue binding of skinview3d. Please let me know if you want to put it in a monorepo :)

@g-plane
Copy link
Member Author

g-plane commented Jun 11, 2023

Welcome.

@so1ve
Copy link
Contributor

so1ve commented Jun 12, 2023

Here it is: https://github.com/so1ve/vue-skinview3d

@Hacksore
Copy link
Collaborator

Been keeping react-skinview3d updated as well. Initially the wrapper was very opinionated and lacking support for much customization but now you should be able to do almost anything skinview3d can.

I've created the npm organization skinview3d so let's get all the binds created separately then we can merge them into a monrepo.

@g-plane I'd prefer to use turborepo for the monorepo, do you have objections?

Current standing of bindings so far some of which may never happen.

  • react
  • vue
  • preact
  • svelt
  • solidjs
  • angular

@g-plane
Copy link
Member Author

g-plane commented Jun 12, 2023

I prefer Turborepo too.

@so1ve
Copy link
Contributor

so1ve commented Jun 12, 2023

I can create a binding for solid too, but I'd like to work on it after we merge the existing bindings into a monorepo to reduce workload.

@Hacksore
Copy link
Collaborator

Hacksore commented Aug 9, 2023

@g-plane do you want to still continue this or should we close out this issue?

@g-plane
Copy link
Member Author

g-plane commented Aug 10, 2023

I don't have time on working on this, but I think we can keep this open for those interested in it.

@Hacksore
Copy link
Collaborator

Hacksore commented Sep 3, 2023

@g-plane can you create a new repo and we can move this issue to it?

@g-plane
Copy link
Member Author

g-plane commented Sep 4, 2023

I think we can turn this repo into monorepo by using pnpm.

@Hacksore
Copy link
Collaborator

Hacksore commented Sep 4, 2023

@g-plane but I think it's better to keep the source separated from lib bindings.

@g-plane
Copy link
Member Author

g-plane commented Sep 4, 2023

@yushijinhun How do you think?

@Hacksore Hacksore mentioned this issue Jan 10, 2024
@JoCat
Copy link

JoCat commented Jan 10, 2024

In principle, nothing prevents you from leaving the main skinview3d library here and creating a separate mono repository for bindings. By the way, I can also help with this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants