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

SpriteKit port #29

Closed
HarshilShah opened this issue Oct 10, 2017 · 10 comments
Closed

SpriteKit port #29

HarshilShah opened this issue Oct 10, 2017 · 10 comments

Comments

@HarshilShah
Copy link
Contributor

Hi there,

I’ve been using this repo for a while now and am really liking it. You did a really good job with it! I ported it to SpriteKit over the last week, and was about to PR it when I had some thoughts.

The most important change is that it’s written in SpriteKit, which means that users would have to import that framework as well, adding to their app’s binary size. SpriteKit will be way more “expensive”, storage-wise, than this framework, which might be problematic especially given cellular download limits.

Users of a mature framework might not be okay with having to add SpriteKit in order to continue to use new versions, which is why I’m posting this as an issue instead of directly PRing.

I’m happy to open a PR so that the existing implementation can be replaced with my SpriteKit port, or I can upload it as a new project (crediting you as the original creator, of course), depending on whichever way you’d like to go with this.

Please let me know how you’d like to proceed. Thanks for making this!

@adilanchian
Copy link
Contributor

Hey!

This is another user of this library and I just want to say if you could make this happen I would be so happy! With this SpriteKit change it can be used on Apple Watch which would be sick🤘🏼🤘🏼 Let me know if I can help !

@maxkonovalov
Copy link
Owner

Hey guys,

The initial idea for this control was being able to add it as easy as possible, so SpriteKit would bring in a lot of overhead that I didn't want. While working on it I considered OpenGL ES implementation, too, but didn't go for it in favor of the usage simplicity. I wanted it to be a simple drop-in view, didn't even support Cocoapods or Carthage at first 😄

On the other hand, providing different implementations for the end users to be able to choose from would also be great. So what I'd suggest is adding the SpriteKit implementation to the existing and listing it as a subspec. Not sure if it's possible to exclude SK framework from the original spec though, but I think we'll figure it out 😀

@adilanchian did you try the lib on Apple Watch? There were some issues with it I guess, maybe it's possible to work around them with UIKit only?

@HarshilShah
Copy link
Contributor Author

It really doesn’t make sense to me to have both tied together, which is why I didn’t even bring that up. While the output is the same, they are two different projects in terms of the code.

Having both be just different implementations of the same spec needlessly limits the scope of both. You could do so much more if both were not tied to each other and you didn’t have to ensure the any behaviour had to be doable in both to be added.

I can totally respect your desire for the usage simplicity of your implementation, so I think the best way forward is to open source my port as a separate project.

@maxkonovalov
Copy link
Owner

Okay, agreed. Let it be a separate port.

@adilanchian
Copy link
Contributor

Hey @maxkonovalov,

I have not tried this on watchOS yet. I’m currently in the process of localizing Cycles for a couple different languages haha. I’ll open an issue for this when I start that process if someone doesn’t try it out before me. Thanks my dude! Love seeing all the support on this library. It’s so dope 🤘🏼

@HarshilShah
Copy link
Contributor Author

Sorry @adilanchian, missed your post somehow! I haven't used WatchKit at all (don't even have an Apple Watch), so I might need some help once it's out, if you've got the time to spare. Should be open in a couple of days, I'll let you know when it's ready

@adilanchian
Copy link
Contributor

Don’t worry about it! I started my swift journey with Apple Watch so I can definitely make time if you want to try and tag team it? My experience with SpriteKit is very basic :). Thanks!

@HarshilShah
Copy link
Contributor Author

And it's finally ready: https://github.com/HarshilShah/ActivityRings

Lemme know what you folks think!

@maxkonovalov
Copy link
Owner

Hey @HarshilShah!
Really nice implementation! What I like is being able to calculate the gradient using a shader.
What about performance though, does it work well for interactive animations?

@HarshilShah
Copy link
Contributor Author

Thanks!

Still a bit of testing to do, but yeah, the init phase could do with a bit of work

Sent with GitHawk

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

3 participants